StarPU Handbook
|
Functions | |
unsigned | starpu_combined_worker_get_count (void) |
unsigned | starpu_worker_is_combined_worker (int id) |
int | starpu_combined_worker_get_id (void) |
int | starpu_combined_worker_get_size (void) |
int | starpu_combined_worker_get_rank (void) |
int | starpu_combined_worker_assign_workerid (int nworkers, int workerid_array[]) |
int | starpu_combined_worker_get_description (int workerid, int *worker_size, int **combined_workerid) |
int | starpu_combined_worker_can_execute_task (unsigned workerid, struct starpu_task *task, unsigned nimpl) |
void | starpu_parallel_task_barrier_init (struct starpu_task *task, int workerid) |
void | starpu_parallel_task_barrier_init_n (struct starpu_task *task, int worker_size) |
unsigned starpu_combined_worker_get_count | ( | void | ) |
Return the number of different combined workers.
int starpu_combined_worker_get_id | ( | void | ) |
Return the identifier of the current combined worker.
int starpu_combined_worker_get_size | ( | void | ) |
Return the size of the current combined worker, i.e. the total number of CPUS running the same task in the case of STARPU_SPMD parallel tasks, or the total number of threads that the task is allowed to start in the case of STARPU_FORKJOIN parallel tasks.
int starpu_combined_worker_get_rank | ( | void | ) |
Return the rank of the current thread within the combined worker. Can only be used in STARPU_SPMD parallel tasks, to know which part of the task to work on.
int starpu_combined_worker_assign_workerid | ( | int | nworkers, |
int | workerid_array[] | ||
) |
Register a new combined worker and get its identifier
int starpu_combined_worker_get_description | ( | int | workerid, |
int * | worker_size, | ||
int ** | combined_workerid | ||
) |
Get the description of a combined worker
int starpu_combined_worker_can_execute_task | ( | unsigned | workerid, |
struct starpu_task * | task, | ||
unsigned | nimpl | ||
) |
Variant of starpu_worker_can_execute_task() compatible with combined workers
void starpu_parallel_task_barrier_init | ( | struct starpu_task * | task, |
int | workerid | ||
) |
Initialise the barrier for the parallel task, and dispatch the task between the different workers of the given combined worker.
void starpu_parallel_task_barrier_init_n | ( | struct starpu_task * | task, |
int | worker_size | ||
) |
Initialise the barrier for the parallel task, to be pushed to worker_size
workers (without having to explicit a given combined worker).