OpenMPI 0.1.1

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

- File List
- Globals

rmaps.h
Go to the documentation of this file.
1 /*
2 * Copyright (c) 2004-2008 The Trustees of Indiana University and Indiana
3 * University Research and Technology
4 * Corporation. All rights reserved.
5 * Copyright (c) 2004-2005 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 (c) 2011 Cisco Systems, Inc. All rights reserved.
13 * $COPYRIGHT$
14 *
15 * Additional copyrights may follow
16 *
17 * $HEADER$
18 */
19 /** @file:
20 *
21 * The Open RTE Resource MAPping Subsystem (RMAPS)
22 *
23 * The resource mapping subsystem is responsible for mapping processes
24 * to specific nodes/cpus within a given job. In many systems, this
25 * functionality will not be supported - the system will map processes
26 * wherever it chooses and does not allow the user to specify the
27 * mapping. RMAPS components, therefore, provide services for those
28 * systems that do permit such mappings.
29 *
30 * RMAPS checks the MCA parameters to see if a mapping algorithm has
31 * been specified. If the user selected a mapping algorithm, the
32 * indicated RMAPS component will take information from the registry
33 * to determine the number of applications/processes to be run, and
34 * the identified resources that have been allocated to this job. The
35 * selected RMAP component will then assign processes to resources
36 * according to its algorithm, with the results stored on the
37 * appropriate job segment - the assigned nodename for each process is
38 * stored in that respective process' container on the segment.
39 *
40 */
41
42 #ifndef ORTE_MCA_RMAPS_H
43 #define ORTE_MCA_RMAPS_H
44
45 #include "orte_config.h"
46 #include "orte/types.h"
47
48 #include "opal/mca/mca.h"
49
50 #include "orte/runtime/orte_globals.h"
51
52 #include "orte/mca/rmaps/rmaps_types.h"
53
54 BEGIN_C_DECLS
55
56 /*
57 * rmaps module functions
58 */
59
60 /**
61 * Public API
62 */
63 typedef int (*orte_rmaps_base_API_map_fn_t)(orte_job_t *jdata);
64
65 /* global structure for accessing RMAPS API's */
66 typedef struct {
67 orte_rmaps_base_API_map_fn_t map_job;
68 } orte_rmaps_t;
69
70 ORTE_DECLSPEC extern orte_rmaps_t orte_rmaps;
71
72
73 /**
74 * RMAPS module functions - these are not accessible to the outside world,
75 * but are defined here by convention
76 */
77 typedef int (*orte_rmaps_base_module_map_fn_t)(orte_job_t *jdata);
78
79 /*
80 * rmaps module version 1.3.0
81 */
82 struct orte_rmaps_base_module_1_3_0_t {
83 /** Mapping function pointer */
84 orte_rmaps_base_module_map_fn_t map_job;
85 };
86 /** Convenience typedef */
87 typedef struct orte_rmaps_base_module_1_3_0_t orte_rmaps_base_module_1_3_0_t;
88 /** Convenience typedef */
89 typedef orte_rmaps_base_module_1_3_0_t orte_rmaps_base_module_t;
90
91
92 /*
93 * rmaps component
94 */
95
96 /**
97 * rmaps component version 1.3.0
98 */
99 struct orte_rmaps_base_component_2_0_0_t {
100 /** Base MCA structure */
101 mca_base_component_t base_version;
102 /** Base MCA data */
103 mca_base_component_data_t base_data;
104 };
105 /** Convenience typedef */
106 typedef struct orte_rmaps_base_component_2_0_0_t orte_rmaps_base_component_2_0_0_t;
107 /** Convenience typedef */
108 typedef orte_rmaps_base_component_2_0_0_t orte_rmaps_base_component_t;
109
110
111 END_C_DECLS
112
113 #endif
rmaps_types.h
mca_base_component_2_0_0_t
Common type for all MCA components.
Definition: mca.h:250
orte_rmaps_base_module_1_3_0_t
Definition: rmaps.h:82
orte_rmaps_base_component_2_0_0_t
rmaps component version 1.3.0
Definition: rmaps.h:99
mca.h
Top-level interface for all MCA components.
types.h
orte_rmaps_base_module_t
orte_rmaps_base_module_1_3_0_t orte_rmaps_base_module_t
Convenience typedef.
Definition: rmaps.h:89
orte_rmaps_t
Definition: rmaps.h:66
orte_rmaps_base_component_t
orte_rmaps_base_component_2_0_0_t orte_rmaps_base_component_t
Convenience typedef.
Definition: rmaps.h:108
mca_base_component_data_2_0_0_t
Meta data for MCA v2.0.0 components.
Definition: mca.h:309
orte_job_t
Definition: orte_globals.h:316
orte_rmaps_base_module_1_3_0_t::map_job
orte_rmaps_base_module_map_fn_t map_job
Mapping function pointer.
Definition: rmaps.h:84
orte_globals.h
Global params for OpenRTE.
orte_rmaps_base_component_2_0_0_t::base_version
mca_base_component_t base_version
Base MCA structure.
Definition: rmaps.h:101
orte_rmaps_base_module_map_fn_t
int(* orte_rmaps_base_module_map_fn_t)(orte_job_t *jdata)
RMAPS module functions - these are not accessible to the outside world, but are defined here by conve...
Definition: rmaps.h:77
orte_rmaps_base_API_map_fn_t
BEGIN_C_DECLS typedef int(* orte_rmaps_base_API_map_fn_t)(orte_job_t *jdata)
Public API.
Definition: rmaps.h:63
orte_rmaps_base_component_2_0_0_t::base_data
mca_base_component_data_t base_data
Base MCA data.
Definition: rmaps.h:103