Ensure that the #nodes in the job map gets properly updated when using the sequential mapper. Provide some further diagnostic info to help understand the problem when encountered.
Этот коммит содержится в:
родитель
d6d69e2b13
Коммит
b757b3f452
@ -97,6 +97,11 @@ Your job failed to map. Either no mapper was available, or none
|
|||||||
of the available mappers was able to perform the requested
|
of the available mappers was able to perform the requested
|
||||||
mapping operation. This can happen if you request a map type
|
mapping operation. This can happen if you request a map type
|
||||||
(e.g., loadbalance) and the corresponding mapper was not built.
|
(e.g., loadbalance) and the corresponding mapper was not built.
|
||||||
|
|
||||||
|
Mapper result: %s
|
||||||
|
#procs mapped: %d
|
||||||
|
#nodes assigned: %d
|
||||||
|
|
||||||
#
|
#
|
||||||
[unrecognized-policy]
|
[unrecognized-policy]
|
||||||
The specified %s policy is not recognized:
|
The specified %s policy is not recognized:
|
||||||
|
@ -304,7 +304,9 @@ void orte_rmaps_base_map_job(int fd, short args, void *cbdata)
|
|||||||
* the map, then that's an error
|
* the map, then that's an error
|
||||||
*/
|
*/
|
||||||
if (!did_map || 0 == jdata->num_procs || 0 == jdata->map->num_nodes) {
|
if (!did_map || 0 == jdata->num_procs || 0 == jdata->map->num_nodes) {
|
||||||
orte_show_help("help-orte-rmaps-base.txt", "failed-map", true);
|
orte_show_help("help-orte-rmaps-base.txt", "failed-map", true,
|
||||||
|
did_map ? "mapped" : "unmapped",
|
||||||
|
jdata->num_procs, jdata->map->num_nodes);
|
||||||
ORTE_ACTIVATE_JOB_STATE(jdata, ORTE_JOB_STATE_MAP_FAILED);
|
ORTE_ACTIVATE_JOB_STATE(jdata, ORTE_JOB_STATE_MAP_FAILED);
|
||||||
OBJ_RELEASE(caddy);
|
OBJ_RELEASE(caddy);
|
||||||
return;
|
return;
|
||||||
|
@ -201,6 +201,13 @@ static int orte_rmaps_seq_map(orte_job_t *jdata)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* initialize all the nodes as not included in this job map */
|
||||||
|
for (j=0; j < orte_node_pool->size; j++) {
|
||||||
|
if (NULL != (node = (orte_node_t*)opal_pointer_array_get_item(orte_node_pool, j))) {
|
||||||
|
ORTE_FLAG_UNSET(node, ORTE_NODE_FLAG_MAPPED);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* cycle through the app_contexts, mapping them sequentially */
|
/* cycle through the app_contexts, mapping them sequentially */
|
||||||
for(i=0; i < jdata->apps->size; i++) {
|
for(i=0; i < jdata->apps->size; i++) {
|
||||||
if (NULL == (app = (orte_app_context_t*)opal_pointer_array_get_item(jdata->apps, i))) {
|
if (NULL == (app = (orte_app_context_t*)opal_pointer_array_get_item(jdata->apps, i))) {
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user