OpenMPI
0.1.1
|
The Open RTE Resource MAPping Subsystem (RMAPS) More...
#include "orte_config.h"
#include "orte/types.h"
#include "opal/mca/mca.h"
#include "orte/runtime/orte_globals.h"
#include "orte/mca/rmaps/rmaps_types.h"
Go to the source code of this file.
Data Structures | |
struct | orte_rmaps_t |
struct | orte_rmaps_base_module_1_3_0_t |
struct | orte_rmaps_base_component_2_0_0_t |
rmaps component version 1.3.0 More... | |
Typedefs | |
typedef 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 convention. | |
typedef struct orte_rmaps_base_module_1_3_0_t | orte_rmaps_base_module_1_3_0_t |
Convenience typedef. | |
typedef orte_rmaps_base_module_1_3_0_t | orte_rmaps_base_module_t |
Convenience typedef. | |
typedef struct orte_rmaps_base_component_2_0_0_t | orte_rmaps_base_component_2_0_0_t |
Convenience typedef. | |
typedef orte_rmaps_base_component_2_0_0_t | orte_rmaps_base_component_t |
Convenience typedef. | |
Variables | |
BEGIN_C_DECLS typedef int(* | orte_rmaps_base_API_map_fn_t )(orte_job_t *jdata) |
Public API. | |
ORTE_DECLSPEC orte_rmaps_t | orte_rmaps |
The Open RTE Resource MAPping Subsystem (RMAPS)
The resource mapping subsystem is responsible for mapping processes to specific nodes/cpus within a given job. In many systems, this functionality will not be supported - the system will map processes wherever it chooses and does not allow the user to specify the mapping. RMAPS components, therefore, provide services for those systems that do permit such mappings.
RMAPS checks the MCA parameters to see if a mapping algorithm has been specified. If the user selected a mapping algorithm, the indicated RMAPS component will take information from the registry to determine the number of applications/processes to be run, and the identified resources that have been allocated to this job. The selected RMAP component will then assign processes to resources according to its algorithm, with the results stored on the appropriate job segment - the assigned nodename for each process is stored in that respective process' container on the segment.