[mpich2-commits] r7860 - in mpich2/trunk/src/pm/hydra: . tools/bootstrap/external tools/bootstrap/src
balaji at mcs.anl.gov
balaji at mcs.anl.gov
Fri Jan 28 23:40:16 CST 2011
Author: balaji
Date: 2011-01-28 23:40:16 -0600 (Fri, 28 Jan 2011)
New Revision: 7860
Modified:
mpich2/trunk/src/pm/hydra/configure.in
mpich2/trunk/src/pm/hydra/tools/bootstrap/external/external_init.c
mpich2/trunk/src/pm/hydra/tools/bootstrap/external/external_launch.c
mpich2/trunk/src/pm/hydra/tools/bootstrap/src/bsci_init.c.in
Log:
Added a new "none" launcher. Fixes ticket #1068.
Modified: mpich2/trunk/src/pm/hydra/configure.in
===================================================================
--- mpich2/trunk/src/pm/hydra/configure.in 2011-01-29 01:15:17 UTC (rev 7859)
+++ mpich2/trunk/src/pm/hydra/configure.in 2011-01-29 05:40:16 UTC (rev 7860)
@@ -145,9 +145,9 @@
#########################################################################
AC_ARG_WITH(hydra-bss,
[AC_HELP_STRING([--with-hydra-bss=name],
- [Bootstrap Server (none,ssh,rsh,fork,slurm,ll,lsf,sge,persist,pbs)])],
+ [Bootstrap Server (ssh,none,rsh,fork,slurm,ll,lsf,sge,persist,pbs)])],
[ hydra_bss=$withval ],
- [ hydra_bss="none,ssh,rsh,fork,slurm,ll,lsf,sge,persist,pbs" ])
+ [ hydra_bss="ssh,none,rsh,fork,slurm,ll,lsf,sge,persist,pbs" ])
AC_MSG_CHECKING(bootstrap server)
AC_MSG_RESULT($hydra_bss)
hydra_bss_names="`echo $hydra_bss | sed -e 's/:/ /g' -e 's/,/ /g'`"
@@ -210,6 +210,7 @@
none|no)
hydra_bss_none=true
available_bss=`echo $available_bss none`
+ available_launchers=`echo $available_launchers none`
available_rmks=`echo $available_rmks none`
;;
*)
Modified: mpich2/trunk/src/pm/hydra/tools/bootstrap/external/external_init.c
===================================================================
--- mpich2/trunk/src/pm/hydra/tools/bootstrap/external/external_init.c 2011-01-29 01:15:17 UTC (rev 7859)
+++ mpich2/trunk/src/pm/hydra/tools/bootstrap/external/external_init.c 2011-01-29 05:40:16 UTC (rev 7860)
@@ -105,6 +105,11 @@
return external_launcher_init();
}
+HYD_status HYDT_bsci_launcher_none_init(void)
+{
+ return external_launcher_init();
+}
+
HYD_status HYDT_bsci_rmk_lsf_init(void)
{
return external_rmk_init();
Modified: mpich2/trunk/src/pm/hydra/tools/bootstrap/external/external_launch.c
===================================================================
--- mpich2/trunk/src/pm/hydra/tools/bootstrap/external/external_launch.c 2011-01-29 01:15:17 UTC (rev 7859)
+++ mpich2/trunk/src/pm/hydra/tools/bootstrap/external/external_launch.c 2011-01-29 05:40:16 UTC (rev 7860)
@@ -172,7 +172,8 @@
/* If launcher is 'fork', or this is the localhost, use fork
* to launch the process */
- if (!strcmp(HYDT_bsci_info.launcher, "fork") || lh) {
+ if (!strcmp(HYDT_bsci_info.launcher, "fork") ||
+ !strcmp(HYDT_bsci_info.launcher, "none") || lh) {
offset = exec_idx;
if (control_fd) {
@@ -220,6 +221,12 @@
HYDU_print_strlist(targs + offset);
}
+ if (!strcmp(HYDT_bsci_info.launcher, "none")) {
+ HYDU_dump_noprefix(stdout, "HYDRA_LAUNCH: ");
+ HYDU_print_strlist(targs + offset);
+ continue;
+ }
+
/* The stdin pointer is a dummy value. We don't just pass it
* NULL, as older versions of ssh seem to freak out when no
* stdin socket is provided. */
@@ -250,6 +257,9 @@
HYDU_ERR_POP(status, "demux returned error registering fd\n");
}
+ if (!strcmp(HYDT_bsci_info.launcher, "none"))
+ HYDU_dump_noprefix(stdout, "HYDRA_LAUNCH_END\n");
+
fn_exit:
HYDU_free_strlist(targs);
if (path)
Modified: mpich2/trunk/src/pm/hydra/tools/bootstrap/src/bsci_init.c.in
===================================================================
--- mpich2/trunk/src/pm/hydra/tools/bootstrap/src/bsci_init.c.in 2011-01-29 01:15:17 UTC (rev 7859)
+++ mpich2/trunk/src/pm/hydra/tools/bootstrap/src/bsci_init.c.in 2011-01-29 05:40:16 UTC (rev 7860)
@@ -112,7 +112,7 @@
HYD_status HYDT_bsci_init(const char *user_rmk, const char *user_launcher,
const char *user_launcher_exec, int enablex, int debug)
{
- int i;
+ int i, detected_rmk;
HYD_status status = HYD_SUCCESS;
HYDU_FUNC_ENTER();
@@ -130,28 +130,14 @@
MPL_env2str("HYDRA_RMK", (const char **) &HYDT_bsci_info.rmk);
/* User didn't specify an RMK; try to detect one */
- if (HYDT_bsci_info.rmk == NULL)
+ if (HYDT_bsci_info.rmk == NULL) {
+ detected_rmk = 0;
HYDT_bsci_info.rmk = detect_rmk(debug);
-
- if (HYDT_bsci_info.rmk == NULL)
- HYDT_bsci_info.rmk = HYDU_strdup(HYDRA_DEFAULT_RMK);
-
- /* Make sure the RMK we found is valid */
- for (i = 0; rmk_array[i]; i++) {
- if (!strcmp(HYDT_bsci_info.rmk, rmk_array[i])) {
- status = (*rmk_init_array[i])();
- HYDU_ERR_POP(status, "RMK init returned error\n");
- break;
- }
+ if (HYDT_bsci_info.rmk)
+ detected_rmk = 1;
}
- if (rmk_array[i] == NULL)
- HYDU_ERR_SETANDJUMP(status, HYD_INTERNAL_ERROR,
- "unrecognized RMK: %s\n", HYDT_bsci_info.rmk);
- /* Set default values for the remaining functions */
- set_rmk_defaults();
-
/* See if the user specified a launcher */
if (user_launcher)
HYDT_bsci_info.launcher = HYDU_strdup(user_launcher);
@@ -162,7 +148,7 @@
/* User didn't specify a launcher; try to see if the RMK also
* provides launcher capabilities */
- if (HYDT_bsci_info.launcher == NULL) {
+ if (detected_rmk && HYDT_bsci_info.launcher == NULL) {
for (i = 0; launcher_array[i]; i++)
if (!strcmp(HYDT_bsci_info.rmk, launcher_array[i]))
break;
@@ -170,6 +156,25 @@
HYDT_bsci_info.launcher = HYDU_strdup(launcher_array[i]);
}
+
+ /* If no RMK is provided or detected, use the default RMK */
+ if (HYDT_bsci_info.rmk == NULL)
+ HYDT_bsci_info.rmk = HYDU_strdup(HYDRA_DEFAULT_RMK);
+
+ /* Initialize the RMK */
+ for (i = 0; rmk_array[i]; i++) {
+ if (!strcmp(HYDT_bsci_info.rmk, rmk_array[i])) {
+ status = (*rmk_init_array[i])();
+ HYDU_ERR_POP(status, "RMK init returned error\n");
+ break;
+ }
+ }
+ if (rmk_array[i] == NULL)
+ HYDU_ERR_SETANDJUMP(status, HYD_INTERNAL_ERROR,
+ "unrecognized RMK: %s\n", HYDT_bsci_info.rmk);
+
+
+ /* If no launcher is provided or detected, use the default launcher */
if (HYDT_bsci_info.launcher == NULL)
HYDT_bsci_info.launcher = HYDU_strdup(HYDRA_DEFAULT_LAUNCHER);
@@ -198,7 +203,9 @@
HYDU_ERR_SETANDJUMP(status, HYD_INTERNAL_ERROR,
"unrecognized launcher: %s\n", HYDT_bsci_info.launcher);
+
/* Set default values for the remaining functions */
+ set_rmk_defaults();
set_launcher_defaults();
/* This function is mandatory */
More information about the mpich2-commits
mailing list