StarPU Internal Handbook
helper_mct.h
Go to the documentation of this file.
1 /* StarPU --- Runtime system for heterogeneous multicore architectures.
2  *
3  * Copyright (C) 2013-2021 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 
20 {
21  double alpha;
22  double beta;
23  double _gamma;
24  double idle_power;
25  starpu_pthread_mutex_t scheduling_mutex;
26 };
27 
28 struct _starpu_mct_data *starpu_mct_init_parameters(struct starpu_sched_component_mct_data *params);
29 
30 unsigned starpu_mct_compute_execution_times(struct starpu_sched_component *component,
31  struct starpu_task *task,
32  double *estimated_lengths,
33  double *estimated_transfer_length,
34  unsigned *suitable_components);
35 
36 
37 void starpu_mct_compute_expected_times(struct starpu_sched_component *component,
38  struct starpu_task *task,
39  double *estimated_lengths,
40  double *estimated_transfer_length,
41  double *estimated_ends_with_task,
42  double *min_exp_end_with_task,
43  double *max_exp_end_with_task,
44  unsigned *suitable_components,
45  unsigned nsuitable_components);
46 
47 double starpu_mct_compute_fitness(struct _starpu_mct_data * d,
48  double exp_end,
49  double min_exp_end,
50  double max_exp_end,
51  double transfer_len,
52  double local_energy);
53 
54 int starpu_mct_get_best_component(struct _starpu_mct_data *d,
55  struct starpu_task *task,
56  double *estimated_lengths,
57  double *estimated_transfer_length,
58  double *estimated_ends_with_task,
59  double min_exp_end_with_task,
60  double max_exp_end_with_task,
61  unsigned *suitable_components,
62  unsigned nsuitable_components);
Definition: helper_mct.h:20