[mpich2-commits] r4224 - in mpich2/trunk/src/pm/hydra: . bootstrap/src css css/include css/none css/src css/utils include launcher/mpiexec launcher/utils
balaji at mcs.anl.gov
balaji at mcs.anl.gov
Mon Mar 30 02:00:07 CDT 2009
Author: balaji
Date: 2009-03-30 02:00:07 -0500 (Mon, 30 Mar 2009)
New Revision: 4224
Added:
mpich2/trunk/src/pm/hydra/css/
mpich2/trunk/src/pm/hydra/css/Makefile.sm
mpich2/trunk/src/pm/hydra/css/include/
mpich2/trunk/src/pm/hydra/css/include/cssi.h.in
mpich2/trunk/src/pm/hydra/css/none/
mpich2/trunk/src/pm/hydra/css/none/Makefile.sm
mpich2/trunk/src/pm/hydra/css/none/none.h
mpich2/trunk/src/pm/hydra/css/none/none_finalize.c
mpich2/trunk/src/pm/hydra/css/none/none_init.c
mpich2/trunk/src/pm/hydra/css/none/none_query_string.c
mpich2/trunk/src/pm/hydra/css/src/
mpich2/trunk/src/pm/hydra/css/src/Makefile.sm
mpich2/trunk/src/pm/hydra/css/src/cssi_finalize.c
mpich2/trunk/src/pm/hydra/css/src/cssi_init.c.in
mpich2/trunk/src/pm/hydra/css/src/cssi_query_string.c
mpich2/trunk/src/pm/hydra/css/utils/
mpich2/trunk/src/pm/hydra/css/utils/Makefile.sm
mpich2/trunk/src/pm/hydra/css/utils/cssu_tmp.c
Modified:
mpich2/trunk/src/pm/hydra/Makefile.sm
mpich2/trunk/src/pm/hydra/README
mpich2/trunk/src/pm/hydra/bootstrap/src/bsci_init.c.in
mpich2/trunk/src/pm/hydra/configure.in
mpich2/trunk/src/pm/hydra/include/hydra.h
mpich2/trunk/src/pm/hydra/launcher/mpiexec/mpiexec.c
mpich2/trunk/src/pm/hydra/launcher/mpiexec/utils.c
mpich2/trunk/src/pm/hydra/launcher/utils/lchu.c
Log:
Added some place holder files for the communication
sub-system. There's no code currently.
Modified: mpich2/trunk/src/pm/hydra/Makefile.sm
===================================================================
--- mpich2/trunk/src/pm/hydra/Makefile.sm 2009-03-30 04:43:50 UTC (rev 4223)
+++ mpich2/trunk/src/pm/hydra/Makefile.sm 2009-03-30 07:00:07 UTC (rev 4224)
@@ -4,7 +4,7 @@
# See COPYRIGHT in top-level directory.
#
-SUBDIRS = utils control bootstrap demux pm launcher .
+SUBDIRS = utils control bootstrap css demux pm launcher .
all-preamble:
@if [ ! -d lib ] ; then mkdir lib ; fi
Modified: mpich2/trunk/src/pm/hydra/README
===================================================================
--- mpich2/trunk/src/pm/hydra/README 2009-03-30 04:43:50 UTC (rev 4223)
+++ mpich2/trunk/src/pm/hydra/README 2009-03-30 07:00:07 UTC (rev 4224)
@@ -1,6 +1,5 @@
General
-------
-
Hydra is a process management system for starting parallel jobs. Hydra
is designed to natively work with multiple daemons such as ssh, pbs,
slurm and sge. However, in the current release, only ssh and fork are
@@ -13,7 +12,6 @@
Quick Start
-----------
-
To use hydra, mpich2 needs to be configured with the configure option
--with-pm=hydra.
@@ -58,7 +56,6 @@
Environment settings
--------------------
-
HYDRA_HOST_FILE: This variable points to the default host file to use,
when the "-f" option is not provided to mpiexec.
@@ -69,8 +66,8 @@
setenv HYDRA_HOST_FILE <path_to_host_file>/hosts
-MPIEXEC_DEBUG: Setting this to "1" enables debug mode; set it to "0"
-to disable.
+HYDRA_DEBUG: Setting this to "1" enables debug mode; set it to "0" to
+disable.
HYDRA_ENV: Setting this to "all" will pass all the environment to the
application processes.
@@ -78,7 +75,6 @@
Bootstrap servers
-----------------
-
Hydra supports SSH and FORK bootstrap servers to launch processes. You
can pick these through the mpiexec option --bootstrap:
@@ -96,7 +92,6 @@
Process-core binding
--------------------
-
To configure hydra with process-core binding support, use the
configure option --enable-hydra-procbind.
@@ -192,7 +187,6 @@
X Forwarding
------------
-
X-forwarding is specific to each bootstrap server. Some servers do it
by default, while some don't. For ssh, this is disabled by default. To
enable it, you should use the option --enable-x to mpiexec.
@@ -202,20 +196,36 @@
Persistent-mode Proxies
-----------------------
-
Hydra also supports proxies to be launched in persistent mode on the
system (e.g., by a system administrator). To launch in persistent
mode, use:
- $ mpiexec --boot-proxies
+ $ mpiexec --boot-proxies -f hosts
- $ mpiexec --use-persistent -n 4 ./app1
+ $ mpiexec --use-persistent -f hosts -n 4 ./app1
- $ mpiexec --use-persistent -n 4 ./app2
+ $ mpiexec --use-persistent -f hosts -n 4 ./app2
- $ mpiexec --use-persistent -n 4 ./app3
+ $ mpiexec --use-persistent -f hosts -n 4 ./app3
- $ mpiexec --shutdown-proxies
+ $ mpiexec --shutdown-proxies -f hosts
Persistent mode can also be picked using the environment setting
HYDRA_LAUNCH_MODE=persistent.
+
+
+Communication sub-systems
+-------------------------
+Hydra supports different communication sub-systems to connect proxies
+in the persistent mode. The default is "none", which means that the
+proxies are not connected. You can pick these through the mpiexec
+option --css:
+
+ $ mpiexec --css ib -f hosts -n 4 ./app
+
+ (or)
+
+ $ mpiexec --css mx -f hosts -n 4 ./app
+
+This can also be controlled by using the HYDRA_CSS environment
+variable.
Modified: mpich2/trunk/src/pm/hydra/bootstrap/src/bsci_init.c.in
===================================================================
--- mpich2/trunk/src/pm/hydra/bootstrap/src/bsci_init.c.in 2009-03-30 04:43:50 UTC (rev 4223)
+++ mpich2/trunk/src/pm/hydra/bootstrap/src/bsci_init.c.in 2009-03-30 07:00:07 UTC (rev 4224)
@@ -25,7 +25,6 @@
HYD_BSCI_fns.wait_for_completion = NULL;
HYD_BSCI_fns.finalize = NULL;
- i = 0;
for (i = 0; HYD_BSCI_comp_array[i]; i++) {
if (!strcmp(bootstrap, HYD_BSCI_comp_array[i])) {
status = (*HYD_BSCI_comp_init[i])();
Modified: mpich2/trunk/src/pm/hydra/configure.in
===================================================================
--- mpich2/trunk/src/pm/hydra/configure.in 2009-03-30 04:43:50 UTC (rev 4223)
+++ mpich2/trunk/src/pm/hydra/configure.in 2009-03-30 07:00:07 UTC (rev 4224)
@@ -90,6 +90,34 @@
AC_SUBST(hydra_bss_init_array)
+dnl Check what communication sub-system we should use
+AC_ARG_WITH(hydra-css, [ --with-hydra-css Communication Sub-system],
+ [ hydra_css=$withval ],
+ [ hydra_css="none" ])
+AC_MSG_CHECKING(communication subsystem)
+AC_MSG_RESULT($hydra_css)
+hydra_css_names="`echo $hydra_css | sed -e 's/:/ /g' -e 's/,/ /g'`"
+AC_DEFINE_UNQUOTED(HYDRA_CSS_NAMES,"$hydra_css_names",[Definition of enabled communication systems])
+AC_SUBST(hydra_css_names)
+
+for hydra_css_name in ${hydra_css_names}; do
+ if test -z "${hydra_default_css}" ; then
+ hydra_default_css=$hydra_css_name
+ fi
+ hydra_css_makefiles="$hydra_css_makefiles css/${hydra_css_name}/Makefile"
+ hydra_css_init_decl="${hydra_css_init_decl}
+HYD_Status HYD_CSSI_${hydra_css_name}_init(void);"
+ hydra_css_name_array="${hydra_css_name_array} \"${hydra_css_name}\", "
+ hydra_css_init_array="${hydra_css_init_array} HYD_CSSI_${hydra_css_name}_init, "
+done
+hydra_css_name_array="${hydra_css_name_array} NULL"
+hydra_css_init_array="${hydra_css_init_array} NULL"
+AC_DEFINE_UNQUOTED(HYDRA_DEFAULT_CSS,"$hydra_default_css",[Default communication sub-system])
+AC_SUBST(hydra_css_init_decl)
+AC_SUBST(hydra_css_name_array)
+AC_SUBST(hydra_css_init_array)
+
+
dnl Check what process manager we should use
AC_ARG_WITH(hydra-pm, [ --with-hydra-pm Process Manager],
[ hydra_pm=$withval ],
@@ -323,5 +351,11 @@
bootstrap/src/Makefile \
bootstrap/src/bsci_init.c \
bootstrap/include/bsci.h \
- ${hydra_bss_makefiles}
+ ${hydra_bss_makefiles} \
+ css/Makefile \
+ css/utils/Makefile \
+ css/src/Makefile \
+ css/src/cssi_init.c \
+ css/include/cssi.h \
+ ${hydra_css_makefiles}
)
Property changes on: mpich2/trunk/src/pm/hydra/css
___________________________________________________________________
Name: svn:ignore
+ Makefile
Makefile.in
Added: mpich2/trunk/src/pm/hydra/css/Makefile.sm
===================================================================
--- mpich2/trunk/src/pm/hydra/css/Makefile.sm (rev 0)
+++ mpich2/trunk/src/pm/hydra/css/Makefile.sm 2009-03-30 07:00:07 UTC (rev 4224)
@@ -0,0 +1,8 @@
+# -*- Mode: Makefile; -*-
+#
+# (C) 2008 by Argonne National Laboratory.
+# See COPYRIGHT in top-level directory.
+#
+
+SUBDIRS_hydra_css_names = none
+SUBDIRS = utils src @hydra_css_names@ .
Added: mpich2/trunk/src/pm/hydra/css/include/cssi.h.in
===================================================================
--- mpich2/trunk/src/pm/hydra/css/include/cssi.h.in (rev 0)
+++ mpich2/trunk/src/pm/hydra/css/include/cssi.h.in 2009-03-30 07:00:07 UTC (rev 4224)
@@ -0,0 +1,25 @@
+/* -*- Mode: C; c-basic-offset:4 ; -*- */
+/*
+ * (C) 2008 by Argonne National Laboratory.
+ * See COPYRIGHT in top-level directory.
+ */
+
+#ifndef CSSI_H_INCLUDED
+#define CSSI_H_INCLUDED
+
+struct HYD_CSSI_fns {
+ HYD_Status(*init) (void);
+ HYD_Status(*query_string) (char *str);
+ HYD_Status(*finalize) (void);
+};
+
+extern struct HYD_CSSI_fns HYD_CSSI_fns;
+
+HYD_Status HYD_CSSI_init(char *css);
+HYD_Status HYD_CSSI_query_string(char *str);
+HYD_Status HYD_CSSI_finalize(void);
+
+/* Each communication sub-system has to expose an initialization function */
+ at hydra_css_init_decl@
+
+#endif /* CSSI_H_INCLUDED */
Property changes on: mpich2/trunk/src/pm/hydra/css/none
___________________________________________________________________
Name: svn:ignore
+ Makefile
Makefile.in
Added: mpich2/trunk/src/pm/hydra/css/none/Makefile.sm
===================================================================
--- mpich2/trunk/src/pm/hydra/css/none/Makefile.sm (rev 0)
+++ mpich2/trunk/src/pm/hydra/css/none/Makefile.sm 2009-03-30 07:00:07 UTC (rev 4224)
@@ -0,0 +1,18 @@
+# -*- Mode: Makefile; -*-
+#
+# (C) 2008 by Argonne National Laboratory.
+# See COPYRIGHT in top-level directory.
+#
+
+HYDRA_LIB_PATH = ../../lib
+
+libhydra_a_DIR = ${HYDRA_LIB_PATH}
+libhydra_a_SOURCES = none_init.c none_query_string.c none_finalize.c
+INCLUDES = -I${abs_srcdir}/../../include \
+ -I${abs_srcdir}/../../../../include \
+ -I../../include \
+ -I../../../../include \
+ -I${abs_srcdir}/../include \
+ -I../include \
+ -I${abs_srcdir}/../utils \
+ -I${abs_srcdir}/../../demux
Added: mpich2/trunk/src/pm/hydra/css/none/none.h
===================================================================
--- mpich2/trunk/src/pm/hydra/css/none/none.h (rev 0)
+++ mpich2/trunk/src/pm/hydra/css/none/none.h 2009-03-30 07:00:07 UTC (rev 4224)
@@ -0,0 +1,15 @@
+/* -*- Mode: C; c-basic-offset:4 ; -*- */
+/*
+ * (C) 2008 by Argonne National Laboratory.
+ * See COPYRIGHT in top-level directory.
+ */
+
+#ifndef NONE_H_INCLUDED
+#define NONE_H_INCLUDED
+
+#include "hydra_base.h"
+
+HYD_Status HYD_CSSD_none_query_string(char *str);
+HYD_Status HYD_CSSD_none_finalize(void);
+
+#endif /* NONE_H_INCLUDED */
Added: mpich2/trunk/src/pm/hydra/css/none/none_finalize.c
===================================================================
--- mpich2/trunk/src/pm/hydra/css/none/none_finalize.c (rev 0)
+++ mpich2/trunk/src/pm/hydra/css/none/none_finalize.c 2009-03-30 07:00:07 UTC (rev 4224)
@@ -0,0 +1,22 @@
+/* -*- Mode: C; c-basic-offset:4 ; -*- */
+/*
+ * (C) 2008 by Argonne National Laboratory.
+ * See COPYRIGHT in top-level directory.
+ */
+
+#include "hydra_base.h"
+#include "cssi.h"
+#include "none.h"
+
+struct HYD_CSSI_fns HYD_CSSI_fns;
+
+HYD_Status HYD_CSSD_none_finalize(void)
+{
+ HYD_Status status = HYD_SUCCESS;
+
+ HYDU_FUNC_ENTER();
+
+ HYDU_FUNC_EXIT();
+
+ return status;
+}
Added: mpich2/trunk/src/pm/hydra/css/none/none_init.c
===================================================================
--- mpich2/trunk/src/pm/hydra/css/none/none_init.c (rev 0)
+++ mpich2/trunk/src/pm/hydra/css/none/none_init.c 2009-03-30 07:00:07 UTC (rev 4224)
@@ -0,0 +1,25 @@
+/* -*- Mode: C; c-basic-offset:4 ; -*- */
+/*
+ * (C) 2008 by Argonne National Laboratory.
+ * See COPYRIGHT in top-level directory.
+ */
+
+#include "hydra_base.h"
+#include "cssi.h"
+#include "none.h"
+
+struct HYD_CSSI_fns HYD_CSSI_fns;
+
+HYD_Status HYD_CSSI_none_init(void)
+{
+ HYD_Status status = HYD_SUCCESS;
+
+ HYDU_FUNC_ENTER();
+
+ HYD_CSSI_fns.query_string = HYD_CSSD_none_query_string;
+ HYD_CSSI_fns.finalize = HYD_CSSD_none_finalize;
+
+ HYDU_FUNC_EXIT();
+
+ return status;
+}
Added: mpich2/trunk/src/pm/hydra/css/none/none_query_string.c
===================================================================
--- mpich2/trunk/src/pm/hydra/css/none/none_query_string.c (rev 0)
+++ mpich2/trunk/src/pm/hydra/css/none/none_query_string.c 2009-03-30 07:00:07 UTC (rev 4224)
@@ -0,0 +1,22 @@
+/* -*- Mode: C; c-basic-offset:4 ; -*- */
+/*
+ * (C) 2008 by Argonne National Laboratory.
+ * See COPYRIGHT in top-level directory.
+ */
+
+#include "hydra_base.h"
+#include "cssi.h"
+#include "none.h"
+
+struct HYD_CSSI_fns HYD_CSSI_fns;
+
+HYD_Status HYD_CSSD_none_query_string(char *str)
+{
+ HYD_Status status = HYD_SUCCESS;
+
+ HYDU_FUNC_ENTER();
+
+ HYDU_FUNC_EXIT();
+
+ return status;
+}
Property changes on: mpich2/trunk/src/pm/hydra/css/src
___________________________________________________________________
Name: svn:ignore
+ Makefile
Makefile.in
Added: mpich2/trunk/src/pm/hydra/css/src/Makefile.sm
===================================================================
--- mpich2/trunk/src/pm/hydra/css/src/Makefile.sm (rev 0)
+++ mpich2/trunk/src/pm/hydra/css/src/Makefile.sm 2009-03-30 07:00:07 UTC (rev 4224)
@@ -0,0 +1,18 @@
+# -*- Mode: Makefile; -*-
+#
+# (C) 2008 by Argonne National Laboratory.
+# See COPYRIGHT in top-level directory.
+#
+
+HYDRA_LIB_PATH = ../../lib
+
+libhydra_a_DIR = ${HYDRA_LIB_PATH}
+libhydra_a_SOURCES = cssi_init.c cssi_finalize.c cssi_query_string.c
+INCLUDES = -I${abs_srcdir}/../../include \
+ -I${abs_srcdir}/../../../../include \
+ -I../../include \
+ -I../../../../include \
+ -I${abs_srcdir}/../include \
+ -I../include \
+ -I${abs_srcdir}/../utils \
+ -I${abs_srcdir}/../../demux
Added: mpich2/trunk/src/pm/hydra/css/src/cssi_finalize.c
===================================================================
--- mpich2/trunk/src/pm/hydra/css/src/cssi_finalize.c (rev 0)
+++ mpich2/trunk/src/pm/hydra/css/src/cssi_finalize.c 2009-03-30 07:00:07 UTC (rev 4224)
@@ -0,0 +1,23 @@
+/* -*- Mode: C; c-basic-offset:4 ; -*- */
+/*
+ * (C) 2008 by Argonne National Laboratory.
+ * See COPYRIGHT in top-level directory.
+ */
+
+#include "hydra_base.h"
+#include "cssi.h"
+
+struct HYD_CSSI_fns HYD_CSSI_fns;
+
+HYD_Status HYD_CSSI_finalize(void)
+{
+ HYD_Status status = HYD_SUCCESS;
+
+ HYDU_FUNC_ENTER();
+
+ status = HYD_CSSI_fns.finalize();
+
+ HYDU_FUNC_EXIT();
+
+ return status;
+}
Added: mpich2/trunk/src/pm/hydra/css/src/cssi_init.c.in
===================================================================
--- mpich2/trunk/src/pm/hydra/css/src/cssi_init.c.in (rev 0)
+++ mpich2/trunk/src/pm/hydra/css/src/cssi_init.c.in 2009-03-30 07:00:07 UTC (rev 4224)
@@ -0,0 +1,50 @@
+/* -*- Mode: C; c-basic-offset:4 ; -*- */
+/*
+ * (C) 2008 by Argonne National Laboratory.
+ * See COPYRIGHT in top-level directory.
+ */
+
+#include "hydra_base.h"
+#include "cssi.h"
+
+struct HYD_CSSI_fns HYD_CSSI_fns;
+
+char *HYD_CSSI_comp_array[] = { @hydra_css_name_array@ };
+HYD_Status(*HYD_CSSI_comp_init[])(void) = { @hydra_css_init_array@ };
+
+HYD_Status HYD_CSSI_init(char *css)
+{
+ int i;
+ HYD_Status status = HYD_SUCCESS;
+
+ HYDU_FUNC_ENTER();
+
+ HYD_CSSI_fns.query_string = NULL;
+ HYD_CSSI_fns.finalize = NULL;
+
+ for (i = 0; HYD_CSSI_comp_array[i]; i++) {
+ if (!strcmp(css, HYD_CSSI_comp_array[i])) {
+ status = (*HYD_CSSI_comp_init[i])();
+ break;
+ }
+ }
+
+ if (HYD_CSSI_comp_array[i] == NULL)
+ HYDU_ERR_SETANDJUMP1(status, HYD_INTERNAL_ERROR,
+ "unrecognized communication sub-system: %s\n", css);
+
+ /* These functions are mandatory */
+ if (HYD_CSSI_fns.query_string == NULL)
+ HYDU_ERR_SETANDJUMP(status, HYD_INTERNAL_ERROR,
+ "mandatory communication sub-system function undefined\n");
+ if (HYD_CSSI_fns.finalize == NULL)
+ HYDU_ERR_SETANDJUMP(status, HYD_INTERNAL_ERROR,
+ "mandatory communication sub-system function undefined\n");
+
+ fn_exit:
+ HYDU_FUNC_EXIT();
+ return status;
+
+ fn_fail:
+ goto fn_exit;
+}
Added: mpich2/trunk/src/pm/hydra/css/src/cssi_query_string.c
===================================================================
--- mpich2/trunk/src/pm/hydra/css/src/cssi_query_string.c (rev 0)
+++ mpich2/trunk/src/pm/hydra/css/src/cssi_query_string.c 2009-03-30 07:00:07 UTC (rev 4224)
@@ -0,0 +1,23 @@
+/* -*- Mode: C; c-basic-offset:4 ; -*- */
+/*
+ * (C) 2008 by Argonne National Laboratory.
+ * See COPYRIGHT in top-level directory.
+ */
+
+#include "hydra_base.h"
+#include "cssi.h"
+
+struct HYD_CSSI_fns HYD_CSSI_fns;
+
+HYD_Status HYD_CSSI_query_string(char *str)
+{
+ HYD_Status status = HYD_SUCCESS;
+
+ HYDU_FUNC_ENTER();
+
+ status = HYD_CSSI_fns.query_string(str);
+
+ HYDU_FUNC_EXIT();
+
+ return status;
+}
Property changes on: mpich2/trunk/src/pm/hydra/css/utils
___________________________________________________________________
Name: svn:ignore
+ Makefile
Makefile.in
Added: mpich2/trunk/src/pm/hydra/css/utils/Makefile.sm
===================================================================
--- mpich2/trunk/src/pm/hydra/css/utils/Makefile.sm (rev 0)
+++ mpich2/trunk/src/pm/hydra/css/utils/Makefile.sm 2009-03-30 07:00:07 UTC (rev 4224)
@@ -0,0 +1,17 @@
+# -*- Mode: Makefile; -*-
+#
+# (C) 2008 by Argonne National Laboratory.
+# See COPYRIGHT in top-level directory.
+#
+
+HYDRA_LIB_PATH = ../../lib
+
+libhydra_a_DIR = ${HYDRA_LIB_PATH}
+libhydra_a_SOURCES = cssu_tmp.c
+INCLUDES = -I${abs_srcdir}/../../include \
+ -I${abs_srcdir}/../../../../include \
+ -I../../include \
+ -I../../../../include \
+ -I${abs_srcdir}/../include \
+ -I../include \
+ -I${abs_srcdir}/../../demux
Added: mpich2/trunk/src/pm/hydra/css/utils/cssu_tmp.c
===================================================================
--- mpich2/trunk/src/pm/hydra/css/utils/cssu_tmp.c (rev 0)
+++ mpich2/trunk/src/pm/hydra/css/utils/cssu_tmp.c 2009-03-30 07:00:07 UTC (rev 4224)
@@ -0,0 +1,8 @@
+/* -*- Mode: C; c-basic-offset:4 ; -*- */
+/*
+ * (C) 2008 by Argonne National Laboratory.
+ * See COPYRIGHT in top-level directory.
+ */
+
+#include "hydra_base.h"
+#include "cssi.h"
Modified: mpich2/trunk/src/pm/hydra/include/hydra.h
===================================================================
--- mpich2/trunk/src/pm/hydra/include/hydra.h 2009-03-30 04:43:50 UTC (rev 4223)
+++ mpich2/trunk/src/pm/hydra/include/hydra.h 2009-03-30 07:00:07 UTC (rev 4224)
@@ -17,6 +17,7 @@
HYD_Launch_mode_t launch_mode;
char *bootstrap;
+ char *css;
HYD_Binding binding;
char *user_bind_map;
Modified: mpich2/trunk/src/pm/hydra/launcher/mpiexec/mpiexec.c
===================================================================
--- mpich2/trunk/src/pm/hydra/launcher/mpiexec/mpiexec.c 2009-03-30 04:43:50 UTC (rev 4223)
+++ mpich2/trunk/src/pm/hydra/launcher/mpiexec/mpiexec.c 2009-03-30 07:00:07 UTC (rev 4224)
@@ -44,6 +44,7 @@
printf("\t--enable-x/--disable-x [Enable or disable X forwarding]\n");
printf("\t--proxy-port [Port on which proxies can listen]\n");
printf("\t--bootstrap [Bootstrap server to use]\n");
+ printf("\t--css [Communication sub-system to use]\n");
printf("\t--binding [Process binding]");
printf("\t--boot-proxies [Boot proxies to run in persistent mode]\n");
printf("\t--shutdown-proxies [Shutdown persistent mode proxies]\n");
Modified: mpich2/trunk/src/pm/hydra/launcher/mpiexec/utils.c
===================================================================
--- mpich2/trunk/src/pm/hydra/launcher/mpiexec/utils.c 2009-03-30 04:43:50 UTC (rev 4223)
+++ mpich2/trunk/src/pm/hydra/launcher/mpiexec/utils.c 2009-03-30 07:00:07 UTC (rev 4224)
@@ -222,6 +222,17 @@
continue;
}
+ if (!strcmp(str[0], "--css")) {
+ if (!str[1]) {
+ INCREMENT_ARGV(status);
+ str[1] = *argv;
+ }
+ HYDU_ERR_CHKANDJUMP(status, handle.css, HYD_INTERNAL_ERROR,
+ "duplicate communication sub-system\n");
+ handle.css = HYDU_strdup(str[1]);
+ continue;
+ }
+
if (!strcmp(str[0], "--binding")) {
if (!str[1]) {
INCREMENT_ARGV(status);
@@ -292,7 +303,7 @@
}
/* First set all the variables that do not depend on the launch mode */
- tmp = getenv("MPIEXEC_DEBUG");
+ tmp = getenv("HYDRA_DEBUG");
if (handle.debug == -1 && tmp)
handle.debug = atoi(tmp) ? 1 : 0;
if (handle.debug == -1)
@@ -304,6 +315,12 @@
if (handle.bootstrap == NULL)
handle.bootstrap = HYDU_strdup(HYDRA_DEFAULT_BSS);
+ tmp = getenv("HYDRA_CSS");
+ if (handle.css == NULL && tmp)
+ handle.css = HYDU_strdup(tmp);
+ if (handle.css == NULL)
+ handle.css = HYDU_strdup(HYDRA_DEFAULT_CSS);
+
tmp = getenv("HYDRA_HOST_FILE");
if (handle.host_file == NULL && tmp)
handle.host_file = HYDU_strdup(tmp);
Modified: mpich2/trunk/src/pm/hydra/launcher/utils/lchu.c
===================================================================
--- mpich2/trunk/src/pm/hydra/launcher/utils/lchu.c 2009-03-30 04:43:50 UTC (rev 4223)
+++ mpich2/trunk/src/pm/hydra/launcher/utils/lchu.c 2009-03-30 07:00:07 UTC (rev 4224)
@@ -17,6 +17,7 @@
handle.launch_mode = HYD_LAUNCH_UNSET;
handle.bootstrap = NULL;
+ handle.css = NULL;
handle.binding = HYD_BIND_UNSET;
handle.user_bind_map = NULL;
@@ -50,54 +51,41 @@
void HYD_LCHU_free_params(void)
{
- if (handle.base_path) {
+ if (handle.base_path)
HYDU_FREE(handle.base_path);
- handle.base_path = NULL;
- }
- if (handle.bootstrap) {
+ if (handle.bootstrap)
HYDU_FREE(handle.bootstrap);
- handle.bootstrap = NULL;
- }
- if (handle.wdir) {
+ if (handle.css)
+ HYDU_FREE(handle.css);
+
+ if (handle.wdir)
HYDU_FREE(handle.wdir);
- handle.wdir = NULL;
- }
- if (handle.host_file) {
+
+ if (handle.host_file)
HYDU_FREE(handle.host_file);
- handle.host_file = NULL;
- }
- if (handle.global_env) {
+ if (handle.global_env)
HYDU_env_free_list(handle.global_env);
- handle.global_env = NULL;
- }
- if (handle.system_env) {
+ if (handle.system_env)
HYDU_env_free_list(handle.system_env);
- handle.system_env = NULL;
- }
- if (handle.user_env) {
+ if (handle.user_env)
HYDU_env_free_list(handle.user_env);
- handle.user_env = NULL;
- }
- if (handle.prop_env) {
+ if (handle.prop_env)
HYDU_env_free_list(handle.prop_env);
- handle.prop_env = NULL;
- }
- if (handle.exec_info_list) {
+ if (handle.exec_info_list)
HYDU_free_exec_info_list(handle.exec_info_list);
- handle.exec_info_list = NULL;
- }
- if (handle.partition_list) {
+ if (handle.partition_list)
HYDU_free_partition_list(handle.partition_list);
- handle.partition_list = NULL;
- }
+
+ /* Re-initialize everything to default values */
+ HYD_LCHU_init_params();
}
More information about the mpich2-commits
mailing list