[mpich2-commits] r4084 - in mpich2/trunk/src/pm/hydra: . bootstrap/fork bootstrap/include bootstrap/src bootstrap/ssh pm/central pm/utils
balaji at mcs.anl.gov
balaji at mcs.anl.gov
Sun Mar 15 22:32:00 CDT 2009
Author: balaji
Date: 2009-03-15 22:32:00 -0500 (Sun, 15 Mar 2009)
New Revision: 4084
Added:
mpich2/trunk/src/pm/hydra/bootstrap/include/bsci.h.in
mpich2/trunk/src/pm/hydra/bootstrap/src/bsci_init.c.in
Removed:
mpich2/trunk/src/pm/hydra/bootstrap/include/bsci.h
mpich2/trunk/src/pm/hydra/bootstrap/src/bsci_init.c
Modified:
mpich2/trunk/src/pm/hydra/bootstrap/fork/Makefile.sm
mpich2/trunk/src/pm/hydra/bootstrap/src/Makefile.sm
mpich2/trunk/src/pm/hydra/bootstrap/ssh/Makefile.sm
mpich2/trunk/src/pm/hydra/configure.in
mpich2/trunk/src/pm/hydra/pm/central/Makefile.sm
mpich2/trunk/src/pm/hydra/pm/utils/Makefile.sm
Log:
This commit will allow us to pick which bootstrap servers we want to
compile in. Once compiled in, we can pick the one we want to use at
runtime.
Modified: mpich2/trunk/src/pm/hydra/bootstrap/fork/Makefile.sm
===================================================================
--- mpich2/trunk/src/pm/hydra/bootstrap/fork/Makefile.sm 2009-03-16 00:32:20 UTC (rev 4083)
+++ mpich2/trunk/src/pm/hydra/bootstrap/fork/Makefile.sm 2009-03-16 03:32:00 UTC (rev 4084)
@@ -15,5 +15,6 @@
-I${abs_srcdir}/../../launcher/utils \
-I${abs_srcdir}/../../pm/utils \
-I${abs_srcdir}/../include \
+ -I../include \
-I${abs_srcdir}/../utils \
-I${abs_srcdir}/../../demux
Deleted: mpich2/trunk/src/pm/hydra/bootstrap/include/bsci.h
===================================================================
--- mpich2/trunk/src/pm/hydra/bootstrap/include/bsci.h 2009-03-16 00:32:20 UTC (rev 4083)
+++ mpich2/trunk/src/pm/hydra/bootstrap/include/bsci.h 2009-03-16 03:32:00 UTC (rev 4084)
@@ -1,31 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- * (C) 2008 by Argonne National Laboratory.
- * See COPYRIGHT in top-level directory.
- */
-
-#ifndef BSCI_H_INCLUDED
-#define BSCI_H_INCLUDED
-
-#include "hydra.h"
-
-struct HYD_BSCI_fns {
- HYD_Status(*launch_procs) (void);
- HYD_Status(*get_usize) (int *);
- HYD_Status(*wait_for_completion) (void);
- HYD_Status(*finalize) (void);
-};
-
-extern struct HYD_BSCI_fns HYD_BSCI_fns;
-
-HYD_Status HYD_BSCI_init(char *bootstrap);
-HYD_Status HYD_BSCI_launch_procs(void);
-HYD_Status HYD_BSCI_finalize(void);
-HYD_Status HYD_BSCI_get_usize(int *size);
-HYD_Status HYD_BSCI_wait_for_completion(void);
-
-/* Each bootstrap server has to expose an initialization function */
-HYD_Status HYD_BSCI_ssh_init(void);
-HYD_Status HYD_BSCI_fork_init(void);
-
-#endif /* BSCI_H_INCLUDED */
Added: mpich2/trunk/src/pm/hydra/bootstrap/include/bsci.h.in
===================================================================
--- mpich2/trunk/src/pm/hydra/bootstrap/include/bsci.h.in (rev 0)
+++ mpich2/trunk/src/pm/hydra/bootstrap/include/bsci.h.in 2009-03-16 03:32:00 UTC (rev 4084)
@@ -0,0 +1,30 @@
+/* -*- Mode: C; c-basic-offset:4 ; -*- */
+/*
+ * (C) 2008 by Argonne National Laboratory.
+ * See COPYRIGHT in top-level directory.
+ */
+
+#ifndef BSCI_H_INCLUDED
+#define BSCI_H_INCLUDED
+
+#include "hydra.h"
+
+struct HYD_BSCI_fns {
+ HYD_Status(*launch_procs) (void);
+ HYD_Status(*get_usize) (int *);
+ HYD_Status(*wait_for_completion) (void);
+ HYD_Status(*finalize) (void);
+};
+
+extern struct HYD_BSCI_fns HYD_BSCI_fns;
+
+HYD_Status HYD_BSCI_init(char *bootstrap);
+HYD_Status HYD_BSCI_launch_procs(void);
+HYD_Status HYD_BSCI_finalize(void);
+HYD_Status HYD_BSCI_get_usize(int *size);
+HYD_Status HYD_BSCI_wait_for_completion(void);
+
+/* Each bootstrap server has to expose an initialization function */
+ at hydra_bss_init_decl@
+
+#endif /* BSCI_H_INCLUDED */
Modified: mpich2/trunk/src/pm/hydra/bootstrap/src/Makefile.sm
===================================================================
--- mpich2/trunk/src/pm/hydra/bootstrap/src/Makefile.sm 2009-03-16 00:32:20 UTC (rev 4083)
+++ mpich2/trunk/src/pm/hydra/bootstrap/src/Makefile.sm 2009-03-16 03:32:00 UTC (rev 4084)
@@ -15,5 +15,6 @@
-I${abs_srcdir}/../../launcher/utils \
-I${abs_srcdir}/../../pm/utils \
-I${abs_srcdir}/../include \
+ -I../include \
-I${abs_srcdir}/../utils \
-I${abs_srcdir}/../../demux
Deleted: mpich2/trunk/src/pm/hydra/bootstrap/src/bsci_init.c
===================================================================
--- mpich2/trunk/src/pm/hydra/bootstrap/src/bsci_init.c 2009-03-16 00:32:20 UTC (rev 4083)
+++ mpich2/trunk/src/pm/hydra/bootstrap/src/bsci_init.c 2009-03-16 03:32:00 UTC (rev 4084)
@@ -1,53 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- * (C) 2008 by Argonne National Laboratory.
- * See COPYRIGHT in top-level directory.
- */
-
-#include "hydra_base.h"
-#include "bsci.h"
-#include "bscu.h"
-
-struct HYD_BSCI_fns HYD_BSCI_fns;
-
-HYD_Status HYD_BSCI_init(char *bootstrap)
-{
- HYD_Status status = HYD_SUCCESS;
-
- HYDU_FUNC_ENTER();
-
- HYD_BSCI_fns.launch_procs = NULL;
- HYD_BSCI_fns.get_usize = NULL;
- HYD_BSCI_fns.wait_for_completion = NULL;
- HYD_BSCI_fns.finalize = NULL;
-
- if (!strcmp(bootstrap, "ssh"))
- status = HYD_BSCI_ssh_init();
- else if (!strcmp(bootstrap, "fork"))
- status = HYD_BSCI_fork_init();
- else {
- HYDU_Error_printf("unrecognized bootstrap server: %s\n", bootstrap);
- status = HYD_INTERNAL_ERROR;
- goto fn_fail;
- }
-
- if (HYD_BSCI_fns.launch_procs == NULL) {
- /* This function is mandatory */
- HYDU_Error_printf("Mandatory bootstrap launch function undefined\n");
- status = HYD_INTERNAL_ERROR;
- goto fn_fail;
- }
- if (HYD_BSCI_fns.get_usize == NULL)
- HYD_BSCI_fns.get_usize = HYD_BSCU_get_usize;
- if (HYD_BSCI_fns.wait_for_completion == NULL)
- HYD_BSCI_fns.wait_for_completion = HYD_BSCU_wait_for_completion;
- if (HYD_BSCI_fns.finalize == NULL)
- HYD_BSCI_fns.finalize = HYD_BSCU_finalize;
-
- fn_exit:
- HYDU_FUNC_EXIT();
- return status;
-
- fn_fail:
- goto fn_exit;
-}
Copied: mpich2/trunk/src/pm/hydra/bootstrap/src/bsci_init.c.in (from rev 4083, mpich2/trunk/src/pm/hydra/bootstrap/src/bsci_init.c)
===================================================================
--- mpich2/trunk/src/pm/hydra/bootstrap/src/bsci_init.c.in (rev 0)
+++ mpich2/trunk/src/pm/hydra/bootstrap/src/bsci_init.c.in 2009-03-16 03:32:00 UTC (rev 4084)
@@ -0,0 +1,61 @@
+/* -*- Mode: C; c-basic-offset:4 ; -*- */
+/*
+ * (C) 2008 by Argonne National Laboratory.
+ * See COPYRIGHT in top-level directory.
+ */
+
+#include "hydra_base.h"
+#include "bsci.h"
+#include "bscu.h"
+
+struct HYD_BSCI_fns HYD_BSCI_fns;
+
+char *HYD_BSCI_comp_array[] = { @hydra_bss_name_array@ };
+HYD_Status(*HYD_BSCI_comp_init[])(void) = { @hydra_bss_init_array@ };
+
+HYD_Status HYD_BSCI_init(char *bootstrap)
+{
+ int i;
+ HYD_Status status = HYD_SUCCESS;
+
+ HYDU_FUNC_ENTER();
+
+ HYD_BSCI_fns.launch_procs = NULL;
+ HYD_BSCI_fns.get_usize = NULL;
+ 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])();
+ break;
+ }
+ }
+
+ if (HYD_BSCI_comp_array[i] == NULL) {
+ HYDU_Error_printf("unrecognized bootstrap server: %s\n", bootstrap);
+ status = HYD_INTERNAL_ERROR;
+ goto fn_fail;
+ }
+
+ if (HYD_BSCI_fns.launch_procs == NULL) {
+ /* This function is mandatory */
+ HYDU_Error_printf("Mandatory bootstrap launch function undefined\n");
+ status = HYD_INTERNAL_ERROR;
+ goto fn_fail;
+ }
+ if (HYD_BSCI_fns.get_usize == NULL)
+ HYD_BSCI_fns.get_usize = HYD_BSCU_get_usize;
+ if (HYD_BSCI_fns.wait_for_completion == NULL)
+ HYD_BSCI_fns.wait_for_completion = HYD_BSCU_wait_for_completion;
+ if (HYD_BSCI_fns.finalize == NULL)
+ HYD_BSCI_fns.finalize = HYD_BSCU_finalize;
+
+ fn_exit:
+ HYDU_FUNC_EXIT();
+ return status;
+
+ fn_fail:
+ goto fn_exit;
+}
Modified: mpich2/trunk/src/pm/hydra/bootstrap/ssh/Makefile.sm
===================================================================
--- mpich2/trunk/src/pm/hydra/bootstrap/ssh/Makefile.sm 2009-03-16 00:32:20 UTC (rev 4083)
+++ mpich2/trunk/src/pm/hydra/bootstrap/ssh/Makefile.sm 2009-03-16 03:32:00 UTC (rev 4084)
@@ -15,5 +15,6 @@
-I${abs_srcdir}/../../launcher/utils \
-I${abs_srcdir}/../../pm/utils \
-I${abs_srcdir}/../include \
+ -I../include \
-I${abs_srcdir}/../utils \
-I${abs_srcdir}/../../demux
Modified: mpich2/trunk/src/pm/hydra/configure.in
===================================================================
--- mpich2/trunk/src/pm/hydra/configure.in 2009-03-16 00:32:20 UTC (rev 4083)
+++ mpich2/trunk/src/pm/hydra/configure.in 2009-03-16 03:32:00 UTC (rev 4084)
@@ -72,6 +72,24 @@
AC_DEFINE_UNQUOTED(HYDRA_BSS_NAMES,"$hydra_bss_names",[Definition of enabled bootstrap servers])
AC_SUBST(hydra_bss_names)
+for hydra_bss_name in ${hydra_bss_names}; do
+ if test -z "${hydra_default_bss}" ; then
+ hydra_default_bss=$hydra_bss_name
+ fi
+ hydra_bss_makefiles="$hydra_bss_makefiles bootstrap/${hydra_bss_name}/Makefile"
+ hydra_bss_init_decl="${hydra_bss_init_decl}
+HYD_Status HYD_BSCI_${hydra_bss_name}_init(void);"
+ hydra_bss_name_array="${hydra_bss_name_array} \"${hydra_bss_name}\", "
+ hydra_bss_init_array="${hydra_bss_init_array} HYD_BSCI_${hydra_bss_name}_init, "
+done
+hydra_bss_name_array="${hydra_bss_name_array} NULL"
+hydra_bss_init_array="${hydra_bss_init_array} NULL"
+AC_DEFINE_UNQUOTED(HYDRA_DEFAULT_BSS,"$hydra_default_bss",[Default bootstrap server])
+AC_SUBST(hydra_bss_init_decl)
+AC_SUBST(hydra_bss_name_array)
+AC_SUBST(hydra_bss_init_array)
+
+
dnl Check what process manager we should use
AC_ARG_WITH(hydra-pm, [ --with-hydra-pm Process Manager (central or distributed)],
[ hydra_pm=$withval ],
@@ -265,14 +283,6 @@
dnl Place holder macro for finalization
PAC_SUBCONFIG_FINALIZE()
-for hydra_bss_name in ${hydra_bss_names}; do
- if test -z "${hydra_default_bss}" ; then
- hydra_default_bss=$hydra_bss_name
- fi
- hydra_bss_makefiles="$hydra_bss_makefiles bootstrap/${hydra_bss_name}/Makefile"
-done
-AC_DEFINE_UNQUOTED(HYDRA_DEFAULT_BSS,"$hydra_default_bss",[Default bootstrap server])
-
dnl Final output
AC_OUTPUT(Makefile \
utils/Makefile \
@@ -297,5 +307,7 @@
bootstrap/Makefile \
bootstrap/utils/Makefile \
bootstrap/src/Makefile \
+ bootstrap/src/bsci_init.c \
+ bootstrap/include/bsci.h \
${hydra_bss_makefiles}
)
Modified: mpich2/trunk/src/pm/hydra/pm/central/Makefile.sm
===================================================================
--- mpich2/trunk/src/pm/hydra/pm/central/Makefile.sm 2009-03-16 00:32:20 UTC (rev 4083)
+++ mpich2/trunk/src/pm/hydra/pm/central/Makefile.sm 2009-03-16 03:32:00 UTC (rev 4084)
@@ -14,6 +14,7 @@
-I${abs_srcdir}/../include \
-I${abs_srcdir}/../utils \
-I${abs_srcdir}/../../bootstrap/include \
+ -I../../bootstrap/include \
-I${abs_srcdir}/../../demux
hydproxy_SOURCES = proxy.c proxy_utils.c proxy_cb.c
Modified: mpich2/trunk/src/pm/hydra/pm/utils/Makefile.sm
===================================================================
--- mpich2/trunk/src/pm/hydra/pm/utils/Makefile.sm 2009-03-16 00:32:20 UTC (rev 4083)
+++ mpich2/trunk/src/pm/hydra/pm/utils/Makefile.sm 2009-03-16 03:32:00 UTC (rev 4084)
@@ -15,4 +15,5 @@
-I${abs_srcdir}/../../launcher/utils \
-I${abs_srcdir}/../include \
-I${abs_srcdir}/../../bootstrap/include \
+ -I../../bootstrap/include \
-I${abs_srcdir}/../../demux
More information about the mpich2-commits
mailing list