Loading...
Searching...
No Matches
sc_hypervisor.h File Reference
`#include <starpu.h>`
`#include <starpu_sched_ctx_hypervisor.h>`
`#include <sc_hypervisor_config.h>`
`#include <sc_hypervisor_monitoring.h>`
`#include <math.h>`

Go to the source code of this file.

## Data Structures

struct | sc_hypervisor_policy

## Functions

void * | sc_hypervisor_init (struct sc_hypervisor_policy *policy)
void | sc_hypervisor_shutdown (void)
void | sc_hypervisor_register_ctx (unsigned sched_ctx, double total_flops)
void | sc_hypervisor_unregister_ctx (unsigned sched_ctx)
void | sc_hypervisor_post_resize_request (unsigned sched_ctx, int task_tag)
void | sc_hypervisor_resize_ctxs (unsigned *sched_ctxs, int nsched_ctxs, int *workers, int nworkers)
void | sc_hypervisor_stop_resize (unsigned sched_ctx)
void | sc_hypervisor_start_resize (unsigned sched_ctx)
const char * | sc_hypervisor_get_policy ()
void | sc_hypervisor_add_workers_to_sched_ctx (int *workers_to_add, unsigned nworkers_to_add, unsigned sched_ctx)
void | sc_hypervisor_remove_workers_from_sched_ctx (int *workers_to_remove, unsigned nworkers_to_remove, unsigned sched_ctx, unsigned now)
void | sc_hypervisor_move_workers (unsigned sender_sched_ctx, unsigned receiver_sched_ctx, int *workers_to_move, unsigned nworkers_to_move, unsigned now)
void | sc_hypervisor_size_ctxs (unsigned *sched_ctxs, int nsched_ctxs, int *workers, int nworkers)
unsigned | sc_hypervisor_get_size_req (unsigned **sched_ctxs, int *nsched_ctxs, int **workers, int *nworkers)
void | sc_hypervisor_save_size_req (unsigned *sched_ctxs, int nsched_ctxs, int *workers, int nworkers)
void | sc_hypervisor_free_size_req (void)
unsigned | sc_hypervisor_can_resize (unsigned sched_ctx)
void | sc_hypervisor_set_type_of_task (struct starpu_codelet *cl, unsigned sched_ctx, uint32_t footprint, size_t data_size)
void | sc_hypervisor_update_diff_total_flops (unsigned sched_ctx, double diff_total_flops)
void | sc_hypervisor_update_diff_elapsed_flops (unsigned sched_ctx, double diff_task_flops)
void | sc_hypervisor_update_resize_interval (unsigned *sched_ctxs, int nsched_ctxs, int max_nworkers)
void | sc_hypervisor_get_ctxs_on_level (unsigned **sched_ctxs, int *nsched_ctxs, unsigned hierarchy_level, unsigned father_sched_ctx_id)
unsigned | sc_hypervisor_get_nhierarchy_levels (void)
void | sc_hypervisor_get_leaves (unsigned *sched_ctxs, int nsched_ctxs, unsigned *leaves, int *nleaves)
double | sc_hypervisor_get_nready_flops_of_all_sons_of_sched_ctx (unsigned sched_ctx)
void | sc_hypervisor_print_overhead ()
void | sc_hypervisor_init_worker (int workerid, unsigned sched_ctx)

## Variables

starpu_pthread_mutex_t | act_hypervisor_mutex