This looks more like the correct solution. We only pack the known information, so
we can now deal with partial mapping without segfaulting. This commit was SVN r21688.
Этот коммит содержится в:
родитель
e75d9b8296
Коммит
dc9370598f
@ -636,15 +636,15 @@ int orte_util_encode_pidmap(opal_byte_object_t *boptr)
|
|||||||
if (NULL == (proc = (orte_proc_t *) opal_pointer_array_get_item(jdata->procs, i))) {
|
if (NULL == (proc = (orte_proc_t *) opal_pointer_array_get_item(jdata->procs, i))) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if( k >= (int)jdata->num_procs ) {
|
||||||
|
orte_show_help("help-orte-runtime.txt", "orte_nidmap:too_many_nodes",
|
||||||
|
true, jdata->num_procs);
|
||||||
|
break;
|
||||||
|
}
|
||||||
nodes[k] = proc->node->index;
|
nodes[k] = proc->node->index;
|
||||||
lrank[k] = proc->local_rank;
|
lrank[k] = proc->local_rank;
|
||||||
nrank[k] = proc->node_rank;
|
nrank[k] = proc->node_rank;
|
||||||
if( ++k >= (int)jdata->num_procs ) {
|
++k;
|
||||||
orte_show_help("help-orte-runtime.txt", "orte_nidmap:too_many_nodes",
|
|
||||||
true, jdata->num_procs);
|
|
||||||
rc = ORTE_ERROR;
|
|
||||||
goto cleanup_and_return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (ORTE_SUCCESS != (rc = opal_dss.pack(&buf, nodes, jdata->num_procs, OPAL_INT32))) {
|
if (ORTE_SUCCESS != (rc = opal_dss.pack(&buf, nodes, jdata->num_procs, OPAL_INT32))) {
|
||||||
ORTE_ERROR_LOG(rc);
|
ORTE_ERROR_LOG(rc);
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user