Loading...
Searching...
No Matches
Heteroprio Scheduler

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]

## Detailed Description

This is the interface for the heteroprio scheduler.

## Enumeration Type Documentation

## starpu_autoheteroprio_priority_ordering_policy

enum starpu_autoheteroprio_priority_ordering_policy

todo

## Function Documentation

## starpu_heteroprio_set_use_locality()

void starpu_heteroprio_set_use_locality | ( | unsigned | sched_ctx_id,
|  | unsigned | use_locality
| ) |  |

Set if heteroprio should use data locality or not

## starpu_heteroprio_set_nb_prios()

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

## starpu_heteroprio_set_mapping()

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

## starpu_heteroprio_set_faster_arch()

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)

## starpu_heteroprio_set_arch_slow_factor()

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)

## starpu_heteroprio_map_wgroup_memory_nodes()

void starpu_heteroprio_map_wgroup_memory_nodes | ( | unsigned | sched_ctx_id | ) |

One memory node will be one wgroup

## starpu_heteroprio_print_wgroups()

void starpu_heteroprio_print_wgroups | ( | FILE * | stream,
|  | unsigned | sched_ctx_id
| ) |  |

Print the current setup groups