Skip to content

Commit c6a7d45

Browse files
committed
Allow the dpm to query the server for local peer info
The local PMIx server may have info on the local peers for a job - so allow the client to request that info if it doesn't already possess it. Also clean up some diagnostic output so it shows the PMIx attribute name (or just the provided string if it isn't an attribute name) to make it easier to correlate to the code. Signed-off-by: Ralph Castain <rhc@pmix.org>
1 parent 7b2ac18 commit c6a7d45

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed

ompi/dpm/dpm.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,7 @@ int ompi_dpm_connect_accept(ompi_communicator_t *comm, int root,
430430
wildcard_rank.jobid = proc->super.proc_name.jobid;
431431
wildcard_rank.vpid = OMPI_NAME_WILDCARD->vpid;
432432
/* retrieve the local peers for the specified jobid */
433-
OPAL_MODEX_RECV_VALUE_OPTIONAL(rc, PMIX_LOCAL_PEERS,
433+
OPAL_MODEX_RECV_VALUE_IMMEDIATE(rc, PMIX_LOCAL_PEERS,
434434
&wildcard_rank, &val, PMIX_STRING);
435435
if (OPAL_SUCCESS == rc && NULL != val) {
436436
char **peers = opal_argv_split(val, ',');

opal/mca/pmix/pmix-internal.h

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* reserved.
1010
* Copyright (c) 2020 Amazon.com, Inc. or its affiliates.
1111
* All Rights reserved.
12-
* Copyright (c) 2021 Nanook Consulting. All rights reserved.
12+
* Copyright (c) 2021-2024 Nanook Consulting All rights reserved.
1313
* Copyright (c) 2021 Argonne National Laboratory. All rights
1414
* reserved.
1515
* $COPYRIGHT$
@@ -293,7 +293,7 @@ typedef struct {
293293
OPAL_OUTPUT_VERBOSE((1, opal_pmix_verbose_output, \
294294
"%s[%s:%d] MODEX RECV VALUE OPTIONAL FOR PROC %s KEY %s", \
295295
OPAL_NAME_PRINT(OPAL_PROC_MY_NAME), __FILE__, __LINE__, \
296-
OPAL_NAME_PRINT(*(p)), (s))); \
296+
OPAL_NAME_PRINT(*(p)), PMIx_Get_attribute_name(s))); \
297297
OPAL_PMIX_CONVERT_NAME(&_proc, (p)); \
298298
PMIX_INFO_LOAD(&_info, PMIX_OPTIONAL, NULL, PMIX_BOOL); \
299299
(r) = PMIx_Get(&(_proc), (s), &(_info), 1, &(_kv)); \
@@ -334,7 +334,7 @@ typedef struct {
334334
OPAL_OUTPUT_VERBOSE((1, opal_pmix_verbose_output, \
335335
"%s[%s:%d] MODEX RECV VALUE IMMEDIATE FOR PROC %s KEY %s", \
336336
OPAL_NAME_PRINT(OPAL_PROC_MY_NAME), __FILE__, __LINE__, \
337-
OPAL_NAME_PRINT(*(p)), (s))); \
337+
OPAL_NAME_PRINT(*(p)), PMIx_Get_attribute_name(s))); \
338338
OPAL_PMIX_CONVERT_NAME(&_proc, (p)); \
339339
PMIX_INFO_LOAD(&_info, PMIX_IMMEDIATE, NULL, PMIX_BOOL); \
340340
(r) = PMIx_Get(&(_proc), (s), &(_info), 1, &(_kv)); \
@@ -370,7 +370,8 @@ typedef struct {
370370
size_t _sz; \
371371
OPAL_OUTPUT_VERBOSE( \
372372
(1, opal_pmix_verbose_output, "%s[%s:%d] MODEX RECV VALUE FOR PROC %s KEY %s", \
373-
OPAL_NAME_PRINT(OPAL_PROC_MY_NAME), __FILE__, __LINE__, OPAL_NAME_PRINT(*(p)), (s))); \
373+
OPAL_NAME_PRINT(OPAL_PROC_MY_NAME), __FILE__, __LINE__, OPAL_NAME_PRINT(*(p)), \
374+
PMIx_Get_attribute_name(s))); \
374375
OPAL_PMIX_CONVERT_NAME(&_proc, (p)); \
375376
(r) = PMIx_Get(&(_proc), (s), NULL, 0, &(_kv)); \
376377
if (NULL == _kv) { \
@@ -406,7 +407,7 @@ typedef struct {
406407
OPAL_OUTPUT_VERBOSE((1, opal_pmix_verbose_output, \
407408
"%s[%s:%d] MODEX RECV STRING OPTIONAL FOR PROC %s KEY %s", \
408409
OPAL_NAME_PRINT(OPAL_PROC_MY_NAME), __FILE__, __LINE__, \
409-
OPAL_NAME_PRINT(*(p)), (s))); \
410+
OPAL_NAME_PRINT(*(p)), PMIx_Get_attribute_name(s))); \
410411
*(d) = NULL; \
411412
*(sz) = 0; \
412413
OPAL_PMIX_CONVERT_NAME(&_proc, (p)); \
@@ -444,7 +445,8 @@ typedef struct {
444445
pmix_info_t _info; \
445446
OPAL_OUTPUT_VERBOSE( \
446447
(1, opal_pmix_verbose_output, "%s[%s:%d] MODEX RECV STRING FOR PROC %s KEY %s", \
447-
OPAL_NAME_PRINT(OPAL_PROC_MY_NAME), __FILE__, __LINE__, OPAL_NAME_PRINT(*(p)), (s))); \
448+
OPAL_NAME_PRINT(OPAL_PROC_MY_NAME), __FILE__, __LINE__, OPAL_NAME_PRINT(*(p)), \
449+
PMIx_Get_attribute_name(s))); \
448450
*(d) = NULL; \
449451
*(sz) = 0; \
450452
OPAL_PMIX_CONVERT_NAME(&_proc, (p)); \

0 commit comments

Comments
 (0)