StarPU Handbook
starpu_task_dep.h
Go to the documentation of this file.
1/* StarPU --- Runtime system for heterogeneous multicore architectures.
2 *
3 * Copyright (C) 2009-2021 Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
4 * Copyright (C) 2011 Télécom-SudParis
5 * Copyright (C) 2016 Uppsala University
6 *
7 * StarPU is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU Lesser General Public License as published by
9 * the Free Software Foundation; either version 2.1 of the License, or (at
10 * your option) any later version.
11 *
12 * StarPU is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15 *
16 * See the GNU Lesser General Public License in COPYING.LGPL for more details.
17 */
18
19#ifndef __STARPU_TASK_DEP_H__
20#define __STARPU_TASK_DEP_H__
21
22#include <starpu.h>
23
24#ifdef __cplusplus
25extern "C"
26{
27#endif
28
47void starpu_task_declare_deps_array(struct starpu_task *task, unsigned ndeps, struct starpu_task *task_array[]);
48
56void starpu_task_declare_deps(struct starpu_task *task, unsigned ndeps, ...);
57
74void starpu_task_declare_end_deps_array(struct starpu_task *task, unsigned ndeps, struct starpu_task *task_array[]);
75
83void starpu_task_declare_end_deps(struct starpu_task *task, unsigned ndeps, ...);
84
95int starpu_task_get_task_succs(struct starpu_task *task, unsigned ndeps, struct starpu_task *task_array[]);
96
102int starpu_task_get_task_scheduled_succs(struct starpu_task *task, unsigned ndeps, struct starpu_task *task_array[]);
103
109void starpu_task_end_dep_add(struct starpu_task *t, int nb_deps);
110
116
127typedef uint64_t starpu_tag_t;
128
151void starpu_tag_declare_deps(starpu_tag_t id, unsigned ndeps, ...);
152
165
177
182int starpu_tag_wait_array(unsigned ntags, starpu_tag_t *id);
183
192
199
212
219
220struct starpu_task *starpu_tag_get_task(starpu_tag_t id);
221
224#ifdef __cplusplus
225}
226#endif
227
228#endif /* __STARPU_TASK_DEP_H__ */
Definition: starpu_task.h:567
void starpu_task_declare_end_deps(struct starpu_task *task, unsigned ndeps,...)
void starpu_task_end_dep_release(struct starpu_task *t)
void starpu_task_declare_end_deps_array(struct starpu_task *task, unsigned ndeps, struct starpu_task *task_array[])
int starpu_task_get_task_succs(struct starpu_task *task, unsigned ndeps, struct starpu_task *task_array[])
void starpu_tag_declare_deps(starpu_tag_t id, unsigned ndeps,...)
void starpu_tag_notify_restart_from_apps(starpu_tag_t id)
void starpu_tag_declare_deps_array(starpu_tag_t id, unsigned ndeps, starpu_tag_t *array)
void starpu_task_end_dep_add(struct starpu_task *t, int nb_deps)
void starpu_tag_notify_from_apps(starpu_tag_t id)
uint64_t starpu_tag_t
Definition: starpu_task_dep.h:127
void starpu_task_declare_deps(struct starpu_task *task, unsigned ndeps,...)
void starpu_task_declare_deps_array(struct starpu_task *task, unsigned ndeps, struct starpu_task *task_array[])
void starpu_tag_remove(starpu_tag_t id)
int starpu_task_get_task_scheduled_succs(struct starpu_task *task, unsigned ndeps, struct starpu_task *task_array[])
void starpu_tag_restart(starpu_tag_t id)
int starpu_tag_wait(starpu_tag_t id)
int starpu_tag_wait_array(unsigned ntags, starpu_tag_t *id)