StarPU Handbook
sc_hypervisor_config.h
Go to the documentation of this file.
1 /* StarPU --- Runtime system for heterogeneous multicore architectures.
2  *
3  * Copyright (C) 2011,2013 Inria
4  * Copyright (C) 2013,2017,2019 CNRS
5  *
6  * StarPU is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU Lesser General Public License as published by
8  * the Free Software Foundation; either version 2.1 of the License, or (at
9  * your option) any later version.
10  *
11  * StarPU is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14  *
15  * See the GNU Lesser General Public License in COPYING.LGPL for more details.
16  */
17 
18 #ifndef SC_HYPERVISOR_CONFIG_H
19 #define SC_HYPERVISOR_CONFIG_H
20 
21 #include <sc_hypervisor.h>
22 
23 #ifdef __cplusplus
24 extern "C"
25 {
26 #endif
27 
40 #define SC_HYPERVISOR_MAX_IDLE -1
41 
42 #define SC_HYPERVISOR_MIN_WORKING -2
43 
51 #define SC_HYPERVISOR_PRIORITY -3
52 
59 #define SC_HYPERVISOR_MIN_WORKERS -4
60 
67 #define SC_HYPERVISOR_MAX_WORKERS -5
68 
77 #define SC_HYPERVISOR_GRANULARITY -6
78 
85 #define SC_HYPERVISOR_FIXED_WORKERS -7
86 
95 #define SC_HYPERVISOR_MIN_TASKS -8
96 
103 #define SC_HYPERVISOR_NEW_WORKERS_MAX_IDLE -9
104 
111 #define SC_HYPERVISOR_TIME_TO_APPLY -10
112 
117 #define SC_HYPERVISOR_NULL -11
118 
124 #define SC_HYPERVISOR_ISPEED_W_SAMPLE -12
125 
131 #define SC_HYPERVISOR_ISPEED_CTX_SAMPLE -13
132 
133 #define SC_HYPERVISOR_TIME_SAMPLE -14
134 
135 #define MAX_IDLE_TIME 5000000000
136 #define MIN_WORKING_TIME 500
137 
142 {
147 
152 
157 
164 
171 
177 
183 
190 
196 
202 
207  double time_sample;
208 };
209 
213 void sc_hypervisor_set_config(unsigned sched_ctx, void *config);
214 
218 struct sc_hypervisor_policy_config *sc_hypervisor_get_config(unsigned sched_ctx);
219 
224 void sc_hypervisor_ctl(unsigned sched_ctx, ...);
225 
228 #ifdef __cplusplus
229 }
230 #endif
231 
232 #endif
sc_hypervisor.h
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)
sc_hypervisor_policy_config::max_idle
double max_idle[STARPU_NMAXWORKERS]
Definition: sc_hypervisor_config.h:170
sc_hypervisor_policy_config::max_nworkers
int max_nworkers
Definition: sc_hypervisor_config.h:151
sc_hypervisor_ctl
void sc_hypervisor_ctl(unsigned sched_ctx,...)
STARPU_NMAXWORKERS
#define STARPU_NMAXWORKERS
Definition: starpu_config.h:115
sc_hypervisor_policy_config::min_working
double min_working[STARPU_NMAXWORKERS]
Definition: sc_hypervisor_config.h:176
sc_hypervisor_policy_config::fixed_workers
int fixed_workers[STARPU_NMAXWORKERS]
Definition: sc_hypervisor_config.h:182
sc_hypervisor_policy_config::ispeed_ctx_sample
double ispeed_ctx_sample
Definition: sc_hypervisor_config.h:201
sc_hypervisor_policy_config::min_nworkers
int min_nworkers
Definition: sc_hypervisor_config.h:146
sc_hypervisor_policy_config::ispeed_w_sample
double ispeed_w_sample[STARPU_NMAXWORKERS]
Definition: sc_hypervisor_config.h:195
sc_hypervisor_policy_config::time_sample
double time_sample
Definition: sc_hypervisor_config.h:207
sc_hypervisor_policy_config::new_workers_max_idle
double new_workers_max_idle
Definition: sc_hypervisor_config.h:189
sc_hypervisor_policy_config::priority
int priority[STARPU_NMAXWORKERS]
Definition: sc_hypervisor_config.h:163
sc_hypervisor_policy_config::granularity
int granularity
Definition: sc_hypervisor_config.h:156
sc_hypervisor_policy_config
Definition: sc_hypervisor_config.h:141