StarPU Handbook - StarPU Language Bindings
sc_hypervisor_config.h
Go to the documentation of this file.
1 /* StarPU --- Runtime system for heterogeneous multicore architectures.
2  *
3  * Copyright (C) 2011-2022 Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
4  *
5  * StarPU is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU Lesser General Public License as published by
7  * the Free Software Foundation; either version 2.1 of the License, or (at
8  * your option) any later version.
9  *
10  * StarPU is distributed in the hope that it will be useful, but
11  * WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13  *
14  * See the GNU Lesser General Public License in COPYING.LGPL for more details.
15  */
16 
17 #ifndef SC_HYPERVISOR_CONFIG_H
18 #define SC_HYPERVISOR_CONFIG_H
19 
20 #include <sc_hypervisor.h>
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
38 #define SC_HYPERVISOR_MAX_IDLE -1
39 
40 #define SC_HYPERVISOR_MIN_WORKING -2
41 
49 #define SC_HYPERVISOR_PRIORITY -3
50 
57 #define SC_HYPERVISOR_MIN_WORKERS -4
58 
65 #define SC_HYPERVISOR_MAX_WORKERS -5
66 
75 #define SC_HYPERVISOR_GRANULARITY -6
76 
83 #define SC_HYPERVISOR_FIXED_WORKERS -7
84 
93 #define SC_HYPERVISOR_MIN_TASKS -8
94 
101 #define SC_HYPERVISOR_NEW_WORKERS_MAX_IDLE -9
102 
109 #define SC_HYPERVISOR_TIME_TO_APPLY -10
110 
115 #define SC_HYPERVISOR_NULL -11
116 
122 #define SC_HYPERVISOR_ISPEED_W_SAMPLE -12
123 
129 #define SC_HYPERVISOR_ISPEED_CTX_SAMPLE -13
130 
131 #define SC_HYPERVISOR_TIME_SAMPLE -14
132 
133 #define MAX_IDLE_TIME 5000000000
134 #define MIN_WORKING_TIME 500
135 
140 {
145 
150 
155 
162 
169 
175 
181 
188 
194 
200 
205  double time_sample;
206 };
207 
211 void sc_hypervisor_set_config(unsigned sched_ctx, void *config);
212 
217 
222 void sc_hypervisor_ctl(unsigned sched_ctx, ...);
223 
226 #ifdef __cplusplus
227 }
228 #endif
229 
230 #endif
void sc_hypervisor_ctl(unsigned sched_ctx,...)
void sc_hypervisor_set_config(unsigned sched_ctx, void *config)
struct sc_hypervisor_policy_config * sc_hypervisor_get_config(unsigned sched_ctx)
#define STARPU_NMAXWORKERS
Definition: starpu_config.h:284
double max_idle[STARPU_NMAXWORKERS]
Definition: sc_hypervisor_config.h:168
double time_sample
Definition: sc_hypervisor_config.h:205
double new_workers_max_idle
Definition: sc_hypervisor_config.h:187
double ispeed_ctx_sample
Definition: sc_hypervisor_config.h:199
int priority[STARPU_NMAXWORKERS]
Definition: sc_hypervisor_config.h:161
int granularity
Definition: sc_hypervisor_config.h:154
int max_nworkers
Definition: sc_hypervisor_config.h:149
int min_nworkers
Definition: sc_hypervisor_config.h:144
int fixed_workers[STARPU_NMAXWORKERS]
Definition: sc_hypervisor_config.h:180
double ispeed_w_sample[STARPU_NMAXWORKERS]
Definition: sc_hypervisor_config.h:193
double min_working[STARPU_NMAXWORKERS]
Definition: sc_hypervisor_config.h:174
Definition: sc_hypervisor_config.h:140