OpenMPI  0.1.1
topo_unity.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-2006 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_TOPO_UNTIY_H
20 #define MCA_TOPO_UNTIY_H
21 
22 #include "ompi_config.h"
23 #include "ompi/mca/topo/topo.h"
24 
25 /*
26  * ******************************************************************
27  * ******** functions which provide MCA interface comppliance *******
28  * ******************************************************************
29  * These functions are:
30  * - mca_topo_unity_module_open
31  * - mca_topo_unity_module_close
32  * - mca_topo_unity_module_query
33  * - mca_topo_unity_module_finalize
34  * These functions are always found on the mca_topo_unity_module
35  * structure. They are the "meta" functions to ensure smooth op.
36  * ******************************************************************
37  */
38 BEGIN_C_DECLS
39 
40 int mca_topo_unity_component_init_query(bool enable_progress_threads,
41  bool enable_mpi_threads);
43  mca_topo_unity_component_comm_query (int *priority);
44 int mca_topo_unity_component_comm_unquery (struct ompi_communicator_t *comm);
45 
46 int mca_topo_unity_module_init (struct ompi_communicator_t *comm);
47 int mca_topo_unity_module_finalize (struct ompi_communicator_t *comm);
48 
49 OMPI_MODULE_DECLSPEC extern mca_topo_base_component_2_0_0_t mca_topo_unity_component;
50 
51 /*
52  * ******************************************************************
53  * ********* functions which are implemented in this module *********
54  * ******************************************************************
55  * This module defines just 2 functions:
56  * - graph_map
57  * - cart_map
58  * rest of the functions are filled in from the "base" module. Authors
59  * of other such topology modules are required to define only these 2
60  * functions. They are ofcourse free to implement all of them too :-)
61  * ******************************************************************
62  */
63 int mca_topo_unity_cart_map (struct ompi_communicator_t *comm,
64  int ndims,
65  int *dims,
66  int *periods,
67  int *newrank);
68 
69 int mca_topo_unity_graph_map (struct ompi_communicator_t *comm,
70  int nnodes,
71  int *index,
72  int *edges,
73  int *newrank);
74 /*
75  * ******************************************************************
76  * ************ functions implemented in this module end ************
77  * ******************************************************************
78  */
79 
80 END_C_DECLS
81 
82 #endif /* MCA_TOPO_UNITY_H */
Definition: topo.h:81
Definition: topo.h:255
Definition: communicator.h:118