StarPU Handbook - StarPU Introduction
|
This is the interface for the heteroprio scheduler. More...
Macros | |
#define | STARPU_HETEROPRIO_MAX_PREFETCH |
#define | STARPU_AUTOHETEROPRIO_PRIORITY_ORDERING_POLICY_COUNT |
Enumerations | |
enum | starpu_autoheteroprio_priority_ordering_policy { STARPU_HETEROPRIO_NOD_TIME_COMBINATION , STARPU_HETEROPRIO_BEST_NODS_SCORE , STARPU_HETEROPRIO_BEST_NODS , STARPU_HETEROPRIO_URT_PURE , STARPU_HETEROPRIO_URT , STARPU_HETEROPRIO_URT_2 , STARPU_HETEROPRIO_URT_DOT_DIFF_PURE , STARPU_HETEROPRIO_URT_DOT_DIFF_PURE_2 , STARPU_HETEROPRIO_URT_DOT_REL_DIFF_PURE , STARPU_HETEROPRIO_URT_DOT_REL_DIFF_PURE_2 , STARPU_HETEROPRIO_URT_DOT_DIFF_2 , STARPU_HETEROPRIO_URT_DOT_DIFF_3 , STARPU_HETEROPRIO_URT_DOT_DIFF_4 , STARPU_HETEROPRIO_URT_DOT_DIFF_5 , STARPU_HETEROPRIO_URT_DOT_DIFF_6 , STARPU_HETEROPRIO_URT_DOT_DIFF_7 , STARPU_HETEROPRIO_URT_DOT_DIFF_8 , STARPU_HETEROPRIO_URT_DOT_DIFF_9 , STARPU_HETEROPRIO_URT_DOT_DIFF_10 , STARPU_HETEROPRIO_URT_DOT_DIFF_11 , STARPU_HETEROPRIO_URTS_PER_SECONDS , STARPU_HETEROPRIO_URTS_PER_SECONDS_2 , STARPU_HETEROPRIO_URTS_PER_SECONDS_DIFF , STARPU_HETEROPRIO_URTS_TIME_RELEASED_DIFF , STARPU_HETEROPRIO_URTS_TIME_COMBINATION , STARPU_HETEROPRIO_NODS_PER_SECOND , STARPU_HETEROPRIO_NODS_TIME_RELEASED , STARPU_HETEROPRIO_NODS_TIME_RELEASED_DIFF } |
Functions | |
void | starpu_heteroprio_set_use_locality (unsigned sched_ctx_id, unsigned use_locality) |
void | starpu_heteroprio_set_nb_prios (unsigned sched_ctx_id, enum starpu_worker_archtype arch, unsigned max_prio) |
void | starpu_heteroprio_set_mapping (unsigned sched_ctx_id, enum starpu_worker_archtype arch, unsigned source_prio, unsigned dest_bucket_id) |
void | starpu_heteroprio_set_faster_arch (unsigned sched_ctx_id, enum starpu_worker_archtype arch, unsigned bucket_id) |
void | starpu_heteroprio_set_arch_slow_factor (unsigned sched_ctx_id, enum starpu_worker_archtype arch, unsigned bucket_id, float slow_factor) |
void | starpu_heteroprio_map_wgroup_memory_nodes (unsigned sched_ctx_id) |
void | starpu_heteroprio_print_wgroups (FILE *stream, unsigned sched_ctx_id) |
Variables | |
static const char | starpu_autoheteroprio_priority_ordering_policy_names [STARPU_AUTOHETEROPRIO_PRIORITY_ORDERING_POLICY_COUNT][64] |
This is the interface for the heteroprio scheduler.
void starpu_heteroprio_set_use_locality | ( | unsigned | sched_ctx_id, |
unsigned | use_locality | ||
) |
Set if heteroprio should use data locality or not
void starpu_heteroprio_set_nb_prios | ( | unsigned | sched_ctx_id, |
enum starpu_worker_archtype | arch, | ||
unsigned | max_prio | ||
) |
Tell how many prio there are for a given arch
void starpu_heteroprio_set_mapping | ( | unsigned | sched_ctx_id, |
enum starpu_worker_archtype | arch, | ||
unsigned | source_prio, | ||
unsigned | dest_bucket_id | ||
) |
Set the mapping for a given arch prio=>bucket
void starpu_heteroprio_set_faster_arch | ( | unsigned | sched_ctx_id, |
enum starpu_worker_archtype | arch, | ||
unsigned | bucket_id | ||
) |
Tell which arch is the faster for the tasks of a bucket (optional)
void starpu_heteroprio_set_arch_slow_factor | ( | unsigned | sched_ctx_id, |
enum starpu_worker_archtype | arch, | ||
unsigned | bucket_id, | ||
float | slow_factor | ||
) |
Tell how slow is a arch for the tasks of a bucket (optional)
void starpu_heteroprio_map_wgroup_memory_nodes | ( | unsigned | sched_ctx_id | ) |
One memory node will be one wgroup
void starpu_heteroprio_print_wgroups | ( | FILE * | stream, |
unsigned | sched_ctx_id | ||
) |
Print the current setup groups