StarPU Handbook
starpu_tree.h
Go to the documentation of this file.
1 /* StarPU --- Runtime system for heterogeneous multicore architectures.
2  *
3  * Copyright (C) 2014 Inria
4  * Copyright (C) 2010-2015,2017,2019 CNRS
5  * Copyright (C) 2009-2014,2016 Université de Bordeaux
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_TREE_H__
20 #define __STARPU_TREE_H__
21 
22 #ifdef __cplusplus
23 extern "C"
24 {
25 #endif
26 
34 {
35  struct starpu_tree *nodes;
36  struct starpu_tree *father;
37  int arity;
38  int id;
39  int level;
40  int is_pu;
41 };
42 
43 void starpu_tree_reset_visited(struct starpu_tree *tree, char *visited);
44 
45 void starpu_tree_prepare_children(unsigned arity, struct starpu_tree *father);
46 void starpu_tree_insert(struct starpu_tree *tree, int id, int level, int is_pu, int arity, struct starpu_tree *father);
47 
48 struct starpu_tree *starpu_tree_get(struct starpu_tree *tree, int id);
49 
50 struct starpu_tree *starpu_tree_get_neighbour(struct starpu_tree *tree, struct starpu_tree *node, char *visited, char *present);
51 
52 void starpu_tree_free(struct starpu_tree *tree);
53 
56 #ifdef __cplusplus
57 }
58 #endif
59 
60 #endif /* __STARPU_TREE_H__ */
starpu_tree
Definition: starpu_tree.h:33