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-2021 Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
4 * Copyright (C) 2011 Télécom-SudParis
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 __STARPU_TASK_BUNDLE_H__
19#define __STARPU_TASK_BUNDLE_H__
20
21#ifdef __cplusplus
22 extern "C"
23{
24#endif
25
31 struct starpu_task;
32 struct starpu_perfmodel_arch;
33
40 typedef struct _starpu_task_bundle *starpu_task_bundle_t;
41
46 void starpu_task_bundle_create(starpu_task_bundle_t *bundle);
47
57 int starpu_task_bundle_insert(starpu_task_bundle_t bundle, struct starpu_task *task);
58
67 int starpu_task_bundle_remove(starpu_task_bundle_t bundle, struct starpu_task *task);
68
74 void starpu_task_bundle_close(starpu_task_bundle_t bundle);
75
79 double starpu_task_bundle_expected_length(starpu_task_bundle_t bundle, struct starpu_perfmodel_arch *arch, unsigned nimpl);
80
84 double starpu_task_bundle_expected_data_transfer_time(starpu_task_bundle_t bundle, unsigned memory_node);
85
89 double starpu_task_bundle_expected_energy(starpu_task_bundle_t bundle, struct starpu_perfmodel_arch *arch, unsigned nimpl);
90
93#ifdef __cplusplus
94}
95#endif
96
97#endif /* __STARPU_TASK_BUNDLE_H__ */
starpu_task
Definition: starpu_task.h:567
starpu_perfmodel_arch
Definition: starpu_perfmodel.h:54
starpu_task_bundle_expected_length
double starpu_task_bundle_expected_length(starpu_task_bundle_t bundle, struct starpu_perfmodel_arch *arch, unsigned nimpl)
starpu_task_bundle_expected_energy
double starpu_task_bundle_expected_energy(starpu_task_bundle_t bundle, struct starpu_perfmodel_arch *arch, unsigned nimpl)
starpu_task_bundle_close
void starpu_task_bundle_close(starpu_task_bundle_t bundle)
starpu_task_bundle_t
struct _starpu_task_bundle * starpu_task_bundle_t
Definition: starpu_task_bundle.h:40
starpu_task_bundle_remove
int starpu_task_bundle_remove(starpu_task_bundle_t bundle, struct starpu_task *task)
starpu_task_bundle_create
void starpu_task_bundle_create(starpu_task_bundle_t *bundle)
starpu_task_bundle_insert
int starpu_task_bundle_insert(starpu_task_bundle_t bundle, struct starpu_task *task)
starpu_task_bundle_expected_data_transfer_time
double starpu_task_bundle_expected_data_transfer_time(starpu_task_bundle_t bundle, unsigned memory_node)