Loading...
Searching...
No Matches
sc_hypervisor_config.h
Go to the documentation of this file.
/* StarPU --- Runtime system for heterogeneous multicore architectures.
*
* Copyright (C) 2011-2021 Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
*
* StarPU is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 2.1 of the License, or (at
* your option) any later version.
*
* StarPU is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
* See the GNU Lesser General Public License in COPYING.LGPL for more details.
*/
#ifndef SC_HYPERVISOR_CONFIG_H
#define SC_HYPERVISOR_CONFIG_H
#include <sc_hypervisor.h>
#ifdef __cplusplus
extern "C"
{
#endif
#define SC_HYPERVISOR_MAX_IDLE -1
#define SC_HYPERVISOR_MIN_WORKING -2
#define SC_HYPERVISOR_PRIORITY -3
#define SC_HYPERVISOR_MIN_WORKERS -4
#define SC_HYPERVISOR_MAX_WORKERS -5
#define SC_HYPERVISOR_GRANULARITY -6
#define SC_HYPERVISOR_FIXED_WORKERS -7
#define SC_HYPERVISOR_MIN_TASKS -8
#define SC_HYPERVISOR_NEW_WORKERS_MAX_IDLE -9
#define SC_HYPERVISOR_TIME_TO_APPLY -10
#define SC_HYPERVISOR_NULL -11
#define SC_HYPERVISOR_ISPEED_W_SAMPLE -12
#define SC_HYPERVISOR_ISPEED_CTX_SAMPLE -13
#define SC_HYPERVISOR_TIME_SAMPLE -14
#define MAX_IDLE_TIME 5000000000
#define MIN_WORKING_TIME 500
struct sc_hypervisor_policy_config
{
int min_nworkers;
int max_nworkers;
int granularity;
int priority[STARPU_NMAXWORKERS];
double max_idle[STARPU_NMAXWORKERS];
double min_working[STARPU_NMAXWORKERS];
int fixed_workers[STARPU_NMAXWORKERS];
double new_workers_max_idle;
double ispeed_w_sample[STARPU_NMAXWORKERS];
double ispeed_ctx_sample;
double time_sample;
};
void sc_hypervisor_set_config(unsigned sched_ctx, void *config);
struct sc_hypervisor_policy_config *sc_hypervisor_get_config(unsigned sched_ctx);
void sc_hypervisor_ctl(unsigned sched_ctx, ...);
#ifdef __cplusplus
}
#endif
#endif
sc_hypervisor_ctl
void sc_hypervisor_ctl(unsigned sched_ctx,...)
sc_hypervisor_set_config
void sc_hypervisor_set_config(unsigned sched_ctx, void *config)
sc_hypervisor_get_config
struct sc_hypervisor_policy_config * sc_hypervisor_get_config(unsigned sched_ctx)
STARPU_NMAXWORKERS
#define STARPU_NMAXWORKERS
Definition starpu_config.h:236
sc_hypervisor.h
sc_hypervisor_policy_config::max_idle
double max_idle[STARPU_NMAXWORKERS]
Definition sc_hypervisor_config.h:169
sc_hypervisor_policy_config::time_sample
double time_sample
Definition sc_hypervisor_config.h:206
sc_hypervisor_policy_config::new_workers_max_idle
double new_workers_max_idle
Definition sc_hypervisor_config.h:188
sc_hypervisor_policy_config::ispeed_ctx_sample
double ispeed_ctx_sample
Definition sc_hypervisor_config.h:200
sc_hypervisor_policy_config::priority
int priority[STARPU_NMAXWORKERS]
Definition sc_hypervisor_config.h:162
sc_hypervisor_policy_config::granularity
int granularity
Definition sc_hypervisor_config.h:155
sc_hypervisor_policy_config::max_nworkers
int max_nworkers
Definition sc_hypervisor_config.h:150
sc_hypervisor_policy_config::min_nworkers
int min_nworkers
Definition sc_hypervisor_config.h:145
sc_hypervisor_policy_config::fixed_workers
int fixed_workers[STARPU_NMAXWORKERS]
Definition sc_hypervisor_config.h:181
sc_hypervisor_policy_config::ispeed_w_sample
double ispeed_w_sample[STARPU_NMAXWORKERS]
Definition sc_hypervisor_config.h:194
sc_hypervisor_policy_config::min_working
double min_working[STARPU_NMAXWORKERS]
Definition sc_hypervisor_config.h:175
sc_hypervisor_policy_config
Definition sc_hypervisor_config.h:141