Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-23 10:12:57

0001 /*
0002  * Copyright (c) 2004-2005 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-2012 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 
0026 #ifndef PRTE_MCA_RMAPS_PRIVATE_H
0027 #define PRTE_MCA_RMAPS_PRIVATE_H
0028 
0029 /*
0030  * includes
0031  */
0032 #include "prte_config.h"
0033 #include "types.h"
0034 
0035 #include "src/hwloc/hwloc-internal.h"
0036 #include "src/runtime/prte_globals.h"
0037 
0038 #include "src/mca/schizo/schizo.h"
0039 #include "src/mca/rmaps/rmaps.h"
0040 
0041 BEGIN_C_DECLS
0042 
0043 /*
0044  * Base API functions
0045  */
0046 
0047 /* LOCAL FUNCTIONS for use by RMAPS components */
0048 
0049 PRTE_EXPORT int prte_rmaps_base_get_target_nodes(pmix_list_t *node_list, int32_t *total_num_slots,
0050                                                  prte_job_t *jdata, prte_app_context_t *app,
0051                                                  prte_mapping_policy_t policy, bool initial_map,
0052                                                  bool silent);
0053 
0054 PRTE_EXPORT prte_proc_t *prte_rmaps_base_setup_proc(prte_job_t *jdata,
0055                                                     prte_app_idx_t idx,
0056                                                     prte_node_t *node,
0057                                                     hwloc_obj_t obj,
0058                                                     prte_rmaps_options_t *options);
0059 
0060 PRTE_EXPORT void prte_rmaps_base_get_starting_point(pmix_list_t *node_list,
0061                                                     prte_job_t *jdata);
0062 
0063 
0064 PRTE_EXPORT int prte_rmaps_base_compute_vpids(prte_job_t *jdata,
0065                                               prte_rmaps_options_t *options);
0066 
0067 PRTE_EXPORT int prte_rmaps_base_bind_proc(prte_job_t *jdata,
0068                                           prte_proc_t *proc,
0069                                           prte_node_t *node,
0070                                           hwloc_obj_t obj,
0071                                           prte_rmaps_options_t *options);
0072 
0073 PRTE_EXPORT void prte_rmaps_base_update_local_ranks(prte_job_t *jdata, prte_node_t *oldnode,
0074                                                     prte_node_t *newnode, prte_proc_t *newproc);
0075 
0076 END_C_DECLS
0077 
0078 #endif