- Add an opal_show_help() to the pls fork module to explain what went wrong when the execv to start the application fails.
- Add a couple opal_show_help()'s to indicate when not enough slots/nodes are available to satisfy a request. This commit was SVN r7555.
Этот коммит содержится в:
родитель
fcef1774d5
Коммит
82ee2933a5
@ -17,6 +17,7 @@
|
||||
# Use the top-level Makefile.options
|
||||
|
||||
|
||||
dist_pkgdata_DATA = help-orte-pls-fork.txt
|
||||
|
||||
sources = \
|
||||
pls_fork.h \
|
||||
|
32
orte/mca/pls/fork/help-orte-pls-fork.txt
Обычный файл
32
orte/mca/pls/fork/help-orte-pls-fork.txt
Обычный файл
@ -0,0 +1,32 @@
|
||||
# -*- text -*-
|
||||
#
|
||||
# Copyright (c) 2004-2005 The Trustees of Indiana University.
|
||||
# All rights reserved.
|
||||
# Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
|
||||
# All rights reserved.
|
||||
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
||||
# University of Stuttgart. All rights reserved.
|
||||
# Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
# All rights reserved.
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
# Additional copyrights may follow
|
||||
#
|
||||
# $HEADER$
|
||||
#
|
||||
# This is the US/English general help file for Open RTE's orterun.
|
||||
#
|
||||
[orte-pls-fork:chdir-error]
|
||||
Warning: Could not change to the working directory "%s".
|
||||
|
||||
The error returned was "%s".
|
||||
|
||||
This is not necessarily a fatal condition, and execution will continue.
|
||||
|
||||
[orte-pls-fork:execv-error]
|
||||
Could not execute the executable "%s": %s
|
||||
|
||||
This could mean that your PATH or executable name is wrong, or that you do not
|
||||
have the necessary permissions. Please ensure that the executable is able to be
|
||||
found and executed.
|
||||
|
@ -38,6 +38,7 @@
|
||||
#include "opal/util/argv.h"
|
||||
#include "opal/util/output.h"
|
||||
#include "opal/mca/paffinity/base/base.h"
|
||||
#include "opal/util/show_help.h"
|
||||
#include "orte/util/sys_info.h"
|
||||
#include "orte/util/univ_info.h"
|
||||
#include "opal/util/opal_environ.h"
|
||||
@ -222,8 +223,8 @@ static int orte_pls_fork_proc(
|
||||
}
|
||||
#else
|
||||
if(chdir(context->cwd) != 0) {
|
||||
perror("chdir");
|
||||
ORTE_ERROR_LOG(ORTE_ERR_BAD_PARAM);
|
||||
opal_show_help("help-orte-pls-fork.txt", "orte-pls-fork:chdir-error",
|
||||
true, context->cwd, strerror(errno));
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -327,9 +328,8 @@ static int orte_pls_fork_proc(
|
||||
/* Exec the new executable */
|
||||
|
||||
execve(context->app, context->argv, environ_copy);
|
||||
opal_output(0, "orte_pls_fork: %s - %s\n", context->app,
|
||||
opal_argv_join(context->argv, ' '));
|
||||
opal_output(0, "orte_pls_fork: execv failed with errno=%d\n", errno);
|
||||
opal_show_help("help-orte-pls-fork.txt", "orte-pls-fork:execv-error",
|
||||
true, context->app, strerror(errno));
|
||||
exit(-1);
|
||||
|
||||
} else {
|
||||
|
@ -14,9 +14,7 @@
|
||||
# $HEADER$
|
||||
#
|
||||
|
||||
# Use the top-level Makefile.options
|
||||
|
||||
|
||||
dist_pkgdata_DATA = help-orte-rmaps-rr.txt
|
||||
|
||||
sources = \
|
||||
rmaps_rr.c \
|
||||
|
24
orte/mca/rmaps/round_robin/help-orte-rmaps-rr.txt
Обычный файл
24
orte/mca/rmaps/round_robin/help-orte-rmaps-rr.txt
Обычный файл
@ -0,0 +1,24 @@
|
||||
# -*- text -*-
|
||||
#
|
||||
# Copyright (c) 2004-2005 The Trustees of Indiana University.
|
||||
# All rights reserved.
|
||||
# Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
|
||||
# All rights reserved.
|
||||
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
||||
# University of Stuttgart. All rights reserved.
|
||||
# Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
# All rights reserved.
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
# Additional copyrights may follow
|
||||
#
|
||||
# $HEADER$
|
||||
#
|
||||
# This is the US/English general help file for Open RTE's orterun.
|
||||
#
|
||||
[orte-rmaps-rr:alloc-error]
|
||||
%d slots were requested, but only %d slots were available.
|
||||
|
||||
Either request fewer slots for your application, or make more slots available
|
||||
for use.
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "include/orte_constants.h"
|
||||
#include "include/orte_types.h"
|
||||
#include "opal/util/output.h"
|
||||
#include "opal/util/show_help.h"
|
||||
#include "mca/ns/ns.h"
|
||||
#include "mca/gpr/gpr.h"
|
||||
#include "mca/rmaps/base/base.h"
|
||||
@ -179,6 +180,8 @@ static int map_app_by_node(
|
||||
|
||||
/* Double check that the list is not empty */
|
||||
if (opal_list_get_end(nodes) == cur_node_item) {
|
||||
opal_show_help("help-orte-rmaps-rr.txt", "orte-rmaps-rr:alloc-error",
|
||||
true, num_alloc, app->num_procs);
|
||||
return ORTE_ERR_TEMP_OUT_OF_RESOURCE;
|
||||
}
|
||||
|
||||
@ -186,6 +189,8 @@ static int map_app_by_node(
|
||||
then we're full */
|
||||
if (start == cur_node_item) {
|
||||
if (!did_alloc) {
|
||||
opal_show_help("help-orte-rmaps-rr.txt", "orte-rmaps-rr:alloc-error",
|
||||
true, num_alloc, app->num_procs);
|
||||
return ORTE_ERR_TEMP_OUT_OF_RESOURCE;
|
||||
}
|
||||
}
|
||||
@ -273,6 +278,8 @@ static int map_app_by_slot(
|
||||
/* Did we allocate everything? */
|
||||
|
||||
if (num_alloc < app->num_procs) {
|
||||
opal_show_help("help-rmaps-rr.txt", "rmaps-rr:alloc-error",
|
||||
true, num_alloc, app->num_procs);
|
||||
return ORTE_ERR_OUT_OF_RESOURCE;
|
||||
}
|
||||
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user