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