![]() |
|
|||
File indexing completed on 2025-02-22 10:47:30
0001 /* 0002 * Copyright (c) 2004-2008 The Trustees of Indiana University and Indiana 0003 * University Research and Technology 0004 * Corporation. All rights reserved. 0005 * Copyright (c) 2004-2005 The University of Tennessee and The University 0006 * of Tennessee Research Foundation. All rights 0007 * reserved. 0008 * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, 0009 * University of Stuttgart. All rights reserved. 0010 * Copyright (c) 2004-2005 The Regents of the University of California. 0011 * All rights reserved. 0012 * Copyright (c) 2011-2020 Cisco Systems, Inc. All rights reserved 0013 * Copyright (c) 2011 Los Alamos National Security, LLC. 0014 * All rights reserved. 0015 * Copyright (c) 2017-2020 Intel, Inc. All rights reserved. 0016 * Copyright (c) 2021-2022 Nanook Consulting. All rights reserved. 0017 * $COPYRIGHT$ 0018 * 0019 * Additional copyrights may follow 0020 * 0021 * $HEADER$ 0022 */ 0023 /** @file: 0024 * 0025 * The PRTE Resource MAPping Subsystem (RMAPS) 0026 * 0027 * The resource mapping subsystem is responsible for mapping processes 0028 * to specific nodes/cpus within a given job. In many systems, this 0029 * functionality will not be supported - the system will map processes 0030 * wherever it chooses and does not allow the user to specify the 0031 * mapping. RMAPS components, therefore, provide services for those 0032 * systems that do permit such mappings. 0033 * 0034 * RMAPS checks the MCA parameters to see if a mapping algorithm has 0035 * been specified. If the user selected a mapping algorithm, the 0036 * indicated RMAPS component will take information from the registry 0037 * to determine the number of applications/processes to be run, and 0038 * the identified resources that have been allocated to this job. The 0039 * selected RMAP component will then assign processes to resources 0040 * according to its algorithm, with the results stored on the 0041 * appropriate job segment - the assigned nodename for each process is 0042 * stored in that respective process' container on the segment. 0043 * 0044 */ 0045 0046 #ifndef PRTE_MCA_RMAPS_H 0047 #define PRTE_MCA_RMAPS_H 0048 0049 #include "prte_config.h" 0050 #include "types.h" 0051 0052 #include "src/mca/mca.h" 0053 #include "src/pmix/pmix-internal.h" 0054 0055 #include "src/runtime/prte_globals.h" 0056 0057 #include "src/mca/rmaps/rmaps_types.h" 0058 0059 BEGIN_C_DECLS 0060 0061 /* 0062 * rmaps module functions 0063 */ 0064 0065 /** 0066 * RMAPS module functions - these are not accessible to the outside world, 0067 * but are defined here by convention 0068 */ 0069 0070 /* map a job - used by the HNP to compute the #procs on each node. 0071 * This is passed to the backend daemons as a regex which they 0072 * use to create an prte_job_map_t for the job */ 0073 typedef int (*prte_rmaps_base_module_map_fn_t)(prte_job_t *jdata, 0074 prte_rmaps_options_t *options); 0075 0076 /* 0077 * rmaps module version 4.0.0 0078 */ 0079 struct prte_rmaps_base_module_4_0_0_t { 0080 /** Mapping function pointer */ 0081 prte_rmaps_base_module_map_fn_t map_job; 0082 }; 0083 /** Convenience typedef */ 0084 typedef struct prte_rmaps_base_module_4_0_0_t prte_rmaps_base_module_4_0_0_t; 0085 /** Convenience typedef */ 0086 typedef prte_rmaps_base_module_4_0_0_t prte_rmaps_base_module_t; 0087 0088 /* 0089 * rmaps component 0090 */ 0091 0092 /** 0093 * rmaps component version 3.0.0 0094 */ 0095 typedef pmix_mca_base_component_t prte_rmaps_base_component_t; 0096 0097 END_C_DECLS 0098 0099 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |