OpenMPI  0.1.1
coll_tuned_topo.h
1 /*
2  * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
3  * University Research and Technology
4  * Corporation. All rights reserved.
5  * Copyright (c) 2004-2012 The University of Tennessee and The University
6  * of Tennessee Research Foundation. All rights
7  * reserved.
8  * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
9  * University of Stuttgart. All rights reserved.
10  * Copyright (c) 2004-2005 The Regents of the University of California.
11  * All rights reserved.
12  * $COPYRIGHT$
13  *
14  * Additional copyrights may follow
15  *
16  * $HEADER$
17  */
18 
19 #ifndef MCA_COLL_TUNED_TOPO_H_HAS_BEEN_INCLUDED
20 #define MCA_COLL_TUNED_TOPO_H_HAS_BEEN_INCLUDED
21 
22 #include "ompi_config.h"
23 
24 #define MAXTREEFANOUT 32
25 
26 BEGIN_C_DECLS
27 
28 typedef struct ompi_coll_tree_t {
29  int32_t tree_root;
30  int32_t tree_fanout;
31  int32_t tree_bmtree;
32  int32_t tree_prev;
33  int32_t tree_next[MAXTREEFANOUT];
34  int32_t tree_nextsize;
36 
38 ompi_coll_tuned_topo_build_tree( int fanout,
39  struct ompi_communicator_t* com,
40  int root );
42 ompi_coll_tuned_topo_build_in_order_bintree( struct ompi_communicator_t* comm );
43 
45 ompi_coll_tuned_topo_build_bmtree( struct ompi_communicator_t* comm,
46  int root );
48 ompi_coll_tuned_topo_build_in_order_bmtree( struct ompi_communicator_t* comm,
49  int root );
51 ompi_coll_tuned_topo_build_chain( int fanout,
52  struct ompi_communicator_t* com,
53  int root );
54 
55 int ompi_coll_tuned_topo_destroy_tree( ompi_coll_tree_t** tree );
56 
57 /* debugging stuff, will be removed later */
58 int ompi_coll_tuned_topo_dump_tree (ompi_coll_tree_t* tree, int rank);
59 
60 END_C_DECLS
61 
62 #endif /* MCA_COLL_TUNED_TOPO_H_HAS_BEEN_INCLUDED */
63 
Definition: coll_tuned_topo.h:28
Definition: communicator.h:118