19 #ifndef SC_HYPERVISOR_POLICY_H 20 #define SC_HYPERVISOR_POLICY_H 30 #define HYPERVISOR_REDIM_SAMPLE 0.02 31 #define HYPERVISOR_START_REDIM_SAMPLE 0.1 63 void sc_hypervisor_get_tasks_times(
int nw,
int nt,
double times[nw][nt],
int *workers,
unsigned size_ctxs,
struct sc_hypervisor_policy_task_pool *task_pools);
66 unsigned sc_hypervisor_find_lowest_prio_sched_ctx(
unsigned req_sched_ctx,
int nworkers_to_move);
69 int* sc_hypervisor_get_idlest_workers(
unsigned sched_ctx,
int *nworkers,
enum starpu_worker_archtype arch);
72 int* sc_hypervisor_get_idlest_workers_in_list(
int *start,
int *workers,
int nall_workers,
int *nworkers,
enum starpu_worker_archtype arch);
78 int sc_hypervisor_compute_nworkers_to_move(
unsigned req_sched_ctx);
81 unsigned sc_hypervisor_policy_resize(
unsigned sender_sched_ctx,
unsigned receiver_sched_ctx,
unsigned force_resize,
unsigned now);
84 unsigned sc_hypervisor_policy_resize_to_unknown_receiver(
unsigned sender_sched_ctx,
unsigned now);
90 double sc_hypervisor_get_slowest_ctx_exec_time(
void);
93 double sc_hypervisor_get_fastest_ctx_exec_time(
void);
111 void sc_hypervisor_group_workers_by_type(
struct types_of_workers *tw,
int *total_nw);
120 unsigned sc_hypervisor_criteria_fulfilled(
unsigned sched_ctx,
int worker);
123 unsigned sc_hypervisor_check_idle(
unsigned sched_ctx,
int worker);
126 unsigned sc_hypervisor_check_speed_gap_btw_ctxs(
unsigned *sched_ctxs,
int nsched_ctxs,
int *workers,
int nworkers);
129 unsigned sc_hypervisor_check_speed_gap_btw_ctxs_on_level(
int level,
int *workers_in,
int nworkers_in,
unsigned father_sched_ctx_id,
unsigned **sched_ctxs,
int *nsched_ctxs);
132 unsigned sc_hypervisor_get_resize_criteria();
135 struct types_of_workers* sc_hypervisor_get_types_of_workers(
int *workers,
unsigned nworkers);
struct sc_hypervisor_policy_task_pool * next
Definition: sc_hypervisor_policy.h:50
Definition: starpu_task.h:89
Definition: sc_hypervisor_monitoring.h:43
size_t data_size
Definition: sc_hypervisor_policy.h:49
Definition: sc_hypervisor_policy.h:43
starpu_worker_archtype
Definition: starpu_worker.h:31
unsigned sched_ctx_id
Definition: sc_hypervisor_policy.h:47
unsigned long n
Definition: sc_hypervisor_policy.h:48
Definition: starpu_task.h:129
struct starpu_codelet * cl
Definition: sc_hypervisor_policy.h:45
Definition: sc_hypervisor_policy.h:36
uint32_t footprint
Definition: sc_hypervisor_policy.h:46
Definition: sc_hypervisor_config.h:48