OpenMPI  0.1.1
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 
51 
53 
54 BEGIN_C_DECLS
55 
56 /*
57  * rmaps module functions
58  */
59 
60 /**
61  * Public API
62  */
64 
65 /* global structure for accessing RMAPS API's */
66 typedef struct {
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 */
78 
79 /*
80  * rmaps module version 1.3.0
81  */
83  /** Mapping function pointer */
85 };
86 /** Convenience typedef */
88 /** Convenience typedef */
90 
91 
92 /*
93  * rmaps component
94  */
95 
96 /**
97  * rmaps component version 1.3.0
98  */
100  /** Base MCA structure */
102  /** Base MCA data */
104 };
105 /** Convenience typedef */
107 /** Convenience typedef */
109 
110 
111 END_C_DECLS
112 
113 #endif
Common type for all MCA components.
Definition: mca.h:250
Definition: rmaps.h:82
rmaps component version 1.3.0
Definition: rmaps.h:99
Top-level interface for all MCA components.
orte_rmaps_base_module_1_3_0_t orte_rmaps_base_module_t
Convenience typedef.
Definition: rmaps.h:89
Definition: rmaps.h:66
orte_rmaps_base_component_2_0_0_t orte_rmaps_base_component_t
Convenience typedef.
Definition: rmaps.h:108
Meta data for MCA v2.0.0 components.
Definition: mca.h:309
Definition: orte_globals.h:316
orte_rmaps_base_module_map_fn_t map_job
Mapping function pointer.
Definition: rmaps.h:84
Global params for OpenRTE.
mca_base_component_t base_version
Base MCA structure.
Definition: rmaps.h:101
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
BEGIN_C_DECLS typedef int(* orte_rmaps_base_API_map_fn_t)(orte_job_t *jdata)
Public API.
Definition: rmaps.h:63
mca_base_component_data_t base_data
Base MCA data.
Definition: rmaps.h:103