diff --git a/src/mca/schizo/base/schizo_base_stubs.c b/src/mca/schizo/base/schizo_base_stubs.c index e61640b0a9..3798d448f3 100644 --- a/src/mca/schizo/base/schizo_base_stubs.c +++ b/src/mca/schizo/base/schizo_base_stubs.c @@ -30,6 +30,7 @@ #include "src/util/pmix_basename.h" #include "src/util/pmix_environ.h" #include "src/util/pmix_show_help.h" +#include "src/util/prte_cmd_line.h" prte_schizo_base_module_t *prte_schizo_base_detect_proxy(char *cmdpath) { @@ -70,10 +71,10 @@ PRTE_EXPORT void prte_schizo_base_root_error_msg(void) static bool check_multi(const char *target) { char *multi_dirs[] = { - "display", - "output", - "tune", - "runtime-options", + PRTE_CLI_DISPLAY, + PRTE_CLI_OUTPUT, + PRTE_CLI_TUNE, + PRTE_CLI_RTOS, NULL }; int n; diff --git a/src/prted/pmix/pmix_server.c b/src/prted/pmix/pmix_server.c index ced3a77ac1..78239facda 100644 --- a/src/prted/pmix/pmix_server.c +++ b/src/prted/pmix/pmix_server.c @@ -375,6 +375,8 @@ static void modex_resp(pmix_status_t status, char *data, size_t sz, void *cbdata static bool remote_connections_specified = false; static char *remote_cncts = NULL; static char *generate_dist = "fabric,gpu,network"; +static bool share_hwloc_memory = true; + void pmix_server_register_params(void) { int i; @@ -487,6 +489,10 @@ void pmix_server_register_params(void) PMIX_MCA_BASE_VAR_TYPE_BOOL, &prte_pmix_server_globals.system_server); + (void) pmix_mca_base_var_register("prte", "pmix", NULL, "hwloc_shared_memory", + "Whether or not to share HWLOC topology via shared memory", + PMIX_MCA_BASE_VAR_TYPE_BOOL, + &share_hwloc_memory); } static void timeout_cbfunc(int sd, short args, void *cbdata) @@ -698,7 +704,8 @@ int pmix_server_init(void) return rc; } // tell the server to share this topology for us - PMIX_INFO_LIST_ADD(prc, ilist, PMIX_SERVER_SHARE_TOPOLOGY, NULL, PMIX_BOOL); + PMIX_INFO_LIST_ADD(prc, ilist, PMIX_SERVER_SHARE_TOPOLOGY, + (void*)&share_hwloc_memory, PMIX_BOOL); if (PMIX_SUCCESS != prc) { PMIX_INFO_LIST_RELEASE(ilist); rc = prte_pmix_convert_status(prc);