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 <rhc@open-mpi.org>
Этот коммит содержится в:
родитель
2f8c759b73
Коммит
aca7091114
@ -5,7 +5,7 @@
|
||||
* Copyright (c) 2011-2016 Cisco Systems, Inc. All rights reserved.
|
||||
* Copyright (c) 2011-2017 Los Alamos National Security, LLC. All
|
||||
* rights reserved.
|
||||
* Copyright (c) 2013-2015 Intel, Inc. All rights reserved.
|
||||
* Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
|
||||
* Copyright (c) 2014-2016 Research Organization for Information Science
|
||||
* and Technology (RIST). All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
@ -502,7 +502,7 @@ static int cray_init(void)
|
||||
kv.key = strdup(OPAL_PMIX_LOCAL_PEERS);
|
||||
kv.type = OPAL_STRING;
|
||||
kv.data.string = str;
|
||||
if (OPAL_SUCCESS != (ret = opal_pmix_base_store(&OPAL_PROC_MY_NAME, &kv))) {
|
||||
if (OPAL_SUCCESS != (ret = opal_pmix_base_store(&name, &kv))) {
|
||||
OPAL_ERROR_LOG(ret);
|
||||
OBJ_DESTRUCT(&kv);
|
||||
goto err_exit;
|
||||
@ -514,7 +514,7 @@ static int cray_init(void)
|
||||
kv.key = strdup(OPAL_PMIX_LOCALLDR);
|
||||
kv.type = OPAL_UINT64;
|
||||
kv.data.uint64 = *(uint64_t*)&ldr;
|
||||
if (OPAL_SUCCESS != (ret = opal_pmix_base_store(&OPAL_PROC_MY_NAME, &kv))) {
|
||||
if (OPAL_SUCCESS != (ret = opal_pmix_base_store(&name, &kv))) {
|
||||
OPAL_ERROR_LOG(ret);
|
||||
OBJ_DESTRUCT(&kv);
|
||||
goto err_exit;
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
|
||||
/*
|
||||
* Copyright (c) 2014-2016 Intel, Inc. All rights reserved.
|
||||
* Copyright (c) 2014-2017 Intel, Inc. All rights reserved.
|
||||
* Copyright (c) 2014-2017 Research Organization for Information Science
|
||||
* and Technology (RIST). All rights reserved.
|
||||
* Copyright (c) 2014-2015 Mellanox Technologies, Inc.
|
||||
@ -448,7 +448,11 @@ int pmix1_get(const opal_process_name_t *proc, const char *key,
|
||||
return OPAL_ERR_NOT_FOUND;
|
||||
}
|
||||
(void)strncpy(p.nspace, job->nspace, PMIX_MAX_NSLEN);
|
||||
p.rank = proc->vpid;
|
||||
if (OPAL_VPID_WILDCARD == proc->vpid) {
|
||||
p.rank = my_proc.rank;
|
||||
} else {
|
||||
p.rank = proc->vpid;
|
||||
}
|
||||
pptr = &p;
|
||||
} else {
|
||||
/* if they are asking for our jobid, then return it */
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
|
||||
/*
|
||||
* Copyright (c) 2014-2016 Intel, Inc. All rights reserved.
|
||||
* Copyright (c) 2014-2017 Intel, Inc. All rights reserved.
|
||||
* Copyright (c) 2014-2016 Research Organization for Information Science
|
||||
* and Technology (RIST). All rights reserved.
|
||||
* Copyright (c) 2016 Cisco Systems, Inc. All rights reserved.
|
||||
@ -332,7 +332,7 @@ static int s1_init(void)
|
||||
kv.key = strdup(OPAL_PMIX_LOCALLDR);
|
||||
kv.type = OPAL_UINT64;
|
||||
kv.data.uint64 = *(uint64_t*)&ldr;
|
||||
if (OPAL_SUCCESS != (ret = opal_pmix_base_store(&OPAL_PROC_MY_NAME, &kv))) {
|
||||
if (OPAL_SUCCESS != (ret = opal_pmix_base_store(&wildcard_rank, &kv))) {
|
||||
OPAL_ERROR_LOG(ret);
|
||||
OBJ_DESTRUCT(&kv);
|
||||
goto err_exit;
|
||||
|
@ -5,7 +5,7 @@
|
||||
* Copyright (c) 2011-2016 Cisco Systems, Inc. All rights reserved.
|
||||
* Copyright (c) 2011-2013 Los Alamos National Security, LLC. All
|
||||
* rights reserved.
|
||||
* Copyright (c) 2013-2016 Intel, Inc. All rights reserved.
|
||||
* Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
|
||||
* Copyright (c) 2014-2016 Research Organization for Information Science
|
||||
* and Technology (RIST). All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
@ -377,7 +377,7 @@ static int s2_init(void)
|
||||
kv.key = strdup(OPAL_PMIX_LOCALLDR);
|
||||
kv.type = OPAL_UINT64;
|
||||
kv.data.uint64 = *(uint64_t*)&ldr;
|
||||
if (OPAL_SUCCESS != (ret = opal_pmix_base_store(&OPAL_PROC_MY_NAME, &kv))) {
|
||||
if (OPAL_SUCCESS != (ret = opal_pmix_base_store(&wildcard_rank, &kv))) {
|
||||
OPAL_ERROR_LOG(ret);
|
||||
OBJ_DESTRUCT(&kv);
|
||||
goto err_exit;
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user