StarPU Handbook
starpu_task_bundle.h
Go to the documentation of this file.
1 /* StarPU --- Runtime system for heterogeneous multicore architectures.
2  *
3  * Copyright (C) 2010,2011,2014 Université de Bordeaux
4  * Copyright (C) 2011,2012 Inria
5  * Copyright (C) 2011-2013,2015,2017,2019 CNRS
6  * Copyright (C) 2011 Télécom-SudParis
7  *
8  * StarPU is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU Lesser General Public License as published by
10  * the Free Software Foundation; either version 2.1 of the License, or (at
11  * your option) any later version.
12  *
13  * StarPU is distributed in the hope that it will be useful, but
14  * WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16  *
17  * See the GNU Lesser General Public License in COPYING.LGPL for more details.
18  */
19 
20 #ifndef __STARPU_TASK_BUNDLE_H__
21 #define __STARPU_TASK_BUNDLE_H__
22 
23 #ifdef __cplusplus
24 extern "C"
25 {
26 #endif
27 
33 struct starpu_task;
35 
42 typedef struct _starpu_task_bundle *starpu_task_bundle_t;
43 
48 void starpu_task_bundle_create(starpu_task_bundle_t *bundle);
49 
59 int starpu_task_bundle_insert(starpu_task_bundle_t bundle, struct starpu_task *task);
60 
69 int starpu_task_bundle_remove(starpu_task_bundle_t bundle, struct starpu_task *task);
70 
76 void starpu_task_bundle_close(starpu_task_bundle_t bundle);
77 
81 double starpu_task_bundle_expected_length(starpu_task_bundle_t bundle, struct starpu_perfmodel_arch *arch, unsigned nimpl);
82 
86 double starpu_task_bundle_expected_data_transfer_time(starpu_task_bundle_t bundle, unsigned memory_node);
87 
91 double starpu_task_bundle_expected_energy(starpu_task_bundle_t bundle, struct starpu_perfmodel_arch *arch, unsigned nimpl);
92 
95 #ifdef __cplusplus
96 }
97 #endif
98 
99 #endif /* __STARPU_TASK_BUNDLE_H__ */
double starpu_task_bundle_expected_data_transfer_time(starpu_task_bundle_t bundle, unsigned memory_node)
void starpu_task_bundle_close(starpu_task_bundle_t bundle)
int starpu_task_bundle_remove(starpu_task_bundle_t bundle, struct starpu_task *task)
struct _starpu_task_bundle * starpu_task_bundle_t
Definition: starpu_task_bundle.h:42
void starpu_task_bundle_create(starpu_task_bundle_t *bundle)
double starpu_task_bundle_expected_length(starpu_task_bundle_t bundle, struct starpu_perfmodel_arch *arch, unsigned nimpl)
Definition: starpu_task.h:548
Definition: starpu_perfmodel.h:55
int starpu_task_bundle_insert(starpu_task_bundle_t bundle, struct starpu_task *task)
double starpu_task_bundle_expected_energy(starpu_task_bundle_t bundle, struct starpu_perfmodel_arch *arch, unsigned nimpl)