StarPU Handbook - StarPU Extensions
Loading...
Searching...
No Matches
starpu_task_dep.h
Go to the documentation of this file.
1/* StarPU --- Runtime system for heterogeneous multicore architectures.
2 *
3 * Copyright (C) 2009-2023 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#endif
27
47void starpu_task_declare_deps_array(struct starpu_task *task, unsigned ndeps, struct starpu_task *task_array[]);
48
57void starpu_task_declare_deps(struct starpu_task *task, unsigned ndeps, ...);
58
76void starpu_task_declare_end_deps_array(struct starpu_task *task, unsigned ndeps, struct starpu_task *task_array[]);
77
86void starpu_task_declare_end_deps(struct starpu_task *task, unsigned ndeps, ...);
87
99int starpu_task_get_task_succs(struct starpu_task *task, unsigned ndeps, struct starpu_task *task_array[]);
100
107int starpu_task_get_task_scheduled_succs(struct starpu_task *task, unsigned ndeps, struct starpu_task *task_array[]);
108
115void starpu_task_end_dep_add(struct starpu_task *t, int nb_deps);
116
123
134typedef uint64_t starpu_tag_t;
135
160void starpu_tag_declare_deps(starpu_tag_t id, unsigned ndeps, ...);
161
176
189
195int starpu_tag_wait_array(unsigned ntags, starpu_tag_t *id);
196
206
214
228
236
242
245#ifdef __cplusplus
246}
247#endif
248
249#endif /* __STARPU_TASK_DEP_H__ */
Definition starpu_task.h:683
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[])
struct starpu_task * starpu_tag_get_task(starpu_tag_t id)
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:134
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)