OpenMPI 0.1.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

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);
42 struct mca_topo_base_module_1_0_0_t *
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 */
mca_topo_base_component_2_0_0_t
Definition: topo.h:81
mca_topo_base_module_1_0_0_t
Definition: topo.h:255
ompi_communicator_t
Definition: communicator.h:118