StarPU Handbook
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