Skip to content

Commit aca7091

Browse files
author
Ralph Castain
committed
Fix some minor compatibility issues by ensuring job-level data gets stored against wildcard rank in the cray, s1, and s2 components, and that the ext1 component translates all wildcard rank requests into the peer's rank since v1.x of PMIx doesn't understand wildcard ranks
Closes #3101 Signed-off-by: Ralph Castain <[email protected]>
1 parent 2f8c759 commit aca7091

File tree

4 files changed

+13
-9
lines changed

4 files changed

+13
-9
lines changed

opal/mca/pmix/cray/pmix_cray.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* Copyright (c) 2011-2016 Cisco Systems, Inc. All rights reserved.
66
* Copyright (c) 2011-2017 Los Alamos National Security, LLC. All
77
* rights reserved.
8-
* Copyright (c) 2013-2015 Intel, Inc. All rights reserved.
8+
* Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
99
* Copyright (c) 2014-2016 Research Organization for Information Science
1010
* and Technology (RIST). All rights reserved.
1111
* $COPYRIGHT$
@@ -502,7 +502,7 @@ static int cray_init(void)
502502
kv.key = strdup(OPAL_PMIX_LOCAL_PEERS);
503503
kv.type = OPAL_STRING;
504504
kv.data.string = str;
505-
if (OPAL_SUCCESS != (ret = opal_pmix_base_store(&OPAL_PROC_MY_NAME, &kv))) {
505+
if (OPAL_SUCCESS != (ret = opal_pmix_base_store(&name, &kv))) {
506506
OPAL_ERROR_LOG(ret);
507507
OBJ_DESTRUCT(&kv);
508508
goto err_exit;
@@ -514,7 +514,7 @@ static int cray_init(void)
514514
kv.key = strdup(OPAL_PMIX_LOCALLDR);
515515
kv.type = OPAL_UINT64;
516516
kv.data.uint64 = *(uint64_t*)&ldr;
517-
if (OPAL_SUCCESS != (ret = opal_pmix_base_store(&OPAL_PROC_MY_NAME, &kv))) {
517+
if (OPAL_SUCCESS != (ret = opal_pmix_base_store(&name, &kv))) {
518518
OPAL_ERROR_LOG(ret);
519519
OBJ_DESTRUCT(&kv);
520520
goto err_exit;

opal/mca/pmix/ext1x/pmix1x_client.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
22
/*
3-
* Copyright (c) 2014-2016 Intel, Inc. All rights reserved.
3+
* Copyright (c) 2014-2017 Intel, Inc. All rights reserved.
44
* Copyright (c) 2014-2017 Research Organization for Information Science
55
* and Technology (RIST). All rights reserved.
66
* Copyright (c) 2014-2015 Mellanox Technologies, Inc.
@@ -448,7 +448,11 @@ int pmix1_get(const opal_process_name_t *proc, const char *key,
448448
return OPAL_ERR_NOT_FOUND;
449449
}
450450
(void)strncpy(p.nspace, job->nspace, PMIX_MAX_NSLEN);
451-
p.rank = proc->vpid;
451+
if (OPAL_VPID_WILDCARD == proc->vpid) {
452+
p.rank = my_proc.rank;
453+
} else {
454+
p.rank = proc->vpid;
455+
}
452456
pptr = &p;
453457
} else {
454458
/* if they are asking for our jobid, then return it */

opal/mca/pmix/s1/pmix_s1.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
22
/*
3-
* Copyright (c) 2014-2016 Intel, Inc. All rights reserved.
3+
* Copyright (c) 2014-2017 Intel, Inc. All rights reserved.
44
* Copyright (c) 2014-2016 Research Organization for Information Science
55
* and Technology (RIST). All rights reserved.
66
* Copyright (c) 2016 Cisco Systems, Inc. All rights reserved.
@@ -332,7 +332,7 @@ static int s1_init(void)
332332
kv.key = strdup(OPAL_PMIX_LOCALLDR);
333333
kv.type = OPAL_UINT64;
334334
kv.data.uint64 = *(uint64_t*)&ldr;
335-
if (OPAL_SUCCESS != (ret = opal_pmix_base_store(&OPAL_PROC_MY_NAME, &kv))) {
335+
if (OPAL_SUCCESS != (ret = opal_pmix_base_store(&wildcard_rank, &kv))) {
336336
OPAL_ERROR_LOG(ret);
337337
OBJ_DESTRUCT(&kv);
338338
goto err_exit;

opal/mca/pmix/s2/pmix_s2.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* Copyright (c) 2011-2016 Cisco Systems, Inc. All rights reserved.
66
* Copyright (c) 2011-2013 Los Alamos National Security, LLC. All
77
* rights reserved.
8-
* Copyright (c) 2013-2016 Intel, Inc. All rights reserved.
8+
* Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
99
* Copyright (c) 2014-2016 Research Organization for Information Science
1010
* and Technology (RIST). All rights reserved.
1111
* $COPYRIGHT$
@@ -377,7 +377,7 @@ static int s2_init(void)
377377
kv.key = strdup(OPAL_PMIX_LOCALLDR);
378378
kv.type = OPAL_UINT64;
379379
kv.data.uint64 = *(uint64_t*)&ldr;
380-
if (OPAL_SUCCESS != (ret = opal_pmix_base_store(&OPAL_PROC_MY_NAME, &kv))) {
380+
if (OPAL_SUCCESS != (ret = opal_pmix_base_store(&wildcard_rank, &kv))) {
381381
OPAL_ERROR_LOG(ret);
382382
OBJ_DESTRUCT(&kv);
383383
goto err_exit;

0 commit comments

Comments
 (0)