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
25 extern "C"
26{
27#endif
28
47 void starpu_task_declare_deps_array(struct starpu_task *task, unsigned ndeps, struct starpu_task *task_array[]);
48
56 void starpu_task_declare_deps(struct starpu_task *task, unsigned ndeps, ...);
57
74 void starpu_task_declare_end_deps_array(struct starpu_task *task, unsigned ndeps, struct starpu_task *task_array[]);
75
83 void starpu_task_declare_end_deps(struct starpu_task *task, unsigned ndeps, ...);
84
95 int starpu_task_get_task_succs(struct starpu_task *task, unsigned ndeps, struct starpu_task *task_array[]);
96
102 int starpu_task_get_task_scheduled_succs(struct starpu_task *task, unsigned ndeps, struct starpu_task *task_array[]);
103
109 void starpu_task_end_dep_add(struct starpu_task *t, int nb_deps);
110
115 void starpu_task_end_dep_release(struct starpu_task *t);
116
127 typedef uint64_t starpu_tag_t;
128
151 void starpu_tag_declare_deps(starpu_tag_t id, unsigned ndeps, ...);
152
164 void starpu_tag_declare_deps_array(starpu_tag_t id, unsigned ndeps, starpu_tag_t *array);
165
176 int starpu_tag_wait(starpu_tag_t id);
177
182 int starpu_tag_wait_array(unsigned ntags, starpu_tag_t *id);
183
191 void starpu_tag_restart(starpu_tag_t id);
192
198 void starpu_tag_remove(starpu_tag_t id);
199
211 void starpu_tag_notify_from_apps(starpu_tag_t id);
212
218 void starpu_tag_notify_restart_from_apps(starpu_tag_t id);
219
220 struct starpu_task *starpu_tag_get_task(starpu_tag_t id);
221
224#ifdef __cplusplus
225}
226#endif
227
228#endif /* __STARPU_TASK_DEP_H__ */
starpu_task
Definition: starpu_task.h:567
starpu_task_declare_end_deps
void starpu_task_declare_end_deps(struct starpu_task *task, unsigned ndeps,...)
starpu_task_end_dep_release
void starpu_task_end_dep_release(struct starpu_task *t)
starpu_task_declare_end_deps_array
void starpu_task_declare_end_deps_array(struct starpu_task *task, unsigned ndeps, struct starpu_task *task_array[])
starpu_task_get_task_succs
int starpu_task_get_task_succs(struct starpu_task *task, unsigned ndeps, struct starpu_task *task_array[])
starpu_tag_declare_deps
void starpu_tag_declare_deps(starpu_tag_t id, unsigned ndeps,...)
starpu_tag_notify_restart_from_apps
void starpu_tag_notify_restart_from_apps(starpu_tag_t id)
starpu_tag_declare_deps_array
void starpu_tag_declare_deps_array(starpu_tag_t id, unsigned ndeps, starpu_tag_t *array)
starpu_task_end_dep_add
void starpu_task_end_dep_add(struct starpu_task *t, int nb_deps)
starpu_tag_notify_from_apps
void starpu_tag_notify_from_apps(starpu_tag_t id)
starpu_tag_t
uint64_t starpu_tag_t
Definition: starpu_task_dep.h:127
starpu_task_declare_deps
void starpu_task_declare_deps(struct starpu_task *task, unsigned ndeps,...)
starpu_task_declare_deps_array
void starpu_task_declare_deps_array(struct starpu_task *task, unsigned ndeps, struct starpu_task *task_array[])
starpu_tag_remove
void starpu_tag_remove(starpu_tag_t id)
starpu_task_get_task_scheduled_succs
int starpu_task_get_task_scheduled_succs(struct starpu_task *task, unsigned ndeps, struct starpu_task *task_array[])
starpu_tag_restart
void starpu_tag_restart(starpu_tag_t id)
starpu_tag_wait
int starpu_tag_wait(starpu_tag_t id)
starpu_tag_wait_array
int starpu_tag_wait_array(unsigned ntags, starpu_tag_t *id)
starpu.h