|
StarPU Internal Handbook
|
#include <common/list.h>Go to the source code of this file.
Data Structures | |
| struct | _starpu_graph_node |
Functions | |
| void | _starpu_graph_init (void) |
| void | _starpu_graph_wrlock (void) |
| void | _starpu_graph_rdlock (void) |
| void | _starpu_graph_wrunlock (void) |
| void | _starpu_graph_rdunlock (void) |
| void | _starpu_graph_add_job (struct _starpu_job *job) |
| void | _starpu_graph_add_job_dep (struct _starpu_job *job, struct _starpu_job *prev_job) |
| void | _starpu_graph_drop_job (struct _starpu_job *job) |
| void | _starpu_graph_drop_dropped_nodes (void) |
| void | _starpu_graph_compute_depths (void) |
| void | _starpu_graph_compute_descendants (void) |
| void | _starpu_graph_foreach (void(*func)(void *data, struct _starpu_graph_node *node), void *data) |
Variables | |
| int | _starpu_graph_record |
| struct _starpu_graph_node |
| Data Fields | ||
|---|---|---|
| starpu_pthread_mutex_t | mutex | |
| struct _starpu_job * | job | |
| struct _starpu_graph_node_multilist_top | top |
Fields for graph analysis for scheduling heuristics Member of list of all jobs without incoming dependency |
| struct _starpu_graph_node_multilist_bottom | bottom |
Member of list of all jobs without outgoing dependency |
| struct _starpu_graph_node_multilist_all | all |
Member of list of all jobs |
| struct _starpu_graph_node_multilist_dropped | dropped |
Member of list of dropped jobs |
| struct _starpu_graph_node ** | incoming |
set of incoming dependencies |
| unsigned * | incoming_slot | |
| unsigned | n_incoming | |
| unsigned | alloc_incoming | |
| struct _starpu_graph_node ** | outgoing |
set of outgoing dependencies |
| unsigned * | outgoing_slot | |
| unsigned | n_outgoing | |
| unsigned | alloc_outgoing | |
| unsigned | depth | |
| unsigned | descendants | |
| int | graph_n | |
| void _starpu_graph_add_job | ( | struct _starpu_job * | job | ) |
Add a job to the graph, called before any _starpu_graph_add_job_dep call
| void _starpu_graph_add_job_dep | ( | struct _starpu_job * | job, |
| struct _starpu_job * | prev_job | ||
| ) |
Add a dependency between jobs
| void _starpu_graph_drop_job | ( | struct _starpu_job * | job | ) |
Remove a job from the graph
| void _starpu_graph_drop_dropped_nodes | ( | void | ) |
Really drop the nodes from the graph now
| void _starpu_graph_compute_depths | ( | void | ) |
This make StarPU compute for each task the depth, i.e. the length of the longest path to a task without outgoing dependencies. This does not take job duration into account, just the number
| void _starpu_graph_compute_descendants | ( | void | ) |
Compute the descendants of jobs in the graph
| void _starpu_graph_foreach | ( | void(*)(void *data, struct _starpu_graph_node *node) | func, |
| void * | data | ||
| ) |
This calls func for each node of the task graph, passing also data as it Apply func on each job of the graph