[mpich2-commits] r7655 - in mpich2/branches/release/mpich2-1.3.x: . confdb maint src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp src/mpl/src src/pm/hydra src/pm/hydra/examples src/pm/hydra/include src/pm/hydra/pm src/pm/hydra/pm/pmiserv src/pm/hydra/tools src/pm/hydra/tools/bind src/pm/hydra/tools/bind/hwloc src/pm/hydra/tools/bind/plpa src/pm/hydra/tools/bootstrap/external src/pm/hydra/tools/bootstrap/persist src/pm/hydra/tools/bootstrap/src src/pm/hydra/tools/bootstrap/utils src/pm/hydra/tools/ckpoint src/pm/hydra/tools/ckpoint/blcr src/pm/hydra/tools/debugger src/pm/hydra/tools/demux src/pm/hydra/tools/ftb src/pm/hydra/tools/nameserver src/pm/hydra/ui src/pm/hydra/ui/include src/pm/hydra/ui/mpich src/pm/hydra/ui/utils src/pm/hydra/utils src/pm/hydra/utils/alloc src/pm/hydra/utils/args src/pm/hydra/utils/dbg src/pm/hydra/utils/env src/pm/hydra/utils/launch src/pm/hydra/utils/others src/pm/hydra/utils/signals src/pm/hydra/utils/sock src/pm/hydra/utils/string
balaji at mcs.anl.gov
balaji at mcs.anl.gov
Mon Jan 3 08:20:31 CST 2011
Author: balaji
Date: 2011-01-03 08:20:31 -0600 (Mon, 03 Jan 2011)
New Revision: 7655
Added:
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra_server.h
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/include/
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/include/ui.h
Removed:
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra_base.h
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra_utils.h
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/include/ui.h
Modified:
mpich2/branches/release/mpich2-1.3.x/
mpich2/branches/release/mpich2-1.3.x/README.vin
mpich2/branches/release/mpich2-1.3.x/confdb/
mpich2/branches/release/mpich2-1.3.x/maint/Version
mpich2/branches/release/mpich2-1.3.x/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c
mpich2/branches/release/mpich2-1.3.x/src/mpl/src/mplstr.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/Makefile.am
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/README
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/autogen.sh
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/configure.in
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/examples/
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/hydra-doxygen.cfg.in
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra.h
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/mpich2prereq
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/common.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/common.h
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmi_v2_common.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmi_v2_common.h
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip.h
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_cb.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_pmi.h
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_pmi_v1.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_pmi_v2.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_utils.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_cb.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmci.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi.h
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v2.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_utils.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/bind.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/bind.h
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/hwloc/bind_hwloc.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/plpa/bind_plpa.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_env.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_finalize.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_init.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_launch.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_query_native_int.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll.h
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll_launch.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll_query_node_list.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll_query_proxy_id.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/lsf.h
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/lsf_query_node_list.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/pbs.h
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/pbs_query_node_list.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/sge.h
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/sge_query_node_list.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm.h
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm_launch.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm_query_node_list.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm_query_proxy_id.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ssh.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ssh.h
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_client.h
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_init.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_launch.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_server.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_server.h
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_wait.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_env.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_finalize.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_init.c.in
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_launch.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_query_native_int.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_query_node_list.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_query_proxy_id.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_usize.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_wait.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu.h
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_cb.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_env.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_finalize.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_query_native_int.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_query_node_list.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_query_proxy_id.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_usize.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_wait.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ckpoint/blcr/ckpoint_blcr.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ckpoint/ckpoint.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ckpoint/ckpoint.h
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/debugger/debugger.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/demux/demux.h
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/demux/demux_internal.h
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ftb/hydt_ftb.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ftb/hydt_ftb_dummy.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/nameserver/hydra_nameserver.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/Makefile.mk
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/mpich/mpiexec.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/mpich/mpiexec.h
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/mpich/utils.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/utils/uiu.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/utils/uiu.h
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/alloc/alloc.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/args/args.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/dbg/dbg.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/env/env.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/launch/launch.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/others/others.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/signals/signals.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/sock/sock.c
mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/string/string.c
mpich2/branches/release/mpich2-1.3.x/winconfigure.wsf
Log:
Merge r7651, r7652, r7653, and r7654 from trunk.
Property changes on: mpich2/branches/release/mpich2-1.3.x
___________________________________________________________________
Modified: svn:mergeinfo
- /mpich2/branches/dev/ckpt:5050
/mpich2/branches/dev/ckpt2:5057-6537
/mpich2/branches/dev/ftb:5661-5730
/mpich2/branches/dev/lapi:5817
/mpich2/branches/dev/wintcp_async_progress:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2:5406
/mpich2/trunk:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7442-7448,7459-7460,7462,7469-7470,7473-7478,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
+ /mpich2/branches/dev/ckpt:5050
/mpich2/branches/dev/ckpt2:5057-6537
/mpich2/branches/dev/ftb:5661-5730
/mpich2/branches/dev/lapi:5817
/mpich2/branches/dev/wintcp_async_progress:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2:5406
/mpich2/trunk:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7442-7448,7459-7460,7462,7469-7470,7473-7478,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654
Modified: mpich2/branches/release/mpich2-1.3.x/README.vin
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/README.vin 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/README.vin 2011-01-03 14:20:31 UTC (rev 7655)
@@ -26,62 +26,58 @@
on bug fixes and new releases.
-I. Getting Started
-II. Alternate Configure Options
-III. Compiler Flags
-IV. Alternate Channels and Devices
-V. Alternate Process Managers
-VI. VPATH Builds
-VII. Shared Libraries
-VIII. Other Features
-IX. Checkpoint/Restart
-X. Environment Variables
-XI. Developer Builds
-XII. Building ROMIO into MPICH2
-XIII. Testing the MPICH2 installation
-XIV. Installing MPICH2 on windows
-XV. Multiple Fortran compiler support.
+1. Getting Started
+2. Compiler Flags
+3. Alternate Channels and Devices
+4. Alternate Process Managers
+5. Alternate Configure Options
+6. Testing the MPICH2 installation
+7. Checkpoint/Restart
+8. Environment Variables
+9. Developer Builds
+10. Installing MPICH2 on windows
+11. Multiple Fortran compiler support
-------------------------------------------------------------------------
-I. Getting Started
+1. Getting Started
==================
The following instructions take you through a sequence of steps to get
the default configuration (ch3 device, nemesis channel (with TCP and
shared memory), Hydra process management) of MPICH2 up and running.
-1. You will need the following prerequisites.
+(a) You will need the following prerequisites.
- - This tar file mpich2-%VERSION%.tar.gz
+ - REQUIRED: This tar file mpich2-%VERSION%.tar.gz
- - A C compiler (gcc is sufficient)
+ - REQUIRED: A C compiler (gcc is sufficient)
- - A Fortran compiler if Fortran applications are to be used
- (g77 or gfortran is sufficient)
+ - OPTIONAL: A C++ compiler, if C++ applications are to be used
+ (g++, etc.). If you do not require support for C++ applications,
+ you can disable this support using the configure option
+ --disable-cxx (configuring MPICH2 is described in step 1(d)
+ below).
- - A C++ compiler for the C++ MPI bindings (g++ is sufficient)
+ - OPTIONAL: A Fortran 77 compiler, if Fortran 77 applications are
+ to be used (gfortran, ifort, etc.). If you do not require
+ support for Fortran 77 applications, you can disable this
+ support using --disable-f77 (configuring MPICH2 is described in
+ step 1(d) below).
- - If a Fortran 90 compiler is found, by default MPICH2 will
- attempt to build a basic MPI module. This module contains the
- MPI routines that do not contain "choice" arguments; i.e., the module
- does not contain any of the communication routines, such as
- MPI_Send, that can take arguments of different type. You may still
- use those routines, however, the MPI module does not contain
- interface specifications for them. If you have trouble with the
- configuration step and do not need Fortran 90, configure with
- --disable-fc .
+ - OPTIONAL: A Fortran 90 compiler, if Fortran 90 applications are
+ to be used (gfortran, ifort, etc.). If you do not require
+ support for Fortran 90 applications, you can disable this
+ support using --disable-fc. Note that Fortran 77 support is a
+ prerequisite for Fortran 90 support (configuring MPICH2 is
+ described in step 1(d) below).
- Configure will check for these prerequisites and try to work around
- deficiencies if possible. (If you don't have Fortran, you will
- still be able to use MPICH2, just not with Fortran applications.)
-
Also, you need to know what shell you are using since different shell
has different command syntax. Command "echo $SHELL" prints out the
current shell used by your terminal program.
-2. Unpack the tar file and go to the top level directory:
+(b) Unpack the tar file and go to the top level directory:
tar xzf mpich2-%VERSION%.tar.gz
cd mpich2-%VERSION%
@@ -92,15 +88,14 @@
tar xf mpich2-%VERSION%.tar
cd mpich2-%VERSION%
-3. Choose an installation directory, say /home/<USERNAME>/mpich2-install,
- which is assumed to non-existent or empty. It will be most
- convenient if this directory is shared by all of the machines
- where you intend to run processes. If not, you will have
- to duplicate it on the other machines after installation.
+(c) Choose an installation directory, say
+ /home/<USERNAME>/mpich2-install, which is assumed to non-existent
+ or empty. It will be most convenient if this directory is shared
+ by all of the machines where you intend to run processes. If not,
+ you will have to duplicate it on the other machines after
+ installation.
-4. Configure MPICH2 specifying the installation directory (the steps
- described here are called inpath build; we recommend user to do
- a vpath build if possible, see further below):
+(d) Configure MPICH2 specifying the installation directory:
for csh and tcsh:
@@ -111,15 +106,25 @@
./configure --prefix=/home/<USERNAME>/mpich2-install 2>&1 | tee c.txt
Bourne-like shells, sh and bash, accept "2>&1 |". Csh-like shell,
- csh and tcsh, accept "|&". File c.txt is used to store all messages
- generated configure command and is useful for diagnosis if something
- goes wrong. Other configure options are described below. You might
- also prefer to do a VPATH build (see below). Check the c.txt file
- to make sure everything went well. Problems should be self-explanatory,
- but if not, please attach c.txt to your bug report.
+ csh and tcsh, accept "|&". If a failure occurs, the configure
+ command will display the error. Most errors are straight-forward
+ to follow. For example, if the configure command fails with:
-5. Build MPICH2:
+ "No Fortran 77 compiler found. If you don't need to build any
+ Fortran programs, you can disable Fortran support using
+ --disable-f77 and --disable-fc. If you do want to build
+ Fortran programs, you need to install a Fortran compiler such
+ as gfortran or ifort before you can proceed."
+ ... it means that you don't have a Fortran compiler :-). You will
+ need to either install one, or disable Fortran support in MPICH2.
+
+ If you are unable to understand what went wrong, please go to step
+ 1(i) below, for reporting the issue to the MPICH2 developers and
+ other users.
+
+(e) Build MPICH2:
+
for csh and tcsh:
make |& tee m.txt
@@ -129,8 +134,8 @@
make 2>&1 | tee m.txt
This step should succeed if there were no problems with the
- preceding step. Check file m.txt. If there were problems,
- do a "make clean" and then run make again with V=1
+ preceding step. Check file m.txt. If there were problems, do a
+ "make clean" and then run make again with V=1.
make V=1 |& tee m.txt (for csh and tcsh)
@@ -138,9 +143,10 @@
make V=1 2>&1 | tee m.txt (for bash and sh)
- and then attach m.txt and c.txt to your bug report.
+ Then go to step 1(i) below, for reporting the issue to the MPICH2
+ developers and other users.
-6. Install the MPICH2 commands:
+(f) Install the MPICH2 commands:
for csh and tcsh:
@@ -152,25 +158,12 @@
This step collects all required executables and scripts in the bin
subdirectory of the directory specified by the prefix argument to
- configure.
+ configure.
- (For users who want an install directory structure compliant to
- GNU coding standards (i.e., documentation files go to
- ${datarootdir}/doc/${PACKAGE}, architecture-independent
- read-only files go to ${datadir}/${PACKAGE}), replace
- "make install" by
+(g) Add the bin subdirectory of the installation directory to your
+ path in your startup script (.bashrc for bash, .cshrc for csh,
+ etc.):
- make install PACKAGE=mpich2-<versrion>
-
- and corresponding installcheck step should be
-
- make installcheck PACKAGE=mpich2-<version>
-
- Setting PACKAGE in "make install" or "installcheck" step is optional
- and unnecessary for typical MPI users.)
-
-7. Add the bin subdirectory of the installation directory to your path:
-
for csh and tcsh:
setenv PATH /home/<USERNAME>/mpich2-install/bin:$PATH
@@ -179,94 +172,102 @@
PATH=/home/<USERNAME>/mpich2-install/bin:$PATH ; export PATH
- Check that everything is in order at this point by doing
+ Check that everything is in order at this point by doing:
which mpicc
which mpiexec
- All should refer to the commands in the bin subdirectory of your
- install directory. It is at this point that you will need to
- duplicate this directory on your other machines if it is not
- in a shared file system such as NFS.
+ These commands should display the path to your bin subdirectory of
+ your install directory.
-8. MPICH2 uses an external process manager for scalable startup of
- large MPI jobs. The default process manager is called Hydra. More
- details on interacting with Hydra can be found at
- http://wiki.mcs.anl.gov/mpich2/index.php/Using_the_Hydra_Process_Manager
+ IMPORTANT NOTE: The install directory has to be visible at exactly
+ the same path on all machines you want to run your applications
+ on. This is typically achieved by installing MPICH2 on a shared
+ NFS file-system. If you do not have a shared NFS directory, you
+ will need to manually copy the install directory to all machines
+ at exactly the same location.
- To start a job on your local machine, you can use:
+(h) MPICH2 uses a process manager for starting MPI applications. The
+ process manager provides the "mpiexec" executable, together with
+ other utility executables. MPICH2 comes packaged with multiple
+ process managers; the default is called Hydra.
- mpiexec -n <number> ./examples/cpi
-
-9. Test that you can run a multi-node job:
-
- mpiexec -f machinefile -n <number> ./examples/cpi
-
-10. Now we will run an MPI job, using the mpiexec command as specified
- in the MPI-2 standard. There are some examples in the install
+ Now we will run an MPI job, using the mpiexec command as specified
+ in the MPI-2 standard. There are some examples in the install
directory, which you have already put in your path, as well as in
- the directory mpich2-%VERSION%/examples. One of them is the
- classic cpi example, which computes the value of pi by numerical
+ the directory mpich2-%VERSION%/examples. One of them is the
+ classic CPI example, which computes the value of pi by numerical
integration in parallel.
- mpiexec -f machinefile -n 5 ./examples/cpi
+ To run the CPI example with 'n' processes on your local machine,
+ you can use:
- The cpi example will tell you which hosts it is running on.
+ mpiexec -n <number> ./examples/cpi
- For additional mpiexec options, do:
+ Test that you can run an 'n' process CPI job on multiple nodes:
- mpiexec --help
+ mpiexec -f machinefile -n <number> ./examples/cpi
-If you have completed all of the above steps, you have successfully
-installed MPICH2 and run an MPI example.
+ The 'machinefile' is of the form:
-More details on arguments to mpiexec are given in the User's Guide in
-the doc subdirectory. Also in the User's Guide you will find help on
-debugging. MPICH2 has support for the TotalView debugger, as well as
-some other approaches described there.
+ host1
+ host2:2
+ host3:4 # Random comments
+ host4:1
--------------------------------------------------------------------------
+ 'host1', 'host2', 'host3' and 'host4' are the hostnames of the
+ machines you want to run the job on. The ':2', ':4', ':1' segments
+ depict the number of processes you want to run on each node. If
+ nothing is specified, ':1' is assumed.
-II. Alternate Configure Options
-===============================
+ More details on interacting with Hydra can be found at
+ http://wiki.mcs.anl.gov/mpich2/index.php/Using_the_Hydra_Process_Manager
-The above steps utilized the MPICH2 defaults, which included choosing
-TCP and shared memory for communication (via the "nemesis" channel)
-and the Hydra process manager. Other alternatives are available. You
-can find out about configuration alternatives with
+If you have completed all of the above steps, you have successfully
+installed MPICH2 and run an MPI example.
- ./configure --help
+(i) If you run into any errors configuring, building or running
+MPICH2, please send the below files to mpich-discuss at mcs.anl.gov.
+PLEASE COMPRESS BEFORE SENDING, AS THE FILES CAN BE LARGE. Note that,
+depending on which step the build failed, some of the files might not
+exist.
-in the mpich2 directory. The alternatives described below are
-configured by adding arguments to the configure step.
+ mpich2-%VERSION%/c.txt (generated in step 1(d) above)
+ mpich2-%VERSION%/m.txt (generated in step 1(e) above)
+ mpich2-%VERSION%/mi.txt (generated in step 1(f) above)
+ mpich2-%VERSION%/config.log (generated in step 1(d) above)
+ mpich2-%VERSION%/src/openpa/config.log (generated in step 1(d) above)
+More details on arguments to mpiexec are given in the User's Guide in
+the doc subdirectory.
+
-------------------------------------------------------------------------
-III. Compiler Flags
-===================
+2. Compiler Flags
+=================
MPICH2 allows several sets of compiler flags to be used. The first
three sets are configure-time options for MPICH2, while the fourth is
only relevant when compiling applications with mpicc and friends.
-1. CFLAGS, CPPFLAGS, CXXFLAGS, FFLAGS, FCFLAGS, LDFLAGS and LIBS
+(a) CFLAGS, CPPFLAGS, CXXFLAGS, FFLAGS, FCFLAGS, LDFLAGS and LIBS
(abbreviated as xFLAGS): Setting these flags would result in the
MPICH2 library being compiled/linked with these flags and the flags
internally being used in mpicc and friends.
-2. MPICH2LIB_CFLAGS, MPICH2LIB_CPPFLAGS, MPICH2LIB_CXXFLAGS,
+(b) MPICH2LIB_CFLAGS, MPICH2LIB_CPPFLAGS, MPICH2LIB_CXXFLAGS,
MPICH2LIB_FFLAGS, MPICH2LIB_FCFLAGS, MPICH2LIB_LDFLAGS and
MPICH2LIB_LIBS (abbreviated as MPICH2LIB_xFLAGS): Setting these flags
would result in the MPICH2 library being compiled/linked with these
flags. However, these flags will *not* be used by mpicc and friends.
-3. MPICH2_MAKE_CFLAGS: Setting these flags would result in MPICH2's
+(c) MPICH2_MAKE_CFLAGS: Setting these flags would result in MPICH2's
configure tests to not use these flags, but the makefile's to use
them. This is a temporary hack for certain cases that advanced
-developers might be interested in which break existing configure tests
-(e.g., -Werror) and are not recommended for regular users.
+developers might be interested in, but which break existing configure
+tests (e.g., -Werror). These are NOT recommended for regular users.
-4. MPICH2_MPICC_FLAGS, MPICH2_MPICPP_FLAGS, MPICH2_MPICXX_FLAGS,
+(d) MPICH2_MPICC_FLAGS, MPICH2_MPICPP_FLAGS, MPICH2_MPICXX_FLAGS,
MPICH2_MPIF77_FLAGS, MPICH2_MPIFC_FLAGS, MPICH2_LDFLAGS and
MPICH2_LIBS (abbreviated as MPICH2_MPIX_FLAGS): These flags do *not*
affect the compilation of the MPICH2 library itself, but will be
@@ -328,7 +329,8 @@
Example 1:
- ./configure --disable-fast MPICH2LIB_CFLAGS=-O3 MPICH2LIB_FFLAGS=-O3 MPICH2LIB_CXXFLAGS=-O3 MPICH2LIB_FCFLAGS=-O3
+ ./configure --disable-fast MPICH2LIB_CFLAGS=-O3 MPICH2LIB_FFLAGS=-O3 \
+ MPICH2LIB_CXXFLAGS=-O3 MPICH2LIB_FCFLAGS=-O3
This will cause the MPICH2 libraries to be built with -O3, and -O3
will *not* be included in the mpicc and other MPI wrapper script.
@@ -356,8 +358,8 @@
-------------------------------------------------------------------------
-IV. Alternate Channels and Devices
-==================================
+3. Alternate Channels and Devices
+=================================
The communication mechanisms in MPICH2 are called "devices". MPICH2
supports several internal devices including ch3 (default), dcmfd (for
@@ -438,7 +440,6 @@
using this for Nemesis may limit the number of processes that can be
started on a single node.
-
sock channel
------------
sock is the traditional TCP sockets based communication channel. It
@@ -526,14 +527,15 @@
AR=${DRIVER_PATH}/gnu-linux/bin/powerpc-bgp-linux-ar \
LD=${DRIVER_PATH}/gnu-linux/bin/powerpc-bgp-linux-ld \
MSGLAYER_INCLUDE="-I${DRIVER_PATH}/comm/include" \
- MSGLAYER_LIB="-L${DRIVER_PATH}/comm/lib -ldcmfcoll.cnk -ldcmf.cnk -lpthread -lrt -L$DRIVER_PATH/runtime/SPI -lSPI.cna" \
+ MSGLAYER_LIB="-L${DRIVER_PATH}/comm/lib -ldcmfcoll.cnk -ldcmf.cnk -lpthread -lrt \
+ -L$DRIVER_PATH/runtime/SPI -lSPI.cna" \
./configure --with-device=dcmfd:BGP --with-pmi=no --with-pm=no --with-file-system=bgl \
--enable-timer-type=device --with-cross=src/mpid/dcmfd/cross \
--host=powerpc-bgp-linux --target=powerpc-bgp-linux --build=powerpc64-linux-gnu
-------------------------------------------------------------------------
-V. Alternate Process Managers
+4. Alternate Process Managers
=============================
hydra
@@ -552,20 +554,19 @@
smpd
----
-SMPD is a process management system for both Microsoft Windows and UNIX.
-SMPD is capable of starting a job where some processes are running on
-Windows and others are running on a variant of UNIX. For more
-information, please see mpich2-%VERSION%/src/pm/smpd/README.
+SMPD is a process manager for interoperability between Microsoft
+Windows and UNIX, where some processes are running on Windows and
+others are running on a variant of UNIX. For more information, please
+see mpich2-%VERSION%/src/pm/smpd/README.
gforker
-------
-gforker is a process manager that creates processes on a single machine,
-by having mpiexec directly fork and exec them. This mechanism is
-particularly appropriate for shared-memory multiprocessors (SMPs) where
-you want to create all the processes on the same machine. gforker is
-also useful for debugging, where running all the processes on a single
-machine is often convenient.
+gforker is a process manager that creates processes on a single
+machine, by having mpiexec directly fork and exec them. gforker is
+mostly meant as a research platform and for debugging purposes, as it
+is only meant for single-node systems.
+
slurm
-----
SLURM is an external process manager not distributed with
@@ -575,144 +576,136 @@
-------------------------------------------------------------------------
-VI. VPATH Builds
-================
-MPICH2 supports building MPICH in a different directory tree than the
-one where the MPICH2 source is installed. This often allows faster
-building, as the sources can be placed in a shared filesystem and the
-builds done in a local (and hence usually much faster) filesystem. To
-make this clear, the following example assumes that the sources are
-placed in /home/me/mpich2-<VERSION>, the build is done in
-/tmp/me/mpich2, and the installed version goes into
-/usr/local/mpich2-<VERSION>:
+5. Alternate Configure Options
+==============================
- shell$ cd /home/me
- shell$ tar xzf mpich2-<VERSION>.tar.gz
- shell$ cd /tmp/me
+MPICH2 has a number of other features. If you are exploring MPICH2 as
+part of a development project, you might want to tweak the MPICH2
+build with the following configure options. A complete list of
+configuration options can be found using:
- shell$ mkdir mpich2
- shell$ cd mpich2
- shell$ /home/me/mpich2-<VERSION>/configure --prefix=/usr/local/mpich2-<VERSION>
- shell$ make
- shell$ make install
+ ./configure --help
--------------------------------------------------------------------------
+However, for your convenience, we list a few important options here:
-VII. Shared Libraries
-=====================
-Shared libraries are currently only supported for gcc (and gcc-like
-compilers) on Linux and Mac and for cc on Solaris. To have shared
-libraries created when MPICH2 is built, specify the following when
-MPICH2 is configured:
-
- configure --enable-shared
-
-For users who wish to manually control the linker parameters, this can
-be done using:
-
- configure --enable-sharedlibs=gcc (on Linux)
- configure --enable-sharedlibs=osx-gcc (on Mac OS X)
- configure --enable-sharedlibs=solaris-cc (on Solaris)
-
--------------------------------------------------------------------------
-
-VIII. Other Features
-====================
-
-MPICH2 has a number of other features. If you are exploring MPICH2 as
-part of a development project the following configure options are
-important:
-
Performance Options:
--enable-fast - Turns off error checking and collection of internal
timing information
--enable-timing=no - Turns off just the collection of internal timing
- information
+ information
--enable-ndebug - Turns on NDEBUG, which disables asserts. This is a
- subset of the optimizations provided by enable-fast,
- but is useful in environments where the user wishes
- to retain the debug symbols, e.g., this can be combined
- with the --enable-g option.
+ subset of the optimizations provided by
+ enable-fast, but is useful in environments where
+ the user wishes to retain the debug symbols, e.g.,
+ this can be combined with the --enable-g option.
MPI Features:
- --enable-romio - Build the ROMIO implementation of MPI-IO. This is
- the default
+ --enable-romio - Build the ROMIO implementation of MPI-IO (enabled
+ by default).
--with-file-system - When used with --enable-romio, specifies
- filesystems ROMIO should support. See README.romio.
+ filesystems ROMIO should support. They can be
+ specified by passing them in a '+'-delimited
+ list: (e.g.,
+ --with-file-system="pvfs+nfs+ufs").
+ If you have installed version 2 of the PVFS
+ file system, you can use the
+ '--with-pvfs2=<prefix>' configure option to
+ specify where libraries, headers, and utilities
+ have been installed. If you have added the pvfs
+ utilities to your PATH, then ROMIO will detect
+ this and build support for PVFS automatically.
+
--enable-threads - Build MPICH2 with support for multi-threaded
- applications. Only the sock and nemesis channels support
- MPI_THREAD_MULTIPLE.
+ applications. Only the sock and nemesis channels
+ support MPI_THREAD_MULTIPLE.
--with-thread-package - When used with --enable-threads, this option
- specifies the thread package to use. This option
- defaults to "posix". At the moment, only POSIX
- threads are supported on UNIX platforms. We plan to
- support Solaris threads in the future.
+ specifies the thread package to use. This
+ option defaults to "posix". At the moment,
+ only POSIX threads are supported on UNIX
+ platforms. We plan to support Solaris
+ threads in the future.
Language bindings:
- --enable-f77 - Build the Fortran 77 bindings. This is the default.
- It has been tested with the Fortran parts of the Intel
- test suite.
+ --enable-f77 - Build the Fortran 77 bindings (enabled by default).
- --enable-fc - Build the Fortran 90 bindings. This is on by default.
+ --enable-fc - Build the Fortran 90 bindings (enabled by default).
- --enable-cxx - Build the C++ bindings. This has been tested with the
- Notre Dame C++ test suite and some additional tests.
+ --enable-cxx - Build the C++ bindings (enabled by default).
+Shared library support:
+
+ --enable-shared - Enable shared library support. Shared libraries
+ are currently only supported for gcc (and gcc-like
+ compilers) on Linux and Mac and for cc on
+ Solaris. To have shared libraries created when
+ MPICH2 is built, specify the following when MPICH2
+ is configured:
+
+ For users who wish to manually control the linker parameters, this
+ can be done using:
+
+ --enable-sharedlibs=gcc (on Linux)
+ --enable-sharedlibs=osx-gcc (on Mac OS X)
+ --enable-sharedlibs=solaris-cc (on Solaris)
+
Cross compilation:
--with-cross=filename - Provide values for the tests that required
- running a program, such as the tests that configure
- uses to determine the sizes of the basic types. This
- should be a fine in Bourne shell format containing
- variable assignment of the form
+ running a program, such as the tests that
+ configure uses to determine the sizes of the
+ basic types. This should be a fine in
+ Bourne shell format containing variable
+ assignment of the form
- CROSS_SIZEOF_INT=2
+ CROSS_SIZEOF_INT=2
- for all of the CROSS_xxx variables. A list will be
- provided in later releases; for now, look at the
- configure.in files. This has not been completely
- tested.
+ for all of the CROSS_xxx variables.
Error checking and reporting:
- --enable-error-checking=level - Control the amount of error checking.
- Currently, only "no" and "all" is supported; all is the
- default.
+ --enable-error-checking=level - Control the amount of error
+ checking. Currently, only "no" and
+ "all" is supported; all is the
+ default.
--enable-error-messages=level - Control the aount of detail in error
- messages. By default, MPICH2 provides
- instance-specific error messages; but, with this
- option, MPICH2 can be configured to provide less
- detailed messages. This may be desirable on small
- systems, such as clusters built from game consoles or
- high-density massively parallel systems. This is still
- under active development.
+ messages. By default, MPICH2
+ provides instance-specific error
+ messages; but, with this option,
+ MPICH2 can be configured to provide
+ less detailed messages. This may be
+ desirable on small systems, such as
+ clusters built from game consoles or
+ high-density massively parallel
+ systems. This is still under active
+ development.
Compilation options for development:
--enable-g=value - Controls the amount of debugging information
- collected by the code. The most useful choice here is
- dbg, which compiles with -g.
+ collected by the code. The most useful choice
+ here is dbg, which compiles with -g.
--enable-coverage - An experimental option that enables GNU coverage
- analysis.
+ analysis.
--with-logging=name - Select a logging library for recording the
- timings of the internal routines. We have used this to
- understand the performance of the internals of MPICH2.
- More information on the logging options, capabilities
- and usage can be found in doc/logging/logging.pdf.
+ timings of the internal routines. We have
+ used this to understand the performance of the
+ internals of MPICH2. More information on the
+ logging options, capabilities and usage can be
+ found in doc/logging/logging.pdf.
- --enable-timer-type=name - Select the timer to use for MPI_Wtime
- and internal timestamps. name may be one of:
+ --enable-timer-type=name - Select the timer to use for MPI_Wtime and
+ internal timestamps. name may be one of:
gethrtime - Solaris timer (Solaris systems
only)
clock_gettime - Posix timer (where available)
@@ -730,26 +723,37 @@
-------------------------------------------------------------------------
-IX. Checkpoint/Restart
-======================
+6. Testing the MPICH2 installation
+==================================
+To test MPICH2, we package the MPICH2 test suite in the MPICH2
+distribution. You can run the test suite using:
+
+ make testing
+
+The results summary will be placed in test/summary.xml
+
+-------------------------------------------------------------------------
+
+7. Checkpoint/Restart
+=====================
+
MPICH2 supports checkpointing and restart fault-tolerance using BLCR.
Configuration
-------------
+First, you need to have BLCR version 0.8.2 or later installed on your
+machine. If it's installed in the default system location, add the
+following two options to your configure command:
-First, you need to have BLCR version 0.8.2 installed on your machine.
-If it's installed in the default system location, add the following
-two options to your configure command:
-
--enable-checkpointing
--with-hydra-ckpointlib=blcr
If BLCR is not installed in the default system location, you'll need
-to tell MPICH2's configure where to find it. You might also need to
+to tell MPICH2's configure where to find it. You might also need to
set the LD_LIBRARY_PATH environment variable so that BLCR's shared
libraries can be found. In this case add the following options to
-your configure comment:
+your configure command:
--enable-checkpointing
--with-hydra-ckpointlib=blcr
@@ -760,34 +764,34 @@
installed (whatever was specified in --prefix when BLCR was
configured).
+After it's configured compile as usual (e.g., make; make install).
+
Note, checkpointing is only supported with the Hydra process manager.
-(Hyrda will configured by default, unless you choose something else
-with the --with-pm= configure option.)
-After it's configured compile as usual (e.g., make; make install).
-Running an Application
-----------------------
+Verifying Checkpointing Support
+-------------------------------
+Make sure MPICH2 is correctly configured with BLCR. You can do this
+using:
-Hydra provides checkpoint/restart capability. Currently, only BLCR is
-being experimented with. You can pick these through the mpiexec
-option -ckpointlib to specify the checkpointing library to use and
--ckpoint-prefix to specify the prefix of the file to write the
-checkpoint image to:
+ mpiexec -info
- mpiexec -ckpointlib blcr -ckpoint-prefix /tmp/app.ckpoint -f hosts \
- -n 4 ./app
+This should display 'BLCR' under 'Checkpointing libraries available'.
-While the application is running, the user can request for a
-checkpoint at any time by sending a SIGUSR1 signal to mpiexec.
-You can also automatically checkpoint the application at regular
-intervals using the mpiexec option -ckpoint-interval (seconds):
+Checkpointing the Application
+-----------------------------
+There are two ways to cause the application to checkpoint. You can ask
+mpiexec to periodically checkpoint the application using the mpiexec
+option -ckpoint-interval (seconds):
mpiexec -ckpointlib blcr -ckpoint-prefix /tmp/app.ckpoint \
- -ckpoint-interval 3600 -f hosts -n 4 ./app
+ -ckpoint-interval 3600 -f hosts -n 4 ./app
-The checkpoint/restart parameters can be controlled with the
+Alternatively, you can also manually force checkpointing by sending a
+SIGUSR1 signal to mpiexec.
+
+The checkpoint/restart parameters can also be controlled with the
environment variables HYDRA_CKPOINTLIB, HYDRA_CKPOINT_PREFIX and
HYDRA_CKPOINT_INTERVAL.
@@ -803,7 +807,7 @@
-------------------------------------------------------------------------
-X. Environment Variables
+8. Environment Variables
========================
MPICH2 provides several environment variables that have different
@@ -818,47 +822,6 @@
************************************
- MPICH_INTERFACE_HOSTNAME - Network interface to use for
- communication. By default MPICH2 picks the network interface
- representing the hostname (gotten by gethostbyname). Consider
- the following example:
-
-% /sbin/ifconfig
-
-eth0 Link encap:Ethernet HWaddr 00:14:5E:57:C4:FA
- inet addr:192.148.3.182 Bcast:192.148.248.255 Mask:255.255.255.0
- inet6 addr: fe80::214:5eff:fe57:c4fa/64 Scope:Link
- UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
- RX packets:989925894 errors:0 dropped:7186 overruns:0 frame:0
- TX packets:1480277023 errors:0 dropped:0 overruns:0 carrier:0
- collisions:0 txqueuelen:1000
- RX bytes:441568994866 (411.2 GiB) TX bytes:1864173370054 (1.6 TiB)
- Interrupt:185 Memory:e2000000-e2012100
-
-myri0 Link encap:Ethernet HWaddr 00:14:5E:57:C4:F8
- inet addr:10.21.3.182 Bcast:10.21.255.255 Mask:255.255.0.0
- inet6 addr: fe80::214:5eff:fe57:c4f8/64 Scope:Link
- UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
- RX packets:3068986439 errors:0 dropped:7841 overruns:0 frame:0
- TX packets:2288060450 errors:0 dropped:0 overruns:0 carrier:0
- collisions:0 txqueuelen:1000
- RX bytes:3598751494497 (3.2 TiB) TX bytes:1744058613150 (1.5 TiB)
- Interrupt:185 Memory:e4000000-e4012100
-
-In the above case the 192.148.x.x IP series refers to the standard
-Ethernet (or Gigabit Ethernet) network, AND the 10.21.x.x series
-refers to Myrinet.
-
-To run over the Myrinet network use:
-
-% mpiexec -np 1 -env MPICH_INTERFACE_HOSTNAME 10.21.3.182 ./foo
-
- ************************************
-
- MPICH_INTERFACE_HOSTNAME_R%d - Network interface to use for rank %d.
-
- ************************************
-
MPICH_PORT_RANGE - Port range to use for MPICH2 internal TCP
connections. This is useful when some of the host ports are
blocked by a firewall. For example, setting MPICH_PORT_RANGE
@@ -878,8 +841,8 @@
-------------------------------------------------------------------------
-XI. Developer Builds
-====================
+9. Developer Builds
+===================
For MPICH2 developers who want to directly work on the svn, there are
a few additional steps involved (people using the release tarballs do
not have to follow these steps). Details about these steps can be
@@ -888,64 +851,34 @@
-------------------------------------------------------------------------
-XII. Building ROMIO into MPICH2
-===============================
-By default, ROMIO, an implementation of the I/O portion of MPI-2 will
-be built as a part of MPICH2. The file systems to be built can be
-speicified by passing them in a '+'-delimited list to the
---with-file-system configure option. For example:
+10. Installing MPICH2 on Windows
+================================
- --with-file-system="pvfs+nfs+ufs"
-
-If you have installed version 2 of the PVFS file system, you can use
-the '--with-pvfs2=<prefix>' configure option to specify where
-libraries, headers, and utilities have been installed. If you have
-added the pvfs utilities to your PATH, then ROMIO will detect this and
-build support for PVFS automatically.
-
--------------------------------------------------------------------------
-
-XIII. Testing the MPICH2 installation
-=====================================
-To test MPICH2, use the following options after installing mpich2.
-These will assume that mpich2 is installed into /usr/local/mpich2.
-
-1. MPICH2 test suite:
-
- shell$ make testing
-
-The results summary will be placed in test/summary.xml
-
--------------------------------------------------------------------------
-
-XIV. Installing MPICH2 on Windows
-=================================
-
Here are the instructions for setting up MPICH2 on a Windows machine:
-0) Install:
+(a) Install:
Microsoft Developer Studio 2003 or later
Intel Fortran 8.0 or later
cygwin
choose the dos file format option
install perl and cvs
-1) Checkout mpich2:
+(b) Checkout mpich2:
Bring up a command prompt.
(replace "yourname" with your MCS login name):
svn co https://svn.mcs.anl.gov/repos/mpi/mpich2/trunk mpich2
-2) Generate *.h.in
+(c) Generate *.h.in
Bring up a cygwin bash shell.
cd mpich2
maint/updatefiles
exit
-3) Execute winconfigure.wsf
+(d) Execute winconfigure.wsf
-4) Open Developer Studio
+(e) Open Developer Studio
open mpich2\mpich2.sln
build the ch3sockDebug mpich2 solution
@@ -961,31 +894,31 @@
build the sfortDebug mpich2 solution
build the sfortRelease mpich2 solution
-5) Open a command prompt
+(f) Open a command prompt
cd to mpich2\maint
execute "makegcclibs.bat"
-6) Open another Developer Studio instance
+(g) Open another Developer Studio instance
open mpich2\examples\examples.sln
build the Release target of the cpi project
-7) Return to Developer Studio with the mpich2 solution
+(h) Return to Developer Studio with the mpich2 solution
set the version numbers in the Installer project
build the Installer mpich2 solution
-8) Test and distribute mpich2\maint\ReleaseMSI\mpich2.msi
+(i) Test and distribute mpich2\maint\ReleaseMSI\mpich2.msi
mpich2.msi can be renamed, eg mpich2-1.1.msi
-9) To install the launcher:
+(j) To install the launcher:
Copy smpd.exe to a local directory on all the nodes.
Log on to each node as an administrator and execute "smpd.exe -install"
-10) Compile and run an MPI application:
+(k) Compile and run an MPI application:
Compile an mpi application. Use mpi.h from mpich2\src\include\win32
and mpi.lib in mpich2\lib
@@ -997,36 +930,37 @@
-------------------------------------------------------------------------
-XIV. Multiple Fortran compiler support
-======================================
+11. Multiple Fortran compiler support
+=====================================
If the C compiler that is used to build MPICH2 libraries supports both
-multiple weak symbols and multiple aliases of common symbols, the Fortran 77
-binding can support multiple Fortran compilers. The multiple weak symbols
-support allow MPICH2 to provide different name mangling scheme (of
-subroutine names) required by differen Fortran compilers. The multiple
-aliases of common symbols support enables MPICH2 to equal different common
-block symbols of the MPI Fortran constant, e.g. MPI_IN_PLACE,
-MPI_STATUS_IGNORE... So they are understood by different Fortran compilers.
+multiple weak symbols and multiple aliases of common symbols, the
+Fortran 77 binding can support multiple Fortran compilers. The
+multiple weak symbols support allow MPICH2 to provide different name
+mangling scheme (of subroutine names) required by differen Fortran
+compilers. The multiple aliases of common symbols support enables
+MPICH2 to equal different common block symbols of the MPI Fortran
+constant, e.g. MPI_IN_PLACE, MPI_STATUS_IGNORE. So they are understood
+by different Fortran compilers.
-Since the support of multiple aliases of common symbols is new/experimental,
-users can disable the feature by using configure option --disable-multi-aliases
-if it causes any undesirable effect, e.g. linker warnings of different sizes
-of common symbols, MPIFCMB* (the warning should be harmless).
+Since the support of multiple aliases of common symbols is
+new/experimental, users can disable the feature by using configure
+option --disable-multi-aliases if it causes any undesirable effect,
+e.g. linker warnings of different sizes of common symbols, MPIFCMB*
+(the warning should be harmless).
-We have only tested this support on a limited set of platforms/compilers.
-On linux, if the C compiler that builds MPICH2 is either gcc or icc,
-the above support will be enabled by configure. At the time of this
-writing, pgcc does not seem to have this multiple aliases of common symbols,
-so configure will detect the deficiency and disable the feature automatically.
-The tested Fortran compiler includes GNU Forran compilers(gfortan, g77),
-Intel Fortran compiler(ifort), Portland Group Fortran compilers(pgf77, pgf90),
-Absoft Fortran compilers (af77, af90), and IBM XL fortran compiler(xlf).
-What this mean is that if mpich2 is built by gcc/gfortran, the resulting
-mpich2 library can be used to link a Fortran program compiled/linked by
-another fortran compiler, say pgf77, say through mpif77 -f77=pgf77.
-As long as the Fortran program is linked without any errors by
-one of these compilers, the program shall be running fine.
-
-Ref: http://trac.mcs.anl.gov/projects/mpich2/ticket/502.
-
+We have only tested this support on a limited set of
+platforms/compilers. On linux, if the C compiler that builds MPICH2
+is either gcc or icc, the above support will be enabled by configure.
+At the time of this writing, pgcc does not seem to have this multiple
+aliases of common symbols, so configure will detect the deficiency and
+disable the feature automatically. The tested Fortran compiler
+includes GNU Forran compilers(gfortan, g77), Intel Fortran
+compiler(ifort), Portland Group Fortran compilers(pgf77, pgf90),
+Absoft Fortran compilers (af77, af90), and IBM XL fortran
+compiler(xlf). What this mean is that if mpich2 is built by
+gcc/gfortran, the resulting mpich2 library can be used to link a
+Fortran program compiled/linked by another fortran compiler, say
+pgf77, say through mpif77 -f77=pgf77. As long as the Fortran program
+is linked without any errors by one of these compilers, the program
+shall be running fine.
Property changes on: mpich2/branches/release/mpich2-1.3.x/confdb
___________________________________________________________________
Modified: svn:mergeinfo
- /mpich2/branches/dev/ckpt2/confdb:5180,5182,5196,5198
/mpich2/branches/dev/ftb/confdb:5661-5730
/mpich2/branches/dev/lapi/confdb:5817
/mpich2/branches/dev/wintcp_async_progress/confdb:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/confdb:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/confdb:5406
/mpich2/trunk/confdb:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7442-7448,7459-7460,7462,7469-7470,7473-7478,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
+ /mpich2/branches/dev/ckpt2/confdb:5180,5182,5196,5198
/mpich2/branches/dev/ftb/confdb:5661-5730
/mpich2/branches/dev/lapi/confdb:5817
/mpich2/branches/dev/wintcp_async_progress/confdb:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/confdb:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/confdb:5406
/mpich2/trunk/confdb:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7442-7448,7459-7460,7462,7469-7470,7473-7478,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654
Property changes on: mpich2/branches/release/mpich2-1.3.x/maint/Version
___________________________________________________________________
Modified: svn:mergeinfo
- /mpich2/branches/dev/ckpt/maint/Version:5050
/mpich2/branches/dev/ckpt2/maint/Version:5057-6537
/mpich2/branches/dev/ftb/maint/Version:5661-5730
/mpich2/branches/dev/lapi/maint/Version:5817
/mpich2/branches/dev/wintcp_async_progress/maint/Version:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/maint/Version:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/maint/Version:5406
/mpich2/trunk/maint/Version:7422-7425,7429-7433,7435,7437-7438,7442-7447,7459-7460,7462,7469-7470,7473-7478,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
/mpich2/trunk/src/pm/hydra/VERSION:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7447
+ /mpich2/branches/dev/ckpt/maint/Version:5050
/mpich2/branches/dev/ckpt2/maint/Version:5057-6537
/mpich2/branches/dev/ftb/maint/Version:5661-5730
/mpich2/branches/dev/lapi/maint/Version:5817
/mpich2/branches/dev/wintcp_async_progress/maint/Version:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/maint/Version:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/maint/Version:5406
/mpich2/trunk/maint/Version:7422-7425,7429-7433,7435,7437-7438,7442-7447,7459-7460,7462,7469-7470,7473-7478,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654
/mpich2/trunk/src/pm/hydra/VERSION:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7447
Property changes on: mpich2/branches/release/mpich2-1.3.x/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c
___________________________________________________________________
Modified: svn:mergeinfo
- /mpich2/branches/dev/ckpt/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5050
/mpich2/branches/dev/ckpt2/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5057-6537
/mpich2/branches/dev/ftb/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5661-5730
/mpich2/branches/dev/lapi/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5817
/mpich2/branches/dev/win_rrvm/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:6416,6428
/mpich2/branches/dev/wintcp_async_progress/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5406
/mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7442-7448,7459-7460,7462,7469-7470,7473-7478,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
+ /mpich2/branches/dev/ckpt/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5050
/mpich2/branches/dev/ckpt2/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5057-6537
/mpich2/branches/dev/ftb/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5661-5730
/mpich2/branches/dev/lapi/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5817
/mpich2/branches/dev/win_rrvm/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:6416,6428
/mpich2/branches/dev/wintcp_async_progress/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5406
/mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7442-7448,7459-7460,7462,7469-7470,7473-7478,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654
Property changes on: mpich2/branches/release/mpich2-1.3.x/src/mpl/src/mplstr.c
___________________________________________________________________
Modified: svn:mergeinfo
- /mpich2/branches/dev/ckpt2/src/mpl/src/string/mplstr.c:5182,5196,5198
/mpich2/branches/dev/ftb/src/mpl/src/mplstr.c:5661-5730
/mpich2/branches/dev/lapi/src/mpl/src/mplstr.c:5817
/mpich2/branches/release/mpich2-1.1.1/src/mpl/src/string/mplstr.c:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/mpl/src/string/mplstr.c:5406
/mpich2/trunk/src/mpl/src/mplstr.c:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7442-7448,7459-7460,7462,7469-7470,7473-7478,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
+ /mpich2/branches/dev/ckpt2/src/mpl/src/string/mplstr.c:5182,5196,5198
/mpich2/branches/dev/ftb/src/mpl/src/mplstr.c:5661-5730
/mpich2/branches/dev/lapi/src/mpl/src/mplstr.c:5817
/mpich2/branches/release/mpich2-1.1.1/src/mpl/src/string/mplstr.c:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/mpl/src/string/mplstr.c:5406
/mpich2/trunk/src/mpl/src/mplstr.c:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7442-7448,7459-7460,7462,7469-7470,7473-7478,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654
Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra
___________________________________________________________________
Modified: svn:mergeinfo
- /mpich2/branches/dev/ckpt/src/pm/hydra:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra:5406
/mpich2/trunk/src/pm/hydra:7355-7359*,7366-7367*,7371-7402*,7406-7409*,7411-7416*,7419-7420*,7422-7425*,7429-7433*,7435*,7437-7438,7447-7448*,7462*,7470*,7473-7477*,7484-7485*,7488-7491*,7493-7502*,7504*,7507-7508*,7510-7517*,7519-7527*,7529-7530*,7532*,7536*,7538-7566*,7592*,7607-7622*,7624-7630*,7632-7635*,7637*,7639*,7641-7643*,7646-7649*
+ /mpich2/branches/dev/ckpt/src/pm/hydra:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra:5406
/mpich2/trunk/src/pm/hydra:7355-7359*,7366-7367*,7371-7402*,7406-7409*,7411-7416*,7419-7420*,7422-7425*,7429-7433*,7435*,7437-7438,7447-7448*,7462*,7470*,7473-7477*,7484-7485*,7488-7491*,7493-7502*,7504*,7507-7508*,7510-7517*,7519-7527*,7529-7530*,7532*,7536*,7538-7566*,7592*,7607-7622*,7624-7630*,7632-7635*,7637*,7639*,7641-7643*,7646-7649*,7651-7654*
Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/Makefile.am
___________________________________________________________________
Modified: svn:mergeinfo
- /mpich2/branches/dev/ckpt/src/pm/hydra/Makefile.am:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/Makefile.am:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/Makefile.am:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/Makefile.am:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/Makefile.am:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/Makefile.am:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/Makefile.am:5406
/mpich2/trunk/src/pm/hydra/Makefile.am:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
+ /mpich2/branches/dev/ckpt/src/pm/hydra/Makefile.am:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/Makefile.am:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/Makefile.am:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/Makefile.am:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/Makefile.am:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/Makefile.am:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/Makefile.am:5406
/mpich2/trunk/src/pm/hydra/Makefile.am:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654
Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/README
___________________________________________________________________
Modified: svn:mergeinfo
- /mpich2/branches/dev/ckpt/src/pm/hydra/README:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/README:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/README:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/README:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/README:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/README:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/README:5406
/mpich2/trunk/src/pm/hydra/README:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
+ /mpich2/branches/dev/ckpt/src/pm/hydra/README:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/README:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/README:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/README:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/README:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/README:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/README:5406
/mpich2/trunk/src/pm/hydra/README:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654
Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/autogen.sh
___________________________________________________________________
Modified: svn:mergeinfo
- /mpich2/branches/dev/ckpt/src/pm/hydra/autogen.sh:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/autogen.sh:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/autogen.sh:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/autogen.sh:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/autogen.sh:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/autogen.sh:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/autogen.sh:5406
/mpich2/trunk/src/pm/hydra/autogen.sh:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
+ /mpich2/branches/dev/ckpt/src/pm/hydra/autogen.sh:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/autogen.sh:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/autogen.sh:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/autogen.sh:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/autogen.sh:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/autogen.sh:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/autogen.sh:5406
/mpich2/trunk/src/pm/hydra/autogen.sh:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654
Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/configure.in
___________________________________________________________________
Modified: svn:mergeinfo
- /mpich2/branches/dev/ckpt/src/pm/hydra/configure.in:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/configure.in:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/configure.in:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/configure.in:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/configure.in:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/configure.in:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/configure.in:5406
/mpich2/trunk/src/pm/hydra/configure.in:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
+ /mpich2/branches/dev/ckpt/src/pm/hydra/configure.in:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/configure.in:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/configure.in:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/configure.in:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/configure.in:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/configure.in:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/configure.in:5406
/mpich2/trunk/src/pm/hydra/configure.in:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654
Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/examples
___________________________________________________________________
Modified: svn:mergeinfo
- /mpich2/branches/dev/ckpt/src/pm/hydra/examples:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/examples:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/examples:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/examples:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/examples:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/examples:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/examples:5406
/mpich2/trunk/src/pm/hydra/examples:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
+ /mpich2/branches/dev/ckpt/src/pm/hydra/examples:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/examples:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/examples:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/examples:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/examples:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/examples:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/examples:5406
/mpich2/trunk/src/pm/hydra/examples:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654
Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/hydra-doxygen.cfg.in
___________________________________________________________________
Modified: svn:mergeinfo
- /mpich2/branches/dev/ckpt/src/pm/hydra/hydra-doxygen.cfg.in:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/hydra-doxygen.cfg.in:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/hydra-doxygen.cfg.in:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/hydra-doxygen.cfg.in:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/hydra-doxygen.cfg.in:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/hydra-doxygen.cfg.in:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/hydra-doxygen.cfg.in:5406
/mpich2/trunk/src/pm/hydra/hydra-doxygen.cfg.in:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
+ /mpich2/branches/dev/ckpt/src/pm/hydra/hydra-doxygen.cfg.in:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/hydra-doxygen.cfg.in:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/hydra-doxygen.cfg.in:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/hydra-doxygen.cfg.in:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/hydra-doxygen.cfg.in:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/hydra-doxygen.cfg.in:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/hydra-doxygen.cfg.in:5406
/mpich2/trunk/src/pm/hydra/hydra-doxygen.cfg.in:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654
Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include
___________________________________________________________________
Modified: svn:mergeinfo
- /mpich2/branches/dev/ckpt/src/pm/hydra/include:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/include:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/include:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/include:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/include:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/include:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/include:5406
/mpich2/trunk/src/pm/hydra/include:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
+ /mpich2/branches/dev/ckpt/src/pm/hydra/include:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/include:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/include:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/include:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/include:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/include:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/include:5406
/mpich2/trunk/src/pm/hydra/include:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra.h 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra.h 2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,66 +7,597 @@
#ifndef HYDRA_H_INCLUDED
#define HYDRA_H_INCLUDED
+#include "mpl.h"
+
+extern char *HYD_dbg_prefix;
+
#include <stdio.h>
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra_config.h"
-struct HYD_cmd {
- enum {
- HYD_CLEANUP,
- HYD_CKPOINT
- } type;
+#if defined NEEDS_POSIX_FOR_SIGACTION
+#define _POSIX_SOURCE
+#endif /* NEEDS_POSIX_FOR_SIGACTION */
+
+#if defined HAVE_WINDOWS_H
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#endif /* HAVE_WINDOWS_H */
+
+#if defined HAVE_UNISTD_H
+#include <unistd.h>
+#endif /* HAVE_UNISTD_H */
+
+#if defined HAVE_STDLIB_H
+#include <stdlib.h>
+#endif /* HAVE_STDLIB_H */
+
+#if defined HAVE_STRING_H
+#include <string.h>
+#endif /* HAVE_STRING_H */
+
+#if defined HAVE_STRINGS_H
+#include <strings.h>
+#endif /* HAVE_STRINGS_H */
+
+#if defined HAVE_STDARG_H
+#include <stdarg.h>
+#endif /* HAVE_STDARG_H */
+
+#if defined HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif /* HAVE_SYS_TYPES_H */
+
+#if defined HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif /* HAVE_SYS_STAT_H */
+
+#if defined HAVE_TIME_H
+#include <time.h>
+#endif /* HAVE_TIME_H */
+
+#if defined HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif /* HAVE_SYS_TIME_H */
+
+#if defined HAVE_IFADDRS_H
+#include <ifaddrs.h>
+#endif /* HAVE_IFADDRS_H */
+
+#if defined HAVE_ARPA_INET_H
+#include <arpa/inet.h>
+#endif /* HAVE_ARPA_INET_H */
+
+#if defined HAVE_ERRNO_H
+#include <errno.h>
+#endif /* HAVE_ERRNO_H */
+
+#if !defined HAVE_GETTIMEOFDAY
+#error "hydra requires gettimeofday support"
+#endif /* HAVE_GETTIMEOFDAY */
+
+#if !defined HAVE_MACRO_VA_ARGS
+#error "hydra requires VA_ARGS support"
+#endif /* HAVE_MACRO_VA_ARGS */
+
+#if defined MAXHOSTNAMELEN
+#define MAX_HOSTNAME_LEN MAXHOSTNAMELEN
+#else
+#define MAX_HOSTNAME_LEN 256
+#endif /* MAXHOSTNAMELEN */
+
+#define HYDRA_MAX_PATH 4096
+
+/* sockets required headers */
+#ifdef HAVE_POLL_H
+#include <poll.h>
+#endif /* HAVE_POLL_H */
+#ifdef HAVE_FCNTL_H
+#include <fcntl.h>
+#endif /* HAVE_FCNTL_H */
+#ifdef HAVE_NETDB_H
+#include <netdb.h>
+#endif /* HAVE_NETDB_H */
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif /* HAVE_NETINET_IN_H */
+#ifdef HAVE_NETINET_TCP_H
+#include <netinet/tcp.h>
+#endif /* HAVE_NETINET_TCP_H */
+
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+
+#define HYD_POLLIN (0x0001)
+#define HYD_POLLOUT (0x0002)
+#define HYD_POLLHUP (0x0004)
+
+#define HYD_TMPBUF_SIZE (64 * 1024)
+#define HYD_TMP_STRLEN 1024
+#define HYD_NUM_TMP_STRINGS 1000
+
+#define dprintf(...)
+
+#ifndef ATTRIBUTE
+#ifdef HAVE_GCC_ATTRIBUTE
+#define ATTRIBUTE(a_) __attribute__(a_)
+#else
+#define ATTRIBUTE(a_)
+#endif
+#endif
+
+#define HYD_IS_HELP(str) \
+ ((!strcmp((str), "-h")) || (!strcmp((str), "-help")) || (!strcmp((str), "--help")))
+
+#define HYD_DRAW_LINE(x) \
+ { \
+ int i_; \
+ for (i_ = 0; i_ < (x); i_++) \
+ printf("="); \
+ printf("\n"); \
+ }
+
+#define HYD_CONVERT_FALSE_TO_NULL(x) \
+ { \
+ if (!(x)) { \
+ } \
+ else if (!strcasecmp((x), "none") || !strcasecmp((x), "no") || \
+ !strcasecmp((x), "dummy") || !strcasecmp((x), "null") || \
+ !strcasecmp((x), "nil") || !strcasecmp((x), "false")) { \
+ HYDU_FREE((x)); \
+ (x) = NULL; \
+ } \
+ }
+
+#if defined MANUAL_EXTERN_ENVIRON
+extern char **environ;
+#endif /* MANUAL_EXTERN_ENVIRON */
+
+#define HYD_SILENT_ERROR(status) (((status) == HYD_GRACEFUL_ABORT) || ((status) == HYD_TIMED_OUT))
+
+#define HYDRA_NAMESERVER_DEFAULT_PORT 6392
+
+/* fd state */
+enum HYD_fd_state {
+ HYD_FD_UNSET = -1,
+ HYD_FD_CLOSED = -2
};
-struct HYD_handle {
- struct HYD_user_global user_global;
+/* Status information */
+typedef enum {
+ HYD_SUCCESS = 0,
+ HYD_FAILURE, /* general failure */
- int ppn;
+ /* Silent errors */
+ HYD_GRACEFUL_ABORT,
+ HYD_TIMED_OUT,
- char *base_path;
+ /* Regular errors */
+ HYD_NO_MEM,
+ HYD_SOCK_ERROR,
+ HYD_INVALID_PARAM,
+ HYD_INTERNAL_ERROR
+} HYD_status;
- char *port_range;
+#if defined(NEEDS_GETHOSTNAME_DECL)
+int gethostname(char *name, size_t len);
+#endif
- char *interface_env_name;
+typedef unsigned short HYD_event_t;
- char *nameserver;
+/* Argument matching functions */
+struct HYD_arg_match_table {
+ const char *arg;
+ HYD_status(*handler_fn) (char *arg, char ***argv_p);
+ void (*help_fn) (void);
+};
- char *local_hostname;
- int ckpoint_int;
+/* Environment information */
+struct HYD_env {
+ const char *env_name;
+ const char *env_value;
+ struct HYD_env *next;
+};
- int print_rank_map;
- int print_all_exitcodes;
+typedef enum HYD_env_overwrite {
+ HYD_ENV_OVERWRITE_TRUE,
+ HYD_ENV_OVERWRITE_FALSE
+} HYD_env_overwrite_t;
- int ranks_per_proc;
+typedef enum {
+ HYD_ENV_PROP_UNSET,
+ HYD_ENV_PROP_ALL,
+ HYD_ENV_PROP_NONE,
+ HYD_ENV_PROP_LIST
+} HYD_env_prop_t;
- HYD_status(*stdout_cb) (int pgid, int proxy_id, int rank, void *buf, int buflen);
- HYD_status(*stderr_cb) (int pgid, int proxy_id, int rank, void *buf, int buflen);
+struct HYD_env_global {
+ struct HYD_env *system;
+ struct HYD_env *user;
+ struct HYD_env *inherited;
+ char *prop;
+};
- /* All of the available nodes */
- struct HYD_node *node_list;
- int global_core_count;
- enum HYD_sort_order {
- NONE = 0,
- ASCENDING = 1,
- DESCENDING = 2
- } sort_order;
+/* Executable information */
+struct HYD_exec {
+ char *exec[HYD_NUM_TMP_STRINGS];
+ char *wdir;
- /* Process groups */
- struct HYD_pg pg_list;
+ int proc_count;
+ struct HYD_env *user_env;
+ char *env_prop;
- /* Random parameters used for internal code */
- int func_depth;
+ int appnum;
- /* Cleanup */
- int cleanup_pipe[2];
+ struct HYD_exec *next;
+};
-#if defined ENABLE_PROFILING
- int enable_profiling;
- int num_pmi_calls;
-#endif /* ENABLE_PROFILING */
+/* Process group */
+struct HYD_pg {
+ int pgid;
+ struct HYD_proxy *proxy_list;
+ int pg_process_count;
+ int barrier_count;
+
+ struct HYD_pg *spawner_pg;
+
+ /* scratch space for the PM */
+ void *pg_scratch;
+
+ struct HYD_pg *next;
};
-extern struct HYD_handle HYD_handle;
+/* Information about the node itself */
+struct HYD_node {
+ char *hostname;
+ int core_count;
+ /* Node-specific binding information */
+ char *local_binding;
+
+ struct HYD_node *next;
+};
+
+/* Proxy information */
+struct HYD_proxy {
+ struct HYD_node node;
+
+ struct HYD_pg *pg; /* Back pointer to the PG */
+
+ char **exec_launch_info;
+
+ int proxy_id;
+
+ int start_pid;
+ int proxy_process_count;
+
+ struct HYD_exec *exec_list;
+
+ int *pid;
+ int *exit_status;
+ int control_fd;
+
+ struct HYD_proxy *next;
+};
+
+/* Global user parameters */
+struct HYD_user_global {
+ /* RMK */
+ char *rmk;
+
+ /* Launcher */
+ char *launcher;
+ char *launcher_exec;
+
+ /* Process binding */
+ char *binding;
+ char *bindlib;
+
+ /* Checkpoint restart */
+ char *ckpointlib;
+ char *ckpoint_prefix;
+ int ckpoint_num;
+
+ /* Demux engine */
+ char *demux;
+
+ /* Network interface */
+ char *iface;
+
+ /* Other random parameters */
+ int enablex;
+ int debug;
+
+ int auto_cleanup;
+
+ struct HYD_env_global global_env;
+};
+
+#define HYDU_dump_prefix(fp) \
+ { \
+ fprintf(fp, "[%s] ", HYD_dbg_prefix); \
+ fflush(fp); \
+ }
+
+#define HYDU_dump_noprefix(fp, ...) \
+ { \
+ fprintf(fp, __VA_ARGS__); \
+ fflush(fp); \
+ }
+
+#define HYDU_dump(fp, ...) \
+ { \
+ HYDU_dump_prefix(fp); \
+ HYDU_dump_noprefix(fp, __VA_ARGS__); \
+ }
+
+#if defined HAVE__FUNC__
+#define HYDU_FUNC __func__
+#elif defined HAVE_CAP__FUNC__
+#define HYDU_FUNC __FUNC__
+#elif defined HAVE__FUNCTION__
+#define HYDU_FUNC __FUNCTION__
+#endif
+
+#if defined __FILE__ && defined HYDU_FUNC
+#define HYDU_error_printf(...) \
+ { \
+ HYDU_dump_prefix(stderr); \
+ HYDU_dump_noprefix(stderr, "%s (%s:%d): ", __func__, __FILE__, __LINE__); \
+ HYDU_dump_noprefix(stderr, __VA_ARGS__); \
+ }
+#elif defined __FILE__
+#define HYDU_error_printf(...) \
+ { \
+ HYDU_dump_prefix(stderr); \
+ HYDU_dump_noprefix(stderr, "%s (%d): ", __FILE__, __LINE__); \
+ HYDU_dump_noprefix(stderr, __VA_ARGS__); \
+ }
+#else
+#define HYDU_error_printf(...) \
+ { \
+ HYDU_dump_prefix(stderr); \
+ HYDU_dump_noprefix(stderr, __VA_ARGS__); \
+ }
+#endif
+
+#define HYDU_ASSERT(x, status) \
+ { \
+ if (!(x)) { \
+ HYDU_ERR_SETANDJUMP(status, HYD_INTERNAL_ERROR, \
+ "assert (%s) failed\n", #x); \
+ } \
+ }
+
+#define HYDU_IGNORE_TIMEOUT(status) \
+ { \
+ if ((status) == HYD_TIMED_OUT) \
+ (status) = HYD_SUCCESS; \
+ }
+
+#define HYDU_ERR_POP(status, ...) \
+ { \
+ if (status && !HYD_SILENT_ERROR(status)) { \
+ HYDU_error_printf(__VA_ARGS__); \
+ goto fn_fail; \
+ } \
+ else if (HYD_SILENT_ERROR(status)) { \
+ goto fn_exit; \
+ } \
+ }
+
+#define HYDU_ERR_SETANDJUMP(status, error, ...) \
+ { \
+ status = error; \
+ HYDU_ERR_POP(status, __VA_ARGS__); \
+ }
+
+#define HYDU_ERR_CHKANDJUMP(status, chk, error, ...) \
+ { \
+ if ((chk)) \
+ HYDU_ERR_SETANDJUMP(status, error, __VA_ARGS__); \
+ }
+
+#if defined ENABLE_WARNINGS
+#define HYDU_warn_printf HYDU_error_printf
+#else
+#define HYDU_warn_printf(...)
+#endif /* ENABLE_WARNINGS */
+
+/* Disable for now; we might add something here in the future */
+#define HYDU_FUNC_ENTER() do {} while (0)
+#define HYDU_FUNC_EXIT() do {} while (0)
+
+
+/* alloc */
+void HYDU_init_user_global(struct HYD_user_global *user_global);
+void HYDU_finalize_user_global(struct HYD_user_global *user_global);
+void HYDU_init_global_env(struct HYD_env_global *global_env);
+void HYDU_finalize_global_env(struct HYD_env_global *global_env);
+HYD_status HYDU_alloc_node(struct HYD_node **node);
+void HYDU_free_node_list(struct HYD_node *node_list);
+void HYDU_init_pg(struct HYD_pg *pg, int pgid);
+HYD_status HYDU_alloc_pg(struct HYD_pg **pg, int pgid);
+void HYDU_free_pg_list(struct HYD_pg *pg_list);
+HYD_status HYDU_alloc_proxy(struct HYD_proxy **proxy, struct HYD_pg *pg);
+void HYDU_free_proxy_list(struct HYD_proxy *proxy_list);
+HYD_status HYDU_alloc_exec(struct HYD_exec **exec);
+void HYDU_free_exec_list(struct HYD_exec *exec_list);
+HYD_status HYDU_create_proxy_list(struct HYD_exec *exec_list, struct HYD_node *node_list,
+ struct HYD_pg *pg, int proc_offset);
+HYD_status HYDU_correct_wdir(char **wdir);
+
+/* args */
+HYD_status HYDU_find_in_path(const char *execname, char **path);
+HYD_status HYDU_parse_array(char ***argv, struct HYD_arg_match_table *match_table);
+HYD_status HYDU_set_str(char *arg, char ***argv, char **var, const char *val);
+HYD_status HYDU_set_str_and_incr(char *arg, char ***argv, char **var);
+HYD_status HYDU_set_int(char *arg, char ***argv, int *var, int val);
+HYD_status HYDU_set_int_and_incr(char *arg, char ***argv, int *var);
+char *HYDU_getcwd(void);
+HYD_status HYDU_process_mfile_token(char *token, int newline, struct HYD_node **node_list);
+HYD_status HYDU_parse_hostfile(char *hostfile, struct HYD_node **node_list,
+ HYD_status(*process_token) (char *token, int newline,
+ struct HYD_node ** node_list));
+char *HYDU_find_full_path(const char *execname);
+HYD_status HYDU_send_strlist(int fd, char **strlist);
+
+/* debug */
+HYD_status HYDU_dbg_init(const char *str);
+void HYDU_dbg_finalize(void);
+
+/* env */
+HYD_status HYDU_env_to_str(struct HYD_env *env, char **str);
+HYD_status HYDU_list_inherited_env(struct HYD_env **env_list);
+struct HYD_env *HYDU_env_list_dup(struct HYD_env *env);
+HYD_status HYDU_env_create(struct HYD_env **env, const char *env_name, const char *env_value);
+HYD_status HYDU_env_free(struct HYD_env *env);
+HYD_status HYDU_env_free_list(struct HYD_env *env);
+struct HYD_env *HYDU_env_lookup(char *env_name, struct HYD_env *env_list);
+HYD_status HYDU_append_env_to_list(const char *env_name, const char *env_value,
+ struct HYD_env **env_list);
+HYD_status HYDU_append_env_str_to_list(char *str, struct HYD_env **env_list);
+HYD_status HYDU_putenv(struct HYD_env *env, HYD_env_overwrite_t overwrite);
+HYD_status HYDU_putenv_list(struct HYD_env *env_list, HYD_env_overwrite_t overwrite);
+HYD_status HYDU_comma_list_to_env_list(char *str, struct HYD_env **env_list);
+
+/* launch */
+struct HYDT_bind_cpuset_t;
+HYD_status HYDU_create_process(char **client_arg, struct HYD_env *env_list,
+ int *in, int *out, int *err, int *pid,
+ struct HYDT_bind_cpuset_t cpuset);
+
+/* others */
+int HYDU_local_to_global_id(int local_id, int start_pid, int core_count,
+ int global_core_count);
+HYD_status HYDU_add_to_node_list(const char *hostname, int num_procs,
+ struct HYD_node **node_list);
+HYD_status HYDU_gethostname(char *hostname);
+
+/* signals */
+#ifdef NEEDS_POSIX_FOR_SIGACTION
+#define _POSIX_SOURCE
+#endif
+
+#include <sys/wait.h>
+#if defined(USE_SIGNAL) || defined(USE_SIGACTION)
+#include <signal.h>
+#else
+#error no signal choice
+#endif
+#ifdef NEEDS_STRSIGNAL_DECL
+extern char *strsignal(int);
+#endif
+
+HYD_status HYDU_set_signal(int signum, void (*handler) (int));
+HYD_status HYDU_set_common_signals(void (*handler) (int));
+
+/* Sock utilities */
+enum HYDU_sock_comm_flag {
+ HYDU_SOCK_COMM_NONE = 0,
+ HYDU_SOCK_COMM_MSGWAIT = 1
+};
+
+HYD_status HYDU_sock_listen(int *listen_fd, char *port_range, uint16_t * port);
+HYD_status HYDU_sock_connect(const char *host, uint16_t port, int *fd);
+HYD_status HYDU_sock_accept(int listen_fd, int *fd);
+HYD_status HYDU_sock_read(int fd, void *buf, int maxlen, int *recvd, int *closed,
+ enum HYDU_sock_comm_flag flag);
+HYD_status HYDU_sock_write(int fd, const void *buf, int maxlen, int *sent, int *closed);
+HYD_status HYDU_sock_forward_stdio(int in, int out, int *closed);
+HYD_status HYDU_sock_get_iface_ip(char *iface, char **ip);
+HYD_status HYDU_sock_is_local(char *host, int *is_local);
+HYD_status HYDU_sock_remote_access(char *host, int *remote_access);
+HYD_status
+HYDU_sock_create_and_listen_portstr(char *iface, char *hostname, char *port_range,
+ char **port_str,
+ HYD_status(*callback) (int fd, HYD_event_t events,
+ void *userp), void *userp);
+HYD_status HYDU_sock_cloexec(int fd);
+
+
+/* Memory utilities */
+#include <ctype.h>
+
+#if defined USE_MEMORY_TRACING
+
+#define HYDU_mem_init() MPL_trinit(0)
+
+#define HYDU_strdup(a) MPL_trstrdup(a,__LINE__,__FILE__)
+#ifdef strdup
+#undef strdup
+#endif
+#define strdup(a) 'Error use HYDU_strdup' :::
+
+#define HYDU_malloc(a) MPL_trmalloc((unsigned)(a),__LINE__,__FILE__)
+#define malloc(a) 'Error use HYDU_malloc' :::
+
+#define HYDU_free(a) MPL_trfree(a,__LINE__,__FILE__)
+#define free(a) 'Error use HYDU_free' :::
+
+#else /* if !defined USE_MEMORY_TRACING */
+
+#define HYDU_mem_init()
+#define HYDU_strdup MPL_strdup
+#define HYDU_malloc malloc
+#define HYDU_free free
+
+#endif /* USE_MEMORY_TRACING */
+
+#define HYDU_snprintf MPL_snprintf
+
+#define HYDU_MALLOC(p, type, size, status) \
+ { \
+ (p) = (type) HYDU_malloc((size)); \
+ if ((p) == NULL) \
+ HYDU_ERR_SETANDJUMP((status), HYD_NO_MEM, \
+ "failed to allocate %d bytes\n", \
+ (int) (size)); \
+ }
+
+#define HYDU_FREE(p) \
+ { \
+ HYDU_free((void *) p); \
+ }
+
+#define HYDU_STRLIST_CONSOLIDATE(strlist, i, status) \
+ { \
+ char *out; \
+ if ((i) >= (HYD_NUM_TMP_STRINGS / 2)) { \
+ (strlist)[(i)] = NULL; \
+ (status) = HYDU_str_alloc_and_join((strlist), &out); \
+ HYDU_ERR_POP((status), "unable to join strings\n"); \
+ HYDU_free_strlist((strlist)); \
+ strlist[0] = out; \
+ (i) = 1; \
+ } \
+ }
+
+#define HYD_GET_ENV_STR_VAL(lvalue_, env_var_name_, default_val_) \
+ do { \
+ if (lvalue_ == NULL) { \
+ const char *tmp_ = (default_val_); \
+ MPL_env2str(env_var_name_, (const char **) &tmp_); \
+ if (tmp_) \
+ lvalue_ = HYDU_strdup(tmp_); \
+ } \
+ } while (0)
+
+HYD_status HYDU_list_append_strlist(char **exec, char **client_arg);
+HYD_status HYDU_print_strlist(char **args);
+void HYDU_free_strlist(char **args);
+HYD_status HYDU_str_alloc_and_join(char **strlist, char **strjoin);
+HYD_status HYDU_strsplit(char *str, char **str1, char **str2, char sep);
+HYD_status HYDU_strdup_list(char *src[], char **dest[]);
+char *HYDU_int_to_str(int x);
+char *HYDU_int_to_str_pad(int x, int maxlen);
+char *HYDU_strerror(int error);
+int HYDU_strlist_lastidx(char **strlist);
+char **HYDU_str_to_strlist(char *str);
+
+/*!
+ * @}
+ */
+
#endif /* HYDRA_H_INCLUDED */
Deleted: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra_base.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra_base.h 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra_base.h 2011-01-03 14:20:31 UTC (rev 7655)
@@ -1,314 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- * (C) 2008 by Argonne National Laboratory.
- * See COPYRIGHT in top-level directory.
- */
-
-#ifndef HYDRA_BASE_H_INCLUDED
-#define HYDRA_BASE_H_INCLUDED
-
-#include <stdio.h>
-#include "hydra_config.h"
-
-#if defined NEEDS_POSIX_FOR_SIGACTION
-#define _POSIX_SOURCE
-#endif /* NEEDS_POSIX_FOR_SIGACTION */
-
-#if defined HAVE_WINDOWS_H
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#endif /* HAVE_WINDOWS_H */
-
-#if defined HAVE_UNISTD_H
-#include <unistd.h>
-#endif /* HAVE_UNISTD_H */
-
-#if defined HAVE_STDLIB_H
-#include <stdlib.h>
-#endif /* HAVE_STDLIB_H */
-
-#if defined HAVE_STRING_H
-#include <string.h>
-#endif /* HAVE_STRING_H */
-
-#if defined HAVE_STRINGS_H
-#include <strings.h>
-#endif /* HAVE_STRINGS_H */
-
-#if defined HAVE_STDARG_H
-#include <stdarg.h>
-#endif /* HAVE_STDARG_H */
-
-#if defined HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif /* HAVE_SYS_TYPES_H */
-
-#if defined HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif /* HAVE_SYS_STAT_H */
-
-#if defined HAVE_TIME_H
-#include <time.h>
-#endif /* HAVE_TIME_H */
-
-#if defined HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif /* HAVE_SYS_TIME_H */
-
-#if defined HAVE_IFADDRS_H
-#include <ifaddrs.h>
-#endif /* HAVE_IFADDRS_H */
-
-#if defined HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif /* HAVE_ARPA_INET_H */
-
-#if defined HAVE_ERRNO_H
-#include <errno.h>
-#endif /* HAVE_ERRNO_H */
-
-#if !defined HAVE_GETTIMEOFDAY
-#error "hydra requires gettimeofday support"
-#endif /* HAVE_GETTIMEOFDAY */
-
-#if !defined HAVE_MACRO_VA_ARGS
-#error "hydra requires VA_ARGS support"
-#endif /* HAVE_MACRO_VA_ARGS */
-
-#if defined MAXHOSTNAMELEN
-#define MAX_HOSTNAME_LEN MAXHOSTNAMELEN
-#else
-#define MAX_HOSTNAME_LEN 256
-#endif /* MAXHOSTNAMELEN */
-
-#define HYDRA_MAX_PATH 4096
-
-/* sockets required headers */
-#ifdef HAVE_POLL_H
-#include <poll.h>
-#endif /* HAVE_POLL_H */
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif /* HAVE_FCNTL_H */
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif /* HAVE_NETDB_H */
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif /* HAVE_NETINET_IN_H */
-#ifdef HAVE_NETINET_TCP_H
-#include <netinet/tcp.h>
-#endif /* HAVE_NETINET_TCP_H */
-
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-
-#define HYD_POLLIN (0x0001)
-#define HYD_POLLOUT (0x0002)
-#define HYD_POLLHUP (0x0004)
-
-#define HYD_TMPBUF_SIZE (64 * 1024)
-#define HYD_TMP_STRLEN 1024
-#define HYD_NUM_TMP_STRINGS 1000
-
-#define dprintf(...)
-
-#ifndef ATTRIBUTE
-#ifdef HAVE_GCC_ATTRIBUTE
-#define ATTRIBUTE(a_) __attribute__(a_)
-#else
-#define ATTRIBUTE(a_)
-#endif
-#endif
-
-#define HYD_IS_HELP(str) \
- ((!strcmp((str), "-h")) || (!strcmp((str), "-help")) || (!strcmp((str), "--help")))
-
-#define HYD_DRAW_LINE(x) \
- { \
- int i_; \
- for (i_ = 0; i_ < (x); i_++) \
- printf("="); \
- printf("\n"); \
- }
-
-#define HYD_CONVERT_FALSE_TO_NULL(x) \
- { \
- if (!(x)) { \
- } \
- else if (!strcasecmp((x), "none") || !strcasecmp((x), "no") || \
- !strcasecmp((x), "dummy") || !strcasecmp((x), "null") || \
- !strcasecmp((x), "nil") || !strcasecmp((x), "false")) { \
- HYDU_FREE((x)); \
- (x) = NULL; \
- } \
- }
-
-#if defined MANUAL_EXTERN_ENVIRON
-extern char **environ;
-#endif /* MANUAL_EXTERN_ENVIRON */
-
-#define HYD_SILENT_ERROR(status) (((status) == HYD_GRACEFUL_ABORT) || ((status) == HYD_TIMED_OUT))
-
-#define HYDRA_NAMESERVER_DEFAULT_PORT 6392
-
-/* fd state */
-enum HYD_fd_state {
- HYD_FD_UNSET = -1,
- HYD_FD_CLOSED = -2
-};
-
-/* Status information */
-typedef enum {
- HYD_SUCCESS = 0,
- HYD_FAILURE, /* general failure */
-
- /* Silent errors */
- HYD_GRACEFUL_ABORT,
- HYD_TIMED_OUT,
-
- /* Regular errors */
- HYD_NO_MEM,
- HYD_SOCK_ERROR,
- HYD_INVALID_PARAM,
- HYD_INTERNAL_ERROR
-} HYD_status;
-
-#if defined(NEEDS_GETHOSTNAME_DECL)
-int gethostname(char *name, size_t len);
-#endif
-
-typedef unsigned short HYD_event_t;
-
-/* Argument matching functions */
-struct HYD_arg_match_table {
- const char *arg;
- HYD_status(*handler_fn) (char *arg, char ***argv_p);
- void (*help_fn) (void);
-};
-
-
-/* Environment information */
-struct HYD_env {
- const char *env_name;
- const char *env_value;
- struct HYD_env *next;
-};
-
-typedef enum HYD_env_overwrite {
- HYD_ENV_OVERWRITE_TRUE,
- HYD_ENV_OVERWRITE_FALSE
-} HYD_env_overwrite_t;
-
-typedef enum {
- HYD_ENV_PROP_UNSET,
- HYD_ENV_PROP_ALL,
- HYD_ENV_PROP_NONE,
- HYD_ENV_PROP_LIST
-} HYD_env_prop_t;
-
-struct HYD_env_global {
- struct HYD_env *system;
- struct HYD_env *user;
- struct HYD_env *inherited;
- char *prop;
-};
-
-/* Executable information */
-struct HYD_exec {
- char *exec[HYD_NUM_TMP_STRINGS];
- char *wdir;
-
- int proc_count;
- struct HYD_env *user_env;
- char *env_prop;
-
- int appnum;
-
- struct HYD_exec *next;
-};
-
-/* Process group */
-struct HYD_pg {
- int pgid;
- struct HYD_proxy *proxy_list;
- int pg_process_count;
- int barrier_count;
-
- struct HYD_pg *spawner_pg;
-
- /* scratch space for the PM */
- void *pg_scratch;
-
- struct HYD_pg *next;
-};
-
-/* Information about the node itself */
-struct HYD_node {
- char *hostname;
- int core_count;
-
- /* Node-specific binding information */
- char *local_binding;
-
- struct HYD_node *next;
-};
-
-/* Proxy information */
-struct HYD_proxy {
- struct HYD_node node;
-
- struct HYD_pg *pg; /* Back pointer to the PG */
-
- char **exec_launch_info;
-
- int proxy_id;
-
- int start_pid;
- int proxy_process_count;
-
- struct HYD_exec *exec_list;
-
- int *pid;
- int *exit_status;
- int control_fd;
-
- struct HYD_proxy *next;
-};
-
-/* Global user parameters */
-struct HYD_user_global {
- /* RMK */
- char *rmk;
-
- /* Launcher */
- char *launcher;
- char *launcher_exec;
-
- /* Process binding */
- char *binding;
- char *bindlib;
-
- /* Checkpoint restart */
- char *ckpointlib;
- char *ckpoint_prefix;
- int ckpoint_num;
-
- /* Demux engine */
- char *demux;
-
- /* Network interface */
- char *iface;
-
- /* Other random parameters */
- int prepend_rank;
- int enablex;
- int debug;
-
- int auto_cleanup;
-
- struct HYD_env_global global_env;
-};
-
-#endif /* HYDRA_BASE_H_INCLUDED */
Copied: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra_server.h (from rev 7654, mpich2/trunk/src/pm/hydra/include/hydra_server.h)
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra_server.h (rev 0)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra_server.h 2011-01-03 14:20:31 UTC (rev 7655)
@@ -0,0 +1,50 @@
+/* -*- Mode: C; c-basic-offset:4 ; -*- */
+/*
+ * (C) 2008 by Argonne National Laboratory.
+ * See COPYRIGHT in top-level directory.
+ */
+
+#ifndef HYDRA_SERVER_H_INCLUDED
+#define HYDRA_SERVER_H_INCLUDED
+
+#include "hydra.h"
+
+/* Interaction commands between the UI and the proxy */
+struct HYD_cmd {
+ enum {
+ HYD_CLEANUP,
+ HYD_CKPOINT
+ } type;
+};
+
+struct HYD_server_info {
+ struct HYD_user_global user_global;
+
+ char *base_path;
+ char *port_range;
+ char *interface_env_name;
+ char *nameserver;
+ char *local_hostname;
+
+ HYD_status(*stdout_cb) (int pgid, int proxy_id, int rank, void *buf, int buflen);
+ HYD_status(*stderr_cb) (int pgid, int proxy_id, int rank, void *buf, int buflen);
+
+ /* All of the available nodes */
+ struct HYD_node *node_list;
+ int global_core_count;
+
+ /* Process groups */
+ struct HYD_pg pg_list;
+
+ /* Cleanup */
+ int cleanup_pipe[2];
+
+#if defined ENABLE_PROFILING
+ int enable_profiling;
+ int num_pmi_calls;
+#endif /* ENABLE_PROFILING */
+};
+
+extern struct HYD_server_info HYD_server_info;
+
+#endif /* HYDRA_SERVER_H_INCLUDED */
Deleted: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra_utils.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra_utils.h 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/include/hydra_utils.h 2011-01-03 14:20:31 UTC (rev 7655)
@@ -1,301 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- * (C) 2008 by Argonne National Laboratory.
- * See COPYRIGHT in top-level directory.
- */
-
-#ifndef HYDRA_UTILS_H_INCLUDED
-#define HYDRA_UTILS_H_INCLUDED
-
-#include "hydra_base.h"
-#include "mpl.h"
-
-extern char *HYD_dbg_prefix;
-
-#define HYDU_dump_prefix(fp) \
- { \
- fprintf(fp, "[%s] ", HYD_dbg_prefix); \
- fflush(fp); \
- }
-
-#define HYDU_dump_noprefix(fp, ...) \
- { \
- fprintf(fp, __VA_ARGS__); \
- fflush(fp); \
- }
-
-#define HYDU_dump(fp, ...) \
- { \
- HYDU_dump_prefix(fp); \
- HYDU_dump_noprefix(fp, __VA_ARGS__); \
- }
-
-#if defined HAVE__FUNC__
-#define HYDU_FUNC __func__
-#elif defined HAVE_CAP__FUNC__
-#define HYDU_FUNC __FUNC__
-#elif defined HAVE__FUNCTION__
-#define HYDU_FUNC __FUNCTION__
-#endif
-
-#if defined __FILE__ && defined HYDU_FUNC
-#define HYDU_error_printf(...) \
- { \
- HYDU_dump_prefix(stderr); \
- HYDU_dump_noprefix(stderr, "%s (%s:%d): ", __func__, __FILE__, __LINE__); \
- HYDU_dump_noprefix(stderr, __VA_ARGS__); \
- }
-#elif defined __FILE__
-#define HYDU_error_printf(...) \
- { \
- HYDU_dump_prefix(stderr); \
- HYDU_dump_noprefix(stderr, "%s (%d): ", __FILE__, __LINE__); \
- HYDU_dump_noprefix(stderr, __VA_ARGS__); \
- }
-#else
-#define HYDU_error_printf(...) \
- { \
- HYDU_dump_prefix(stderr); \
- HYDU_dump_noprefix(stderr, __VA_ARGS__); \
- }
-#endif
-
-#define HYDU_ASSERT(x, status) \
- { \
- if (!(x)) { \
- HYDU_ERR_SETANDJUMP(status, HYD_INTERNAL_ERROR, \
- "assert (%s) failed\n", #x); \
- } \
- }
-
-#define HYDU_IGNORE_TIMEOUT(status) \
- { \
- if ((status) == HYD_TIMED_OUT) \
- (status) = HYD_SUCCESS; \
- }
-
-#define HYDU_ERR_POP(status, ...) \
- { \
- if (status && !HYD_SILENT_ERROR(status)) { \
- HYDU_error_printf(__VA_ARGS__); \
- goto fn_fail; \
- } \
- else if (HYD_SILENT_ERROR(status)) { \
- goto fn_exit; \
- } \
- }
-
-#define HYDU_ERR_SETANDJUMP(status, error, ...) \
- { \
- status = error; \
- HYDU_ERR_POP(status, __VA_ARGS__); \
- }
-
-#define HYDU_ERR_CHKANDJUMP(status, chk, error, ...) \
- { \
- if ((chk)) \
- HYDU_ERR_SETANDJUMP(status, error, __VA_ARGS__); \
- }
-
-#if defined ENABLE_WARNINGS
-#define HYDU_warn_printf HYDU_error_printf
-#else
-#define HYDU_warn_printf(...)
-#endif /* ENABLE_WARNINGS */
-
-/* Disable for now; we might add something here in the future */
-#define HYDU_FUNC_ENTER() do {} while (0)
-#define HYDU_FUNC_EXIT() do {} while (0)
-
-
-/* alloc */
-void HYDU_init_user_global(struct HYD_user_global *user_global);
-void HYDU_finalize_user_global(struct HYD_user_global *user_global);
-void HYDU_init_global_env(struct HYD_env_global *global_env);
-void HYDU_finalize_global_env(struct HYD_env_global *global_env);
-HYD_status HYDU_alloc_node(struct HYD_node **node);
-void HYDU_free_node_list(struct HYD_node *node_list);
-void HYDU_init_pg(struct HYD_pg *pg, int pgid);
-HYD_status HYDU_alloc_pg(struct HYD_pg **pg, int pgid);
-void HYDU_free_pg_list(struct HYD_pg *pg_list);
-HYD_status HYDU_alloc_proxy(struct HYD_proxy **proxy, struct HYD_pg *pg);
-void HYDU_free_proxy_list(struct HYD_proxy *proxy_list);
-HYD_status HYDU_alloc_exec(struct HYD_exec **exec);
-void HYDU_free_exec_list(struct HYD_exec *exec_list);
-HYD_status HYDU_create_proxy_list(struct HYD_exec *exec_list, struct HYD_node *node_list,
- struct HYD_pg *pg, int proc_offset);
-HYD_status HYDU_correct_wdir(char **wdir);
-
-/* args */
-HYD_status HYDU_find_in_path(const char *execname, char **path);
-HYD_status HYDU_parse_array(char ***argv, struct HYD_arg_match_table *match_table);
-HYD_status HYDU_set_str(char *arg, char ***argv, char **var, const char *val);
-HYD_status HYDU_set_str_and_incr(char *arg, char ***argv, char **var);
-HYD_status HYDU_set_int(char *arg, char ***argv, int *var, int val);
-HYD_status HYDU_set_int_and_incr(char *arg, char ***argv, int *var);
-char *HYDU_getcwd(void);
-HYD_status HYDU_process_mfile_token(char *token, int newline, struct HYD_node **node_list);
-HYD_status HYDU_parse_hostfile(char *hostfile, struct HYD_node **node_list,
- HYD_status(*process_token) (char *token, int newline,
- struct HYD_node **node_list));
-char *HYDU_find_full_path(const char *execname);
-HYD_status HYDU_send_strlist(int fd, char **strlist);
-
-/* debug */
-HYD_status HYDU_dbg_init(const char *str);
-void HYDU_dbg_finalize(void);
-
-/* env */
-HYD_status HYDU_env_to_str(struct HYD_env *env, char **str);
-HYD_status HYDU_list_inherited_env(struct HYD_env **env_list);
-struct HYD_env *HYDU_env_list_dup(struct HYD_env *env);
-HYD_status HYDU_env_create(struct HYD_env **env, const char *env_name, const char *env_value);
-HYD_status HYDU_env_free(struct HYD_env *env);
-HYD_status HYDU_env_free_list(struct HYD_env *env);
-struct HYD_env *HYDU_env_lookup(char *env_name, struct HYD_env *env_list);
-HYD_status HYDU_append_env_to_list(const char *env_name, const char *env_value,
- struct HYD_env **env_list);
-HYD_status HYDU_append_env_str_to_list(char *str, struct HYD_env **env_list);
-HYD_status HYDU_putenv(struct HYD_env *env, HYD_env_overwrite_t overwrite);
-HYD_status HYDU_putenv_list(struct HYD_env *env_list, HYD_env_overwrite_t overwrite);
-HYD_status HYDU_comma_list_to_env_list(char *str, struct HYD_env **env_list);
-
-/* launch */
-struct HYDT_bind_cpuset_t;
-HYD_status HYDU_create_process(char **client_arg, struct HYD_env *env_list,
- int *in, int *out, int *err, int *pid,
- struct HYDT_bind_cpuset_t cpuset);
-
-/* others */
-int HYDU_local_to_global_id(int local_id, int start_pid, int core_count,
- int global_core_count);
-HYD_status HYDU_add_to_node_list(const char *hostname, int num_procs,
- struct HYD_node **node_list);
-HYD_status HYDU_gethostname(char *hostname);
-
-/* signals */
-#ifdef NEEDS_POSIX_FOR_SIGACTION
-#define _POSIX_SOURCE
-#endif
-
-#include <sys/wait.h>
-#if defined(USE_SIGNAL) || defined(USE_SIGACTION)
-#include <signal.h>
-#else
-#error no signal choice
-#endif
-#ifdef NEEDS_STRSIGNAL_DECL
-extern char *strsignal(int);
-#endif
-
-HYD_status HYDU_set_signal(int signum, void (*handler) (int));
-HYD_status HYDU_set_common_signals(void (*handler) (int));
-
-/* Sock utilities */
-enum HYDU_sock_comm_flag {
- HYDU_SOCK_COMM_NONE = 0,
- HYDU_SOCK_COMM_MSGWAIT = 1
-};
-
-HYD_status HYDU_sock_listen(int *listen_fd, char *port_range, uint16_t * port);
-HYD_status HYDU_sock_connect(const char *host, uint16_t port, int *fd);
-HYD_status HYDU_sock_accept(int listen_fd, int *fd);
-HYD_status HYDU_sock_read(int fd, void *buf, int maxlen, int *recvd, int *closed,
- enum HYDU_sock_comm_flag flag);
-HYD_status HYDU_sock_write(int fd, const void *buf, int maxlen, int *sent, int *closed);
-HYD_status HYDU_sock_forward_stdio(int in, int out, int *closed);
-HYD_status HYDU_sock_get_iface_ip(char *iface, char **ip);
-HYD_status HYDU_sock_is_local(char *host, int *is_local);
-HYD_status HYDU_sock_remote_access(char *host, int *remote_access);
-HYD_status
-HYDU_sock_create_and_listen_portstr(char *iface, char *hostname, char *port_range,
- char **port_str,
- HYD_status(*callback) (int fd, HYD_event_t events,
- void *userp), void *userp);
-HYD_status HYDU_sock_cloexec(int fd);
-
-
-/* Memory utilities */
-#include <ctype.h>
-
-#if defined USE_MEMORY_TRACING
-
-#define HYDU_mem_init() MPL_trinit(0)
-
-#define HYDU_strdup(a) MPL_trstrdup(a,__LINE__,__FILE__)
-#ifdef strdup
-#undef strdup
-#endif
-#define strdup(a) 'Error use HYDU_strdup' :::
-
-#define HYDU_malloc(a) MPL_trmalloc((unsigned)(a),__LINE__,__FILE__)
-#define malloc(a) 'Error use HYDU_malloc' :::
-
-#define HYDU_free(a) MPL_trfree(a,__LINE__,__FILE__)
-#define free(a) 'Error use HYDU_free' :::
-
-#else /* if !defined USE_MEMORY_TRACING */
-
-#define HYDU_mem_init()
-#define HYDU_strdup MPL_strdup
-#define HYDU_malloc malloc
-#define HYDU_free free
-
-#endif /* USE_MEMORY_TRACING */
-
-#define HYDU_snprintf MPL_snprintf
-
-#define HYDU_MALLOC(p, type, size, status) \
- { \
- (p) = (type) HYDU_malloc((size)); \
- if ((p) == NULL) \
- HYDU_ERR_SETANDJUMP((status), HYD_NO_MEM, \
- "failed to allocate %d bytes\n", \
- (int) (size)); \
- }
-
-#define HYDU_FREE(p) \
- { \
- HYDU_free((void *) p); \
- }
-
-#define HYDU_STRLIST_CONSOLIDATE(strlist, i, status) \
- { \
- char *out; \
- if ((i) >= (HYD_NUM_TMP_STRINGS / 2)) { \
- (strlist)[(i)] = NULL; \
- (status) = HYDU_str_alloc_and_join((strlist), &out); \
- HYDU_ERR_POP((status), "unable to join strings\n"); \
- HYDU_free_strlist((strlist)); \
- strlist[0] = out; \
- (i) = 1; \
- } \
- }
-
-#define HYD_GET_ENV_STR_VAL(lvalue_, env_var_name_, default_val_) \
- do { \
- if (lvalue_ == NULL) { \
- const char *tmp_ = (default_val_); \
- MPL_env2str(env_var_name_, (const char **) &tmp_); \
- if (tmp_) \
- lvalue_ = HYDU_strdup(tmp_); \
- } \
- } while (0)
-
-HYD_status HYDU_list_append_strlist(char **exec, char **client_arg);
-HYD_status HYDU_print_strlist(char **args);
-void HYDU_free_strlist(char **args);
-HYD_status HYDU_str_alloc_and_join(char **strlist, char **strjoin);
-HYD_status HYDU_strsplit(char *str, char **str1, char **str2, char sep);
-HYD_status HYDU_strdup_list(char *src[], char **dest[]);
-char *HYDU_int_to_str(int x);
-char *HYDU_int_to_str_pad(int x, int maxlen);
-char *HYDU_strerror(int error);
-int HYDU_strlist_lastidx(char **strlist);
-char **HYDU_str_to_strlist(char *str);
-
-/*!
- * @}
- */
-
-#endif /* HYDRA_UTILS_H_INCLUDED */
Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/mpich2prereq
___________________________________________________________________
Modified: svn:mergeinfo
- /mpich2/branches/dev/ckpt/src/pm/hydra/mpich2prereq:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/mpich2prereq:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/mpich2prereq:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/mpich2prereq:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/mpich2prereq:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/mpich2prereq:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/mpich2prereq:5406
/mpich2/trunk/src/pm/hydra/mpich2prereq:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
+ /mpich2/branches/dev/ckpt/src/pm/hydra/mpich2prereq:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/mpich2prereq:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/mpich2prereq:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/mpich2prereq:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/mpich2prereq:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/mpich2prereq:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/mpich2prereq:5406
/mpich2/trunk/src/pm/hydra/mpich2prereq:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654
Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm
___________________________________________________________________
Modified: svn:mergeinfo
- /mpich2/branches/dev/ckpt/src/pm/hydra/pm:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/pm:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/pm:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/pm:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/pm:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/pm:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/pm:5406
/mpich2/trunk/src/pm/hydra/pm:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
+ /mpich2/branches/dev/ckpt/src/pm/hydra/pm:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/pm:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/pm:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/pm:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/pm:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/pm:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/pm:5406
/mpich2/trunk/src/pm/hydra/pm:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/common.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/common.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/common.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,8 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
#include "common.h"
#include "bind.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/common.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/common.h 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/common.h 2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,8 +7,7 @@
#ifndef COMMON_H_INCLUDED
#define COMMON_H_INCLUDED
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
/* Generic definitions */
#define MAXKEYLEN 64 /* max length of key in keyval space */
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmi_v2_common.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmi_v2_common.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmi_v2_common.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -5,7 +5,6 @@
*/
#include "hydra.h"
-#include "hydra_utils.h"
#include "bsci.h"
#include "pmiserv_pmi.h"
#include "pmi_v2_common.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmi_v2_common.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmi_v2_common.h 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmi_v2_common.h 2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,8 +7,7 @@
#ifndef PMI_V2_COMMON_H_INCLUDED
#define PMI_V2_COMMON_H_INCLUDED
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
struct HYD_pmcd_pmi_v2_reqs {
int fd;
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -5,7 +5,6 @@
*/
#include "hydra.h"
-#include "hydra_utils.h"
#include "pmip.h"
#include "demux.h"
#include "bsci.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip.h 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip.h 2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,8 +7,7 @@
#ifndef PMIP_H_INCLUDED
#define PMIP_H_INCLUDED
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
#include "common.h"
struct HYD_pmcd_pmip {
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_cb.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_cb.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_cb.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -5,7 +5,6 @@
*/
#include "hydra.h"
-#include "hydra_utils.h"
#include "pmip.h"
#include "pmip_pmi.h"
#include "ckpoint.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_pmi.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_pmi.h 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_pmi.h 2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,7 +7,7 @@
#ifndef PMIP_PMI_H_INCLUDED
#define PMIP_PMI_H_INCLUDED
-#include "hydra_base.h"
+#include "hydra.h"
#include "common.h"
/* PMI-1 specific definitions */
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_pmi_v1.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_pmi_v1.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_pmi_v1.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -160,7 +160,7 @@
tmp[i++] = HYDU_strdup("cmd=initack\ncmd=set size=");
tmp[i++] = HYDU_int_to_str(HYD_pmcd_pmip.system_global.global_process_count);
- /* FIXME: allow for ranks_per_proc */
+ /* FIXME: allow for multiple ranks per PMI ID */
tmp[i++] = HYDU_strdup("\ncmd=set rank=");
tmp[i++] = HYDU_int_to_str(id);
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_pmi_v2.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_pmi_v2.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_pmi_v2.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -170,7 +170,7 @@
HYD_pmcd_pmip.downstream.pmi_fd[i] = fd;
i = 0;
- /* FIXME: add support for ranks_per_proc */
+ /* FIXME: allow for multiple ranks per PMI ID */
tmp[i++] = HYDU_strdup("cmd=fullinit-response;pmi-version=2;pmi-subversion=0;rank=");
tmp[i++] = HYDU_int_to_str(id);
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_utils.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_utils.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmip_utils.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -9,7 +9,7 @@
#include "bind.h"
#include "ckpoint.h"
#include "demux.h"
-#include "hydra_utils.h"
+#include "hydra.h"
struct HYD_pmcd_pmip HYD_pmcd_pmip;
@@ -93,11 +93,6 @@
return HYDU_set_str_and_incr(arg, argv, &HYD_pmcd_pmip.user_global.iface);
}
-static HYD_status prepend_rank_fn(char *arg, char ***argv)
-{
- return HYDU_set_int(arg, argv, &HYD_pmcd_pmip.user_global.prepend_rank, 1);
-}
-
static HYD_status enable_stdin_fn(char *arg, char ***argv)
{
return HYDU_set_int_and_incr(arg, argv, &HYD_pmcd_pmip.system_global.enable_stdin);
@@ -398,7 +393,6 @@
{"launcher-exec", launcher_exec_fn, NULL},
{"demux", demux_fn, NULL},
{"iface", iface_fn, NULL},
- {"prepend-rank", prepend_rank_fn, NULL},
{"enable-stdin", enable_stdin_fn, NULL},
{"auto-cleanup", auto_cleanup_fn, NULL},
@@ -467,9 +461,6 @@
if (HYD_pmcd_pmip.user_global.debug == -1)
HYD_pmcd_pmip.user_global.debug = 0;
- if (HYD_pmcd_pmip.user_global.prepend_rank == -1)
- HYD_pmcd_pmip.user_global.prepend_rank = 0;
-
status = HYDT_bsci_init(HYD_pmcd_pmip.user_global.rmk,
HYD_pmcd_pmip.user_global.launcher,
HYD_pmcd_pmip.user_global.launcher_exec,
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_cb.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_cb.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_cb.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,8 +4,8 @@
* See COPYRIGHT in top-level directory.
*/
+#include "hydra_server.h"
#include "hydra.h"
-#include "hydra_utils.h"
#include "pmci.h"
#include "bsci.h"
#include "debugger.h"
@@ -26,15 +26,15 @@
else
HYD_pmcd_pmi_handle = HYD_pmcd_pmi_v2;
- if (HYD_handle.user_global.debug)
+ if (HYD_server_info.user_global.debug)
HYDU_dump(stdout, "[pgid: %d] got PMI command: %s\n", pgid, buf);
status = HYD_pmcd_pmi_parse_pmi_cmd(buf, pmi_version, &cmd, args);
HYDU_ERR_POP(status, "unable to parse PMI command\n");
#if defined ENABLE_PROFILING
- if (HYD_handle.enable_profiling)
- HYD_handle.num_pmi_calls++;
+ if (HYD_server_info.enable_profiling)
+ HYD_server_info.num_pmi_calls++;
#endif /* ENABLE_PROFILING */
h = HYD_pmcd_pmi_handle;
@@ -143,7 +143,7 @@
HYDU_ERR_POP(status, "unable to read command from proxy\n");
HYDU_ASSERT(!closed, status)
- if (hdr.cmd == PID_LIST) { /* Got PIDs */
+ if (hdr.cmd == PID_LIST) { /* Got PIDs */
HYDU_MALLOC(proxy->pid, int *, proxy->proxy_process_count * sizeof(int), status);
status = HYDU_sock_read(fd, (void *) proxy->pid,
proxy->proxy_process_count * sizeof(int),
@@ -167,10 +167,12 @@
HYDU_ERR_POP(status, "debugger setup failed\n");
}
else if (hdr.cmd == EXIT_STATUS) {
- HYDU_MALLOC(proxy->exit_status, int *, proxy->proxy_process_count * sizeof(int), status);
- status = HYDU_sock_read(fd, (void *) proxy->exit_status,
- proxy->proxy_process_count * sizeof(int),
- &count, &closed, HYDU_SOCK_COMM_MSGWAIT);
+ HYDU_MALLOC(proxy->exit_status, int *, proxy->proxy_process_count * sizeof(int),
+ status);
+ status =
+ HYDU_sock_read(fd, (void *) proxy->exit_status,
+ proxy->proxy_process_count * sizeof(int), &count, &closed,
+ HYDU_SOCK_COMM_MSGWAIT);
HYDU_ERR_POP(status, "unable to read status from proxy\n");
HYDU_ASSERT(!closed, status);
@@ -179,7 +181,7 @@
/* If any of the processes aborted, cleanup the remaining
* processes */
- if (HYD_handle.user_global.auto_cleanup) {
+ if (HYD_server_info.user_global.auto_cleanup) {
for (i = 0; i < proxy->proxy_process_count; i++) {
if (proxy->exit_status[i]) {
status = HYD_pmcd_pmiserv_cleanup_pg(proxy->pg);
@@ -211,15 +213,17 @@
HYDU_ASSERT(!closed, status);
if (hdr.cmd == STDOUT)
- status = HYD_handle.stdout_cb(hdr.pgid, hdr.proxy_id, hdr.rank, buf, hdr.buflen);
+ status =
+ HYD_server_info.stdout_cb(hdr.pgid, hdr.proxy_id, hdr.rank, buf, hdr.buflen);
else
- status = HYD_handle.stderr_cb(hdr.pgid, hdr.proxy_id, hdr.rank, buf, hdr.buflen);
+ status =
+ HYD_server_info.stderr_cb(hdr.pgid, hdr.proxy_id, hdr.rank, buf, hdr.buflen);
HYDU_ERR_POP(status, "error in the UI defined callback\n");
HYDU_FREE(buf);
}
else if (hdr.cmd == PROCESS_TERMINATED) {
- if (HYD_handle.user_global.auto_cleanup == 0) {
+ if (HYD_server_info.user_global.auto_cleanup == 0) {
/* Update the map of the alive processes */
pg_scratch = (struct HYD_pmcd_pmi_pg_scratch *) proxy->pg->pg_scratch;
pg_scratch->dead_process_count++;
@@ -333,7 +337,7 @@
pg_scratch->dead_processes = str;
}
- for (pg = &HYD_handle.pg_list; pg; pg = pg->next) {
+ for (pg = &HYD_server_info.pg_list; pg; pg = pg->next) {
for (tproxy = pg->proxy_list; tproxy; tproxy = tproxy->next) {
if (tproxy->control_fd == HYD_FD_UNSET ||
tproxy->control_fd == HYD_FD_CLOSED)
@@ -409,7 +413,7 @@
HYDU_ASSERT(!closed, status);
/* Find the process group */
- for (pg = &HYD_handle.pg_list; pg; pg = pg->next)
+ for (pg = &HYD_server_info.pg_list; pg; pg = pg->next)
if (pg->pgid == pgid)
break;
if (!pg)
@@ -458,7 +462,7 @@
pgid = ((int) (size_t) userp);
/* Find the process group */
- for (pg = &HYD_handle.pg_list; pg; pg = pg->next)
+ for (pg = &HYD_server_info.pg_list; pg; pg = pg->next)
if (pg->pgid == pgid)
break;
if (!pg)
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmci.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmci.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmci.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,8 +4,8 @@
* See COPYRIGHT in top-level directory.
*/
+#include "hydra_server.h"
#include "hydra.h"
-#include "hydra_utils.h"
#include "pmci.h"
#include "pmiserv_pmi.h"
#include "bsci.h"
@@ -20,7 +20,7 @@
HYDU_FUNC_ENTER();
- for (pg = &HYD_handle.pg_list; pg; pg = pg->next) {
+ for (pg = &HYD_server_info.pg_list; pg; pg = pg->next) {
status = HYD_pmcd_pmiserv_cleanup_pg(pg);
HYDU_ERR_POP(status, "unable to cleanup PG\n");
}
@@ -54,7 +54,7 @@
static HYD_status send_cmd_to_proxies(struct HYD_pmcd_hdr hdr)
{
- struct HYD_pg *pg = &HYD_handle.pg_list;
+ struct HYD_pg *pg = &HYD_server_info.pg_list;
struct HYD_proxy *proxy;
int sent, closed;
HYD_status status = HYD_SUCCESS;
@@ -123,16 +123,17 @@
HYDU_FUNC_ENTER();
- status = HYDT_dmx_register_fd(1, &HYD_handle.cleanup_pipe[0], POLLIN, NULL, ui_cmd_cb);
+ status =
+ HYDT_dmx_register_fd(1, &HYD_server_info.cleanup_pipe[0], POLLIN, NULL, ui_cmd_cb);
HYDU_ERR_POP(status, "unable to register fd\n");
- status = HYD_pmcd_pmi_alloc_pg_scratch(&HYD_handle.pg_list);
+ status = HYD_pmcd_pmi_alloc_pg_scratch(&HYD_server_info.pg_list);
HYDU_ERR_POP(status, "error allocating pg scratch space\n");
/* Copy the host list to pass to the launcher */
node_list = NULL;
node_count = 0;
- for (proxy = HYD_handle.pg_list.proxy_list; proxy; proxy = proxy->next) {
+ for (proxy = HYD_server_info.pg_list.proxy_list; proxy; proxy = proxy->next) {
HYDU_alloc_node(&node);
node->hostname = HYDU_strdup(proxy->node.hostname);
node->core_count = proxy->node.core_count;
@@ -149,19 +150,19 @@
node_count++;
}
- status = HYDU_sock_create_and_listen_portstr(HYD_handle.user_global.iface,
- HYD_handle.local_hostname,
- HYD_handle.port_range, &control_port,
+ status = HYDU_sock_create_and_listen_portstr(HYD_server_info.user_global.iface,
+ HYD_server_info.local_hostname,
+ HYD_server_info.port_range, &control_port,
HYD_pmcd_pmiserv_control_listen_cb,
(void *) (size_t) 0);
HYDU_ERR_POP(status, "unable to create PMI port\n");
- if (HYD_handle.user_global.debug)
+ if (HYD_server_info.user_global.debug)
HYDU_dump(stdout, "Got a control port string of %s\n", control_port);
status = HYD_pmcd_pmi_fill_in_proxy_args(proxy_args, control_port, 0);
HYDU_ERR_POP(status, "unable to fill in proxy arguments\n");
- status = HYD_pmcd_pmi_fill_in_exec_launch_info(&HYD_handle.pg_list);
+ status = HYD_pmcd_pmi_fill_in_exec_launch_info(&HYD_server_info.pg_list);
HYDU_ERR_POP(status, "unable to fill in executable arguments\n");
status = HYDT_dmx_stdin_valid(&enable_stdin);
@@ -171,13 +172,15 @@
for (i = 0; i < node_count; i++)
control_fd[i] = HYD_FD_UNSET;
- status = HYDT_bind_init(HYD_handle.user_global.binding, HYD_handle.user_global.bindlib);
+ status =
+ HYDT_bind_init(HYD_server_info.user_global.binding,
+ HYD_server_info.user_global.bindlib);
HYDU_ERR_POP(status, "unable to initializing binding library");
status = HYDT_bsci_launch_procs(proxy_args, node_list, control_fd, enable_stdin);
HYDU_ERR_POP(status, "launcher cannot launch processes\n");
- for (i = 0, proxy = HYD_handle.pg_list.proxy_list; proxy; proxy = proxy->next, i++)
+ for (i = 0, proxy = HYD_server_info.pg_list.proxy_list; proxy; proxy = proxy->next, i++)
if (control_fd[i] != HYD_FD_UNSET) {
proxy->control_fd = control_fd[i];
@@ -210,7 +213,7 @@
/* We first wait for the exit statuses to arrive till the timeout
* period */
- for (pg = &HYD_handle.pg_list; pg; pg = pg->next) {
+ for (pg = &HYD_server_info.pg_list; pg; pg = pg->next) {
pg_scratch = (struct HYD_pmcd_pmi_pg_scratch *) pg->pg_scratch;
while (pg_scratch->control_listen_fd != HYD_FD_CLOSED) {
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra.h"
+#include "hydra_server.h"
#include "pmiserv_pmi.h"
#include "pmiserv_utils.h"
@@ -17,7 +17,7 @@
struct HYD_pg *pg;
struct HYD_proxy *proxy;
- for (pg = &HYD_handle.pg_list; pg; pg = pg->next)
+ for (pg = &HYD_server_info.pg_list; pg; pg = pg->next)
for (proxy = pg->proxy_list; proxy; proxy = proxy->next)
if (proxy->control_fd == fd)
return proxy;
@@ -69,7 +69,7 @@
HYDU_FUNC_ENTER();
- if (HYD_handle.nameserver == NULL) {
+ if (HYD_server_info.nameserver == NULL) {
/* no external nameserver available */
for (r = HYD_pmcd_pmi_publish_list; r; r = r->next)
if (!strcmp(r->name, name))
@@ -101,7 +101,7 @@
/* connect to the external nameserver and store the
* information there */
- ns = HYDU_strdup(HYD_handle.nameserver);
+ ns = HYDU_strdup(HYD_server_info.nameserver);
ns_host = strtok(ns, ":");
HYDU_ASSERT(ns_host, status);
@@ -163,7 +163,7 @@
HYDU_FUNC_ENTER();
*success = 0;
- if (HYD_handle.nameserver == NULL) {
+ if (HYD_server_info.nameserver == NULL) {
/* no external nameserver available */
if (!strcmp(HYD_pmcd_pmi_publish_list->name, name)) {
publish = HYD_pmcd_pmi_publish_list;
@@ -199,7 +199,7 @@
/* connect to the external nameserver and get the information
* from there */
- ns = HYDU_strdup(HYD_handle.nameserver);
+ ns = HYDU_strdup(HYD_server_info.nameserver);
ns_host = strtok(ns, ":");
HYDU_ASSERT(ns_host, status);
@@ -255,7 +255,7 @@
HYDU_FUNC_ENTER();
- if (HYD_handle.nameserver == NULL) {
+ if (HYD_server_info.nameserver == NULL) {
/* no external nameserver available */
for (publish = HYD_pmcd_pmi_publish_list; publish; publish = publish->next)
if (!strcmp(publish->name, name))
@@ -270,7 +270,7 @@
/* connect to the external nameserver and get the information
* from there */
- ns = HYDU_strdup(HYD_handle.nameserver);
+ ns = HYDU_strdup(HYD_server_info.nameserver);
ns_host = strtok(ns, ":");
HYDU_ASSERT(ns_host, status);
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi.h 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi.h 2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,7 +7,7 @@
#ifndef PMISERV_PMI_H_INCLUDED
#define PMISERV_PMI_H_INCLUDED
-#include "hydra_base.h"
+#include "hydra.h"
#include "demux.h"
#include "common.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,8 +4,8 @@
* See COPYRIGHT in top-level directory.
*/
+#include "hydra_server.h"
#include "hydra.h"
-#include "hydra_utils.h"
#include "bsci.h"
#include "pmiserv.h"
#include "pmiserv_pmi.h"
@@ -28,7 +28,7 @@
HYDU_ERR_POP(status, "unable to send PMI_RESPONSE header to proxy\n");
HYDU_ASSERT(!closed, status);
- if (HYD_handle.user_global.debug) {
+ if (HYD_server_info.user_global.debug) {
HYDU_dump(stdout, "PMI response to fd %d pid %d: %s", fd, pid, cmd);
}
@@ -331,7 +331,7 @@
}
/* Allocate a new process group */
- for (pg = &HYD_handle.pg_list; pg->next; pg = pg->next);
+ for (pg = &HYD_server_info.pg_list; pg->next; pg = pg->next);
new_pgid = pg->pgid + 1;
status = HYDU_alloc_pg(&pg->next, new_pgid);
@@ -406,14 +406,16 @@
exec->wdir = HYDU_strdup(info_val);
}
else if (!strcmp(info_key, "host")) {
- HYDU_MALLOC(user_node_list, struct HYD_node *, sizeof(struct HYD_node), status);
+ HYDU_MALLOC(user_node_list, struct HYD_node *, sizeof(struct HYD_node),
+ status);
user_node_list->hostname = HYDU_strdup(info_val);
user_node_list->core_count = 1;
user_node_list->local_binding = NULL;
user_node_list->next = NULL;
}
else if (!strcmp(info_key, "hostfile")) {
- status = HYDU_parse_hostfile(info_val, &user_node_list, HYDU_process_mfile_token);
+ status =
+ HYDU_parse_hostfile(info_val, &user_node_list, HYDU_process_mfile_token);
HYDU_ERR_POP(status, "error parsing hostfile\n");
}
else {
@@ -500,7 +502,7 @@
/* Create the proxy list */
offset = 0;
- for (pg = &HYD_handle.pg_list; pg->next; pg = pg->next)
+ for (pg = &HYD_server_info.pg_list; pg->next; pg = pg->next)
offset += pg->pg_process_count;
if (user_node_list) {
@@ -508,22 +510,22 @@
HYDU_ERR_POP(status, "error creating proxy list\n");
}
else {
- status = HYDU_create_proxy_list(exec_list, HYD_handle.node_list, pg, offset);
+ status = HYDU_create_proxy_list(exec_list, HYD_server_info.node_list, pg, offset);
HYDU_ERR_POP(status, "error creating proxy list\n");
}
HYDU_free_exec_list(exec_list);
- status = HYDU_sock_create_and_listen_portstr(HYD_handle.user_global.iface,
- HYD_handle.local_hostname,
- HYD_handle.port_range, &control_port,
+ status = HYDU_sock_create_and_listen_portstr(HYD_server_info.user_global.iface,
+ HYD_server_info.local_hostname,
+ HYD_server_info.port_range, &control_port,
HYD_pmcd_pmiserv_control_listen_cb,
(void *) (size_t) new_pgid);
HYDU_ERR_POP(status, "unable to create PMI port\n");
- if (HYD_handle.user_global.debug)
+ if (HYD_server_info.user_global.debug)
HYDU_dump(stdout, "Got a control port string of %s\n", control_port);
/* Go to the last PG */
- for (pg = &HYD_handle.pg_list; pg->next; pg = pg->next);
+ for (pg = &HYD_server_info.pg_list; pg->next; pg = pg->next);
/* Copy the host list to pass to the launcher */
node_list = NULL;
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v2.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v2.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v2.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,8 +4,8 @@
* See COPYRIGHT in top-level directory.
*/
+#include "hydra_server.h"
#include "hydra.h"
-#include "hydra_utils.h"
#include "bsci.h"
#include "pmiserv.h"
#include "pmiserv_pmi.h"
@@ -42,7 +42,7 @@
HYDU_ERR_POP(status, "error writing PMI line\n");
HYDU_ASSERT(!closed, status);
- if (HYD_handle.user_global.debug) {
+ if (HYD_server_info.user_global.debug) {
HYDU_dump(stdout, "PMI response to fd %d pid %d: %s\n", fd, pid, cmd);
}
@@ -512,7 +512,7 @@
/* Allocate a new process group */
- for (pg = &HYD_handle.pg_list; pg->next; pg = pg->next);
+ for (pg = &HYD_server_info.pg_list; pg->next; pg = pg->next);
new_pgid = pg->pgid + 1;
status = HYDU_alloc_pg(&pg->next, new_pgid);
@@ -587,14 +587,16 @@
exec->wdir = HYDU_strdup(info_val);
}
else if (!strcmp(info_key, "host")) {
- HYDU_MALLOC(user_node_list, struct HYD_node *, sizeof(struct HYD_node), status);
+ HYDU_MALLOC(user_node_list, struct HYD_node *, sizeof(struct HYD_node),
+ status);
user_node_list->hostname = HYDU_strdup(info_val);
user_node_list->core_count = 1;
user_node_list->local_binding = NULL;
user_node_list->next = NULL;
}
else if (!strcmp(info_key, "hostfile")) {
- status = HYDU_parse_hostfile(info_val, &user_node_list, HYDU_process_mfile_token);
+ status =
+ HYDU_parse_hostfile(info_val, &user_node_list, HYDU_process_mfile_token);
HYDU_ERR_POP(status, "error parsing hostfile\n");
}
else {
@@ -681,7 +683,7 @@
/* Create the proxy list */
offset = 0;
- for (pg = &HYD_handle.pg_list; pg->next; pg = pg->next)
+ for (pg = &HYD_server_info.pg_list; pg->next; pg = pg->next)
offset += pg->pg_process_count;
if (user_node_list) {
@@ -689,22 +691,22 @@
HYDU_ERR_POP(status, "error creating proxy list\n");
}
else {
- status = HYDU_create_proxy_list(exec_list, HYD_handle.node_list, pg, offset);
+ status = HYDU_create_proxy_list(exec_list, HYD_server_info.node_list, pg, offset);
HYDU_ERR_POP(status, "error creating proxy list\n");
}
HYDU_free_exec_list(exec_list);
- status = HYDU_sock_create_and_listen_portstr(HYD_handle.user_global.iface,
- HYD_handle.local_hostname,
- HYD_handle.port_range, &control_port,
+ status = HYDU_sock_create_and_listen_portstr(HYD_server_info.user_global.iface,
+ HYD_server_info.local_hostname,
+ HYD_server_info.port_range, &control_port,
HYD_pmcd_pmiserv_control_listen_cb,
(void *) (size_t) new_pgid);
HYDU_ERR_POP(status, "unable to create PMI port\n");
- if (HYD_handle.user_global.debug)
+ if (HYD_server_info.user_global.debug)
HYDU_dump(stdout, "Got a control port string of %s\n", control_port);
/* Go to the last PG */
- for (pg = &HYD_handle.pg_list; pg->next; pg = pg->next);
+ for (pg = &HYD_server_info.pg_list; pg->next; pg = pg->next);
/* Copy the host list to pass to the launcher */
node_list = NULL;
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_utils.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_utils.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/pm/pmiserv/pmiserv_utils.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra.h"
+#include "hydra_server.h"
#include "pmci.h"
#include "bsci.h"
#include "pmiserv_pmi.h"
@@ -46,7 +46,7 @@
}
i = 0;
- path_str[i++] = HYDU_strdup(HYD_handle.base_path);
+ path_str[i++] = HYDU_strdup(HYD_server_info.base_path);
path_str[i++] = HYDU_strdup("hydra_pmi_proxy");
path_str[i] = NULL;
status = HYDU_str_alloc_and_join(path_str, &proxy_args[arg++]);
@@ -56,33 +56,30 @@
proxy_args[arg++] = HYDU_strdup("--control-port");
proxy_args[arg++] = HYDU_strdup(control_port);
- if (HYD_handle.user_global.debug)
+ if (HYD_server_info.user_global.debug)
proxy_args[arg++] = HYDU_strdup("--debug");
- if (HYD_handle.user_global.rmk) {
+ if (HYD_server_info.user_global.rmk) {
proxy_args[arg++] = HYDU_strdup("--rmk");
- proxy_args[arg++] = HYDU_strdup(HYD_handle.user_global.rmk);
+ proxy_args[arg++] = HYDU_strdup(HYD_server_info.user_global.rmk);
}
- if (HYD_handle.user_global.launcher) {
+ if (HYD_server_info.user_global.launcher) {
proxy_args[arg++] = HYDU_strdup("--launcher");
- proxy_args[arg++] = HYDU_strdup(HYD_handle.user_global.launcher);
+ proxy_args[arg++] = HYDU_strdup(HYD_server_info.user_global.launcher);
}
- if (HYD_handle.user_global.launcher_exec) {
+ if (HYD_server_info.user_global.launcher_exec) {
proxy_args[arg++] = HYDU_strdup("--launcher-exec");
- proxy_args[arg++] = HYDU_strdup(HYD_handle.user_global.launcher_exec);
+ proxy_args[arg++] = HYDU_strdup(HYD_server_info.user_global.launcher_exec);
}
- if (HYD_handle.user_global.prepend_rank)
- proxy_args[arg++] = HYDU_strdup("--prepend-rank");
-
proxy_args[arg++] = HYDU_strdup("--demux");
- proxy_args[arg++] = HYDU_strdup(HYD_handle.user_global.demux);
+ proxy_args[arg++] = HYDU_strdup(HYD_server_info.user_global.demux);
- if (HYD_handle.user_global.iface) {
+ if (HYD_server_info.user_global.iface) {
proxy_args[arg++] = HYDU_strdup("--iface");
- proxy_args[arg++] = HYDU_strdup(HYD_handle.user_global.iface);
+ proxy_args[arg++] = HYDU_strdup(HYD_server_info.user_global.iface);
}
proxy_args[arg++] = HYDU_strdup("--pgid");
@@ -102,7 +99,7 @@
proxy_args[arg++] = HYDU_strdup("--proxy-id");
proxy_args[arg++] = NULL;
- if (HYD_handle.user_global.debug) {
+ if (HYD_server_info.user_global.debug) {
HYDU_dump_noprefix(stdout, "\nProxy launch args: ");
HYDU_print_strlist(proxy_args);
HYDU_dump_noprefix(stdout, "\n");
@@ -216,11 +213,11 @@
/* Create the arguments list for each proxy */
process_id = 0;
for (proxy = pg->proxy_list; proxy; proxy = proxy->next) {
- for (inherited_env_count = 0, env = HYD_handle.user_global.global_env.inherited; env;
- env = env->next, inherited_env_count++);
- for (user_env_count = 0, env = HYD_handle.user_global.global_env.user; env;
+ for (inherited_env_count = 0, env = HYD_server_info.user_global.global_env.inherited;
+ env; env = env->next, inherited_env_count++);
+ for (user_env_count = 0, env = HYD_server_info.user_global.global_env.user; env;
env = env->next, user_env_count++);
- for (system_env_count = 0, env = HYD_handle.user_global.global_env.system; env;
+ for (system_env_count = 0, env = HYD_server_info.user_global.global_env.system; env;
env = env->next, system_env_count++);
for (exec_count = 0, exec = proxy->exec_list; exec; exec = exec->next)
@@ -245,27 +242,28 @@
proxy->exec_launch_info[arg++] = HYDU_strdup("--version");
proxy->exec_launch_info[arg++] = HYDU_strdup(HYDRA_VERSION);
- if (HYD_handle.interface_env_name) {
+ if (HYD_server_info.interface_env_name) {
proxy->exec_launch_info[arg++] = HYDU_strdup("--interface-env-name");
- proxy->exec_launch_info[arg++] = HYDU_strdup(HYD_handle.interface_env_name);
+ proxy->exec_launch_info[arg++] = HYDU_strdup(HYD_server_info.interface_env_name);
}
proxy->exec_launch_info[arg++] = HYDU_strdup("--hostname");
proxy->exec_launch_info[arg++] = HYDU_strdup(proxy->node.hostname);
proxy->exec_launch_info[arg++] = HYDU_strdup("--global-core-count");
- proxy->exec_launch_info[arg++] = HYDU_int_to_str(HYD_handle.global_core_count);
+ proxy->exec_launch_info[arg++] = HYDU_int_to_str(HYD_server_info.global_core_count);
proxy->exec_launch_info[arg++] = HYDU_strdup("--global-process-count");
proxy->exec_launch_info[arg++] = HYDU_int_to_str(pg->pg_process_count);
proxy->exec_launch_info[arg++] = HYDU_strdup("--auto-cleanup");
- proxy->exec_launch_info[arg++] = HYDU_int_to_str(HYD_handle.user_global.auto_cleanup);
+ proxy->exec_launch_info[arg++] =
+ HYDU_int_to_str(HYD_server_info.user_global.auto_cleanup);
/* Check if we are running in embedded mode */
ret = MPL_env2str("PMI_FD", (const char **) &pmi_fd);
if (ret) { /* PMI_FD already set */
- if (HYD_handle.user_global.debug)
+ if (HYD_server_info.user_global.debug)
HYDU_dump(stdout, "someone else already set PMI FD\n");
pmi_fd = HYDU_strdup(pmi_fd);
@@ -280,7 +278,7 @@
ret = MPL_env2str("PMI_PORT", (const char **) &pmi_port);
if (ret) { /* PMI_FD already set */
- if (HYD_handle.user_global.debug)
+ if (HYD_server_info.user_global.debug)
HYDU_dump(stdout, "someone else already set PMI PORT\n");
pmi_port = HYDU_strdup(pmi_port);
@@ -297,7 +295,7 @@
HYDU_ERR_SETANDJUMP(status, HYD_INTERNAL_ERROR,
"both PMI_FD and PMI_PORT have been set\n");
- if (HYD_handle.user_global.debug)
+ if (HYD_server_info.user_global.debug)
HYDU_dump(stdout, "PMI FD: %s; PMI PORT: %s; PMI ID/RANK: %d\n", pmi_fd, pmi_port,
pmi_rank);
@@ -333,39 +331,40 @@
proxy->exec_launch_info[arg++] = HYDU_strdup(proxy->node.local_binding);
}
- if (HYD_handle.user_global.binding) {
+ if (HYD_server_info.user_global.binding) {
proxy->exec_launch_info[arg++] = HYDU_strdup("--binding");
- proxy->exec_launch_info[arg++] = HYDU_strdup(HYD_handle.user_global.binding);
+ proxy->exec_launch_info[arg++] = HYDU_strdup(HYD_server_info.user_global.binding);
}
- if (HYD_handle.user_global.bindlib) {
+ if (HYD_server_info.user_global.bindlib) {
proxy->exec_launch_info[arg++] = HYDU_strdup("--bindlib");
- proxy->exec_launch_info[arg++] = HYDU_strdup(HYD_handle.user_global.bindlib);
+ proxy->exec_launch_info[arg++] = HYDU_strdup(HYD_server_info.user_global.bindlib);
}
- if (HYD_handle.user_global.ckpointlib) {
+ if (HYD_server_info.user_global.ckpointlib) {
proxy->exec_launch_info[arg++] = HYDU_strdup("--ckpointlib");
- proxy->exec_launch_info[arg++] = HYDU_strdup(HYD_handle.user_global.ckpointlib);
+ proxy->exec_launch_info[arg++] =
+ HYDU_strdup(HYD_server_info.user_global.ckpointlib);
}
- if (HYD_handle.user_global.ckpoint_prefix) {
+ if (HYD_server_info.user_global.ckpoint_prefix) {
proxy->exec_launch_info[arg++] = HYDU_strdup("--ckpoint-prefix");
proxy->exec_launch_info[arg++] =
- HYDU_strdup(HYD_handle.user_global.ckpoint_prefix);
+ HYDU_strdup(HYD_server_info.user_global.ckpoint_prefix);
}
- if (HYD_handle.user_global.ckpoint_num) {
+ if (HYD_server_info.user_global.ckpoint_num) {
proxy->exec_launch_info[arg++] = HYDU_strdup("--ckpoint-num");
proxy->exec_launch_info[arg++] =
- HYDU_int_to_str(HYD_handle.user_global.ckpoint_num);
+ HYDU_int_to_str(HYD_server_info.user_global.ckpoint_num);
}
proxy->exec_launch_info[arg++] = HYDU_strdup("--global-inherited-env");
- for (i = 0, env = HYD_handle.user_global.global_env.inherited; env;
+ for (i = 0, env = HYD_server_info.user_global.global_env.inherited; env;
env = env->next, i++);
proxy->exec_launch_info[arg++] = HYDU_int_to_str(i);
- for (env = HYD_handle.user_global.global_env.inherited; env; env = env->next) {
+ for (env = HYD_server_info.user_global.global_env.inherited; env; env = env->next) {
status = HYDU_env_to_str(env, &proxy->exec_launch_info[arg++]);
HYDU_ERR_POP(status, "error converting env to string\n");
}
@@ -373,10 +372,11 @@
arg = HYDU_strlist_lastidx(proxy->exec_launch_info);
proxy->exec_launch_info[arg++] = HYDU_strdup("--global-user-env");
- for (i = 0, env = HYD_handle.user_global.global_env.user; env; env = env->next, i++);
+ for (i = 0, env = HYD_server_info.user_global.global_env.user; env;
+ env = env->next, i++);
proxy->exec_launch_info[arg++] = HYDU_int_to_str(i);
- for (env = HYD_handle.user_global.global_env.user; env; env = env->next) {
+ for (env = HYD_server_info.user_global.global_env.user; env; env = env->next) {
status = HYDU_env_to_str(env, &proxy->exec_launch_info[arg++]);
HYDU_ERR_POP(status, "error converting env to string\n");
}
@@ -384,20 +384,21 @@
arg = HYDU_strlist_lastidx(proxy->exec_launch_info);
proxy->exec_launch_info[arg++] = HYDU_strdup("--global-system-env");
- for (i = 0, env = HYD_handle.user_global.global_env.system; env; env = env->next, i++);
+ for (i = 0, env = HYD_server_info.user_global.global_env.system; env;
+ env = env->next, i++);
proxy->exec_launch_info[arg++] = HYDU_int_to_str(i);
- for (env = HYD_handle.user_global.global_env.system; env; env = env->next) {
+ for (env = HYD_server_info.user_global.global_env.system; env; env = env->next) {
status = HYDU_env_to_str(env, &proxy->exec_launch_info[arg++]);
HYDU_ERR_POP(status, "error converting env to string\n");
}
proxy->exec_launch_info[arg++] = NULL;
arg = HYDU_strlist_lastidx(proxy->exec_launch_info);
- if (HYD_handle.user_global.global_env.prop) {
+ if (HYD_server_info.user_global.global_env.prop) {
proxy->exec_launch_info[arg++] = HYDU_strdup("--genv-prop");
proxy->exec_launch_info[arg++] =
- HYDU_strdup(HYD_handle.user_global.global_env.prop);
+ HYDU_strdup(HYD_server_info.user_global.global_env.prop);
}
proxy->exec_launch_info[arg++] = HYDU_strdup("--start-pid");
@@ -452,7 +453,7 @@
process_id += exec->proc_count;
}
- if (HYD_handle.user_global.debug) {
+ if (HYD_server_info.user_global.debug) {
HYDU_dump_noprefix(stdout, "Arguments being passed to proxy %d:\n", proxy_count++);
HYDU_print_strlist(proxy->exec_launch_info);
HYDU_dump_noprefix(stdout, "\n");
Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools
___________________________________________________________________
Modified: svn:mergeinfo
- /mpich2/branches/dev/ckpt/src/pm/hydra/tools:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/tools:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/tools:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/tools:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/tools:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/tools:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/tools:5406
/mpich2/trunk/src/pm/hydra/tools:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
+ /mpich2/branches/dev/ckpt/src/pm/hydra/tools:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/tools:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/tools:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/tools:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/tools:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/tools:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/tools:5406
/mpich2/trunk/src/pm/hydra/tools:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/bind.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/bind.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/bind.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bind.h"
#if defined HAVE_PLPA
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/bind.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/bind.h 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/bind.h 2011-01-03 14:20:31 UTC (rev 7655)
@@ -9,7 +9,7 @@
/** @file bind.h */
-#include "hydra_utils.h"
+#include "hydra.h"
/*! \cond */
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/hwloc/bind_hwloc.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/hwloc/bind_hwloc.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/hwloc/bind_hwloc.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bind.h"
#include "bind_hwloc.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/plpa/bind_plpa.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/plpa/bind_plpa.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bind/plpa/bind_plpa.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bind.h"
#include "bind_plpa.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_env.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_env.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_env.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
#include "external.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_finalize.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_finalize.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_finalize.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
#include "external.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_init.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_init.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_init.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
#include "external.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_launch.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_launch.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_launch.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
#include "bscu.h"
#include "bind.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_query_native_int.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_query_native_int.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/external_query_native_int.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
#include "external.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll.h 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll.h 2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,7 +7,7 @@
#ifndef LL_H_INCLUDED
#define LL_H_INCLUDED
-#include "hydra_base.h"
+#include "hydra.h"
HYD_status HYDT_bscd_ll_launch_procs(char **args, struct HYD_node *node_list,
int *control_fd, int enable_stdin);
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll_launch.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll_launch.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll_launch.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
#include "bscu.h"
#include "bind.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll_query_node_list.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll_query_node_list.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll_query_node_list.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
#include "bscu.h"
#include "ll.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll_query_proxy_id.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll_query_proxy_id.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ll_query_proxy_id.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
#include "bscu.h"
#include "ll.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/lsf.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/lsf.h 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/lsf.h 2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,7 +7,7 @@
#ifndef LSF_H_INCLUDED
#define LSF_H_INCLUDED
-#include "hydra_base.h"
+#include "hydra.h"
HYD_status HYDT_bscd_lsf_query_node_list(struct HYD_node **node_list);
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/lsf_query_node_list.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/lsf_query_node_list.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/lsf_query_node_list.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
#include "bscu.h"
#include "lsf.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/pbs.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/pbs.h 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/pbs.h 2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,7 +7,7 @@
#ifndef PBS_H_INCLUDED
#define PBS_H_INCLUDED
-#include "hydra_base.h"
+#include "hydra.h"
HYD_status HYDT_bscd_pbs_query_node_list(struct HYD_node **node_list);
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/pbs_query_node_list.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/pbs_query_node_list.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/pbs_query_node_list.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
#include "pbs.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/sge.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/sge.h 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/sge.h 2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,7 +7,7 @@
#ifndef SGE_H_INCLUDED
#define SGE_H_INCLUDED
-#include "hydra_base.h"
+#include "hydra.h"
HYD_status HYDT_bscd_sge_query_node_list(struct HYD_node **node_list);
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/sge_query_node_list.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/sge_query_node_list.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/sge_query_node_list.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
#include "bscu.h"
#include "sge.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm.h 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm.h 2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,7 +7,7 @@
#ifndef SLURM_H_INCLUDED
#define SLURM_H_INCLUDED
-#include "hydra_base.h"
+#include "hydra.h"
HYD_status HYDT_bscd_slurm_launch_procs(char **args, struct HYD_node *node_list,
int *control_fd, int enable_stdin);
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm_launch.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm_launch.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm_launch.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
#include "bscu.h"
#include "bind.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm_query_node_list.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm_query_node_list.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm_query_node_list.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
#include "bscu.h"
#include "slurm.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm_query_proxy_id.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm_query_proxy_id.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm_query_proxy_id.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
#include "bscu.h"
#include "slurm.h"
Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/slurm_query_proxy_id.c
___________________________________________________________________
Modified: svn:mergeinfo
- /mpich2/branches/dev/ftb/src/pm/hydra/tools/bootstrap/slurm/slurm_query_proxy_id.c:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/tools/bootstrap/slurm/slurm_query_proxy_id.c:5817
/mpich2/trunk/src/pm/hydra/tools/bootstrap/external/slurm_query_proxy_id.c:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
+ /mpich2/branches/dev/ftb/src/pm/hydra/tools/bootstrap/slurm/slurm_query_proxy_id.c:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/tools/bootstrap/slurm/slurm_query_proxy_id.c:5817
/mpich2/trunk/src/pm/hydra/tools/bootstrap/external/slurm_query_proxy_id.c:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ssh.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ssh.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ssh.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
#include "bscu.h"
#include "ssh.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ssh.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ssh.h 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/external/ssh.h 2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,7 +7,7 @@
#ifndef SSH_H_INCLUDED
#define SSH_H_INCLUDED
-#include "hydra_base.h"
+#include "hydra.h"
/* Modern sshd servers don't like more than a certain number of ssh
* connections from the same IP address per minute. If we exceed that,
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_client.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_client.h 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_client.h 2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,7 +7,7 @@
#ifndef PERSIST_CLIENT_H_INCLUDED
#define PERSIST_CLIENT_H_INCLUDED
-#include "hydra_base.h"
+#include "hydra.h"
#include "bscu.h"
#include "persist.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_init.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_init.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_init.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
#include "persist_client.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_launch.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_launch.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_launch.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
#include "bscu.h"
#include "persist_client.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_server.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_server.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_server.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,8 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bind.h"
#include "persist_server.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_server.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_server.h 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_server.h 2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,7 +7,7 @@
#ifndef PERSIST_SERVER_H_INCLUDED
#define PERSIST_SERVER_H_INCLUDED
-#include "hydra_base.h"
+#include "hydra.h"
#include "demux.h"
#include "persist.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_wait.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_wait.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/persist/persist_wait.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
#include "persist_client.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_env.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_env.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_env.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
#include "bscu.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_finalize.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_finalize.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_finalize.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
#include "bscu.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_init.c.in
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_init.c.in 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_init.c.in 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
#include "bscu.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_launch.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_launch.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_launch.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
HYD_status HYDT_bsci_launch_procs(char **args, struct HYD_node *node_list, int *control_fd,
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_query_native_int.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_query_native_int.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_query_native_int.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
#include "bscu.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_query_node_list.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_query_node_list.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_query_node_list.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
#include "bscu.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_query_proxy_id.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_query_proxy_id.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_query_proxy_id.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
#include "bscu.h"
Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_query_proxy_id.c
___________________________________________________________________
Modified: svn:mergeinfo
- /mpich2/branches/dev/ftb/src/pm/hydra/tools/bootstrap/src/bsci_query_proxy_id.c:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/tools/bootstrap/src/bsci_query_proxy_id.c:5817
/mpich2/trunk/src/pm/hydra/tools/bootstrap/src/bsci_query_proxy_id.c:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
+ /mpich2/branches/dev/ftb/src/pm/hydra/tools/bootstrap/src/bsci_query_proxy_id.c:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/tools/bootstrap/src/bsci_query_proxy_id.c:5817
/mpich2/trunk/src/pm/hydra/tools/bootstrap/src/bsci_query_proxy_id.c:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_usize.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_usize.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_usize.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
#include "bscu.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_wait.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_wait.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/src/bsci_wait.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
#include "bscu.h"
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu.h 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu.h 2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,7 +7,7 @@
#ifndef BSCU_H_INCLUDED
#define BSCU_H_INCLUDED
-#include "hydra_base.h"
+#include "hydra.h"
#include "demux.h"
extern int *HYD_bscu_fd_list;
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_cb.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_cb.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_cb.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bscu.h"
HYD_status HYDT_bscu_stdio_cb(int fd, HYD_event_t events, void *userp)
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_env.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_env.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_env.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,8 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bscu.h"
HYD_status HYDT_bscu_query_env_inherit(const char *env_name, int *ret)
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_finalize.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_finalize.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_finalize.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,8 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bscu.h"
HYD_status HYDT_bscu_rmk_finalize(void)
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_query_native_int.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_query_native_int.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_query_native_int.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,8 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bscu.h"
HYD_status HYDT_bscu_query_native_int(int *ret)
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_query_node_list.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_query_node_list.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_query_node_list.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,8 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bscu.h"
HYD_status HYDT_bscu_query_node_list(struct HYD_node **node_list)
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_query_proxy_id.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_query_proxy_id.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_query_proxy_id.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,8 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bscu.h"
HYD_status HYDT_bscu_query_proxy_id(int *proxy_id)
Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_query_proxy_id.c
___________________________________________________________________
Modified: svn:mergeinfo
- /mpich2/branches/dev/ftb/src/pm/hydra/tools/bootstrap/utils/bscu_query_proxy_id.c:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/tools/bootstrap/utils/bscu_query_proxy_id.c:5817
/mpich2/trunk/src/pm/hydra/tools/bootstrap/utils/bscu_query_proxy_id.c:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
+ /mpich2/branches/dev/ftb/src/pm/hydra/tools/bootstrap/utils/bscu_query_proxy_id.c:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/tools/bootstrap/utils/bscu_query_proxy_id.c:5817
/mpich2/trunk/src/pm/hydra/tools/bootstrap/utils/bscu_query_proxy_id.c:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_usize.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_usize.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_usize.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,8 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bscu.h"
HYD_status HYDT_bscu_query_usize(int *size)
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_wait.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_wait.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/bootstrap/utils/bscu_wait.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bscu.h"
int *HYD_bscu_fd_list = NULL;
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ckpoint/blcr/ckpoint_blcr.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ckpoint/blcr/ckpoint_blcr.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ckpoint/blcr/ckpoint_blcr.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "ckpoint.h"
#include "ckpoint_blcr.h"
#include <libcr.h>
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ckpoint/ckpoint.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ckpoint/ckpoint.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ckpoint/ckpoint.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "ckpoint.h"
#if defined HAVE_BLCR
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ckpoint/ckpoint.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ckpoint/ckpoint.h 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ckpoint/ckpoint.h 2011-01-03 14:20:31 UTC (rev 7655)
@@ -9,7 +9,7 @@
/** @file ckpoint.h */
-#include "hydra_utils.h"
+#include "hydra.h"
/*! \addtogroup ckpoint Checkpointing Library Interface
* @{
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/debugger/debugger.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/debugger/debugger.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/debugger/debugger.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "debugger.h"
struct MPIR_PROCDESC *MPIR_proctable = NULL;
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/demux/demux.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/demux/demux.h 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/demux/demux.h 2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,8 +7,7 @@
#ifndef DEMUX_H_INCLUDED
#define DEMUX_H_INCLUDED
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
/*! \addtogroup demux Demultiplexing Engine
* @{
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/demux/demux_internal.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/demux/demux_internal.h 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/demux/demux_internal.h 2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,8 +7,7 @@
#ifndef DEMUX_INTERNAL_H_INCLUDED
#define DEMUX_INTERNAL_H_INCLUDED
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
struct HYDT_dmxu_callback {
int num_fds;
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ftb/hydt_ftb.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ftb/hydt_ftb.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ftb/hydt_ftb.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "hydt_ftb.h"
static FTB_client_handle_t ch;
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ftb/hydt_ftb_dummy.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ftb/hydt_ftb_dummy.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/ftb/hydt_ftb_dummy.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "hydt_ftb.h"
HYD_status HYDT_ftb_init(void)
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/nameserver/hydra_nameserver.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/nameserver/hydra_nameserver.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/tools/nameserver/hydra_nameserver.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,8 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_base.h"
-#include "hydra_utils.h"
+#include "hydra.h"
#include "demux.h"
struct HYDT_ns_publish {
Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui
___________________________________________________________________
Modified: svn:mergeinfo
- /mpich2/branches/dev/ckpt/src/pm/hydra/ui:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/ui:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/ui:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/ui:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/ui:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/ui:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/ui:5406
/mpich2/trunk/src/pm/hydra/ui:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
+ /mpich2/branches/dev/ckpt/src/pm/hydra/ui:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/ui:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/ui:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/ui:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/ui:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/ui:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/ui:5406
/mpich2/trunk/src/pm/hydra/ui:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/Makefile.mk
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/Makefile.mk 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/Makefile.mk 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,6 +4,8 @@
# See COPYRIGHT in top-level directory.
#
+AM_CPPFLAGS += -I$(top_srcdir)/ui/include
+
include ui/utils/Makefile.mk
if hydra_ui_mpich
Deleted: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/include/ui.h
===================================================================
--- mpich2/trunk/src/pm/hydra/ui/include/ui.h 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/include/ui.h 2011-01-03 14:20:31 UTC (rev 7655)
@@ -1,18 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- * (C) 2008 by Argonne National Laboratory.
- * See COPYRIGHT in top-level directory.
- */
-
-#ifndef UI_H_INCLUDED
-#define UI_H_INCLUDED
-
-struct HYD_ui_info {
- char *prepend_regex;
- char *outfile_regex;
- char *errfile_regex;
-};
-
-extern struct HYD_ui_info HYD_ui_info;
-
-#endif /* UI_H_INCLUDED */
Copied: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/include/ui.h (from rev 7654, mpich2/trunk/src/pm/hydra/ui/include/ui.h)
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/include/ui.h (rev 0)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/include/ui.h 2011-01-03 14:20:31 UTC (rev 7655)
@@ -0,0 +1,18 @@
+/* -*- Mode: C; c-basic-offset:4 ; -*- */
+/*
+ * (C) 2008 by Argonne National Laboratory.
+ * See COPYRIGHT in top-level directory.
+ */
+
+#ifndef UI_H_INCLUDED
+#define UI_H_INCLUDED
+
+struct HYD_ui_info {
+ char *prepend_regex;
+ char *outfile_regex;
+ char *errfile_regex;
+};
+
+extern struct HYD_ui_info HYD_ui_info;
+
+#endif /* UI_H_INCLUDED */
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/mpich/mpiexec.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/mpich/mpiexec.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/mpich/mpiexec.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,18 +4,21 @@
* See COPYRIGHT in top-level directory.
*/
+#include "hydra_server.h"
#include "hydra.h"
-#include "hydra_utils.h"
#include "mpiexec.h"
#include "pmci.h"
#include "bsci.h"
#include "hydt_ftb.h"
#include "demux.h"
+#include "ui.h"
#include "uiu.h"
-struct HYD_handle HYD_handle = { {0} };
+struct HYD_server_info HYD_server_info = { {0} };
struct HYD_exec *HYD_uii_mpx_exec_list = NULL;
+struct HYD_ui_info HYD_ui_info;
+struct HYD_ui_mpich_info HYD_ui_mpich_info;
static void usage(void)
{
@@ -106,6 +109,9 @@
printf(" -ppn processes per node\n");
printf(" -profile turn on internal profiling\n");
printf(" -prepend-rank prepend rank to output\n");
+ printf(" -prepend-regex prepend regex to output\n");
+ printf(" -outfile-regex direct stdout to file\n");
+ printf(" -errfile-regex direct stderr to file\n");
printf
(" -nameserver name server information (host:port format)\n");
printf(" -disable-auto-cleanup don't cleanup processes on error\n");
@@ -129,21 +135,21 @@
* and send a signal to ourselves. The signal callback does
* the process cleanup instead. */
cmd.type = HYD_CLEANUP;
- HYDU_sock_write(HYD_handle.cleanup_pipe[1], &cmd, sizeof(cmd), &sent, &closed);
+ HYDU_sock_write(HYD_server_info.cleanup_pipe[1], &cmd, sizeof(cmd), &sent, &closed);
}
else if (sig == SIGUSR1 || sig == SIGALRM) {
- if (HYD_handle.user_global.ckpoint_prefix == NULL) {
+ if (HYD_server_info.user_global.ckpoint_prefix == NULL) {
HYDU_dump(stderr, "No checkpoint prefix provided\n");
return;
}
#if HAVE_ALARM
- if (HYD_handle.ckpoint_int != -1)
- alarm(HYD_handle.ckpoint_int);
+ if (HYD_ui_mpich_info.ckpoint_int != -1)
+ alarm(HYD_ui_mpich_info.ckpoint_int);
#endif /* HAVE_ALARM */
cmd.type = HYD_CKPOINT;
- HYDU_sock_write(HYD_handle.cleanup_pipe[1], &cmd, sizeof(cmd), &sent, &closed);
+ HYDU_sock_write(HYD_server_info.cleanup_pipe[1], &cmd, sizeof(cmd), &sent, &closed);
}
/* Ignore all other signals */
@@ -152,8 +158,8 @@
}
#define ordered(n1, n2) \
- (((HYD_handle.sort_order == ASCENDING) && ((n1)->core_count <= (n2)->core_count)) || \
- ((HYD_handle.sort_order == DESCENDING) && ((n1)->core_count >= (n2)->core_count)))
+ (((HYD_ui_mpich_info.sort_order == ASCENDING) && ((n1)->core_count <= (n2)->core_count)) || \
+ ((HYD_ui_mpich_info.sort_order == DESCENDING) && ((n1)->core_count >= (n2)->core_count)))
static int compar(const void *_n1, const void *_n2)
{
@@ -170,7 +176,7 @@
else
ret = 1;
- if (HYD_handle.sort_order == DESCENDING)
+ if (HYD_ui_mpich_info.sort_order == DESCENDING)
ret *= -1;
return ret;
@@ -182,10 +188,10 @@
int count, i;
HYD_status status = HYD_SUCCESS;
- for (count = 0, node = HYD_handle.node_list; node; node = node->next, count++);
+ for (count = 0, node = HYD_server_info.node_list; node; node = node->next, count++);
HYDU_MALLOC(node_list, struct HYD_node **, count * sizeof(struct HYD_node *), status);
- for (i = 0, node = HYD_handle.node_list; node; node = node->next, i++)
+ for (i = 0, node = HYD_server_info.node_list; node; node = node->next, i++)
node_list[i] = node;
qsort((void *) node_list, (size_t) count, sizeof(struct HYD_node *), compar);
@@ -196,7 +202,7 @@
r1 = r1->next;
r1->next = NULL;
}
- HYD_handle.node_list = new_list;
+ HYD_server_info.node_list = new_list;
HYDU_FREE(node_list);
@@ -225,7 +231,7 @@
status = HYDU_set_common_signals(signal_cb);
HYDU_ERR_POP(status, "unable to set signal\n");
- if (pipe(HYD_handle.cleanup_pipe) < 0)
+ if (pipe(HYD_server_info.cleanup_pipe) < 0)
HYDU_ERR_SETANDJUMP(status, HYD_INTERNAL_ERROR, "pipe error\n");
status = HYDT_ftb_init();
@@ -246,29 +252,30 @@
/* Now we initialize engines that require us to know user
* preferences */
#if HAVE_ALARM
- if (HYD_handle.ckpoint_int != -1)
- alarm(HYD_handle.ckpoint_int);
+ if (HYD_ui_mpich_info.ckpoint_int != -1)
+ alarm(HYD_ui_mpich_info.ckpoint_int);
#endif /* HAVE_ALARM */
- status = HYDT_dmx_init(&HYD_handle.user_global.demux);
+ status = HYDT_dmx_init(&HYD_server_info.user_global.demux);
HYDU_ERR_POP(status, "unable to initialize the demux engine\n");
- status = HYDT_bsci_init(HYD_handle.user_global.rmk, HYD_handle.user_global.launcher,
- HYD_handle.user_global.launcher_exec,
- HYD_handle.user_global.enablex, HYD_handle.user_global.debug);
+ status =
+ HYDT_bsci_init(HYD_server_info.user_global.rmk, HYD_server_info.user_global.launcher,
+ HYD_server_info.user_global.launcher_exec,
+ HYD_server_info.user_global.enablex, HYD_server_info.user_global.debug);
HYDU_ERR_POP(status, "unable to initialize the bootstrap server\n");
reset_rmk = 0;
- if (HYD_handle.node_list == NULL) {
+ if (HYD_server_info.node_list == NULL) {
/* Node list is not created yet. The user might not have
* provided the host file. Query the RMK. */
- status = HYDT_bsci_query_node_list(&HYD_handle.node_list);
+ status = HYDT_bsci_query_node_list(&HYD_server_info.node_list);
HYDU_ERR_POP(status, "unable to query the RMK for a node list\n");
- if (HYD_handle.node_list == NULL) {
+ if (HYD_server_info.node_list == NULL) {
/* The RMK didn't give us anything back; use localhost */
- status = HYDU_add_to_node_list("localhost", 1, &HYD_handle.node_list);
+ status = HYDU_add_to_node_list("localhost", 1, &HYD_server_info.node_list);
HYDU_ERR_POP(status, "unable to add to node list\n");
reset_rmk = 1;
@@ -277,13 +284,13 @@
/* Reset the host list to use only the number of processes per
* node as specified by the ppn option. */
- if (HYD_handle.ppn != -1)
- for (node = HYD_handle.node_list; node; node = node->next)
- node->core_count = HYD_handle.ppn;
+ if (HYD_ui_mpich_info.ppn != -1)
+ for (node = HYD_server_info.node_list; node; node = node->next)
+ node->core_count = HYD_ui_mpich_info.ppn;
/* The RMK returned a node list. See if the user requested us to
* manipulate it in some way */
- if (HYD_handle.sort_order != NONE) {
+ if (HYD_ui_mpich_info.sort_order != NONE) {
qsort_node_list();
reset_rmk = 1;
}
@@ -295,40 +302,41 @@
status = HYDT_bsci_finalize();
HYDU_ERR_POP(status, "unable to finalize bootstrap device\n");
- status = HYDT_bsci_init("none", HYD_handle.user_global.launcher,
- HYD_handle.user_global.launcher_exec,
- HYD_handle.user_global.enablex, HYD_handle.user_global.debug);
+ status = HYDT_bsci_init("none", HYD_server_info.user_global.launcher,
+ HYD_server_info.user_global.launcher_exec,
+ HYD_server_info.user_global.enablex,
+ HYD_server_info.user_global.debug);
HYDU_ERR_POP(status, "unable to reinitialize the bootstrap server\n");
}
- HYD_handle.global_core_count = 0;
- for (node = HYD_handle.node_list; node; node = node->next)
- HYD_handle.global_core_count += node->core_count;
+ HYD_server_info.global_core_count = 0;
+ for (node = HYD_server_info.node_list; node; node = node->next)
+ HYD_server_info.global_core_count += node->core_count;
/* If the number of processes is not given, we allocate all the
* available nodes to each executable */
for (exec = HYD_uii_mpx_exec_list; exec; exec = exec->next) {
if (exec->proc_count == -1) {
- if (HYD_handle.global_core_count == 0)
+ if (HYD_server_info.global_core_count == 0)
exec->proc_count = 1;
else
- exec->proc_count = HYD_handle.global_core_count;
+ exec->proc_count = HYD_server_info.global_core_count;
/* If we didn't get anything from the user, take whatever
* the RMK gave */
- HYD_handle.pg_list.pg_process_count += exec->proc_count;
+ HYD_server_info.pg_list.pg_process_count += exec->proc_count;
}
}
- status = HYDU_list_inherited_env(&HYD_handle.user_global.global_env.inherited);
+ status = HYDU_list_inherited_env(&HYD_server_info.user_global.global_env.inherited);
HYDU_ERR_POP(status, "unable to get the inherited env list\n");
- status = HYDU_create_proxy_list(HYD_uii_mpx_exec_list, HYD_handle.node_list,
- &HYD_handle.pg_list, 0);
+ status = HYDU_create_proxy_list(HYD_uii_mpx_exec_list, HYD_server_info.node_list,
+ &HYD_server_info.pg_list, 0);
HYDU_ERR_POP(status, "unable to create proxy list\n");
/* See if the node list contains a remotely accessible localhost */
- for (proxy = HYD_handle.pg_list.proxy_list; proxy; proxy = proxy->next) {
+ for (proxy = HYD_server_info.pg_list.proxy_list; proxy; proxy = proxy->next) {
int is_local, remote_access;
status = HYDU_sock_is_local(proxy->node.hostname, &is_local);
@@ -345,26 +353,26 @@
}
if (proxy)
- HYD_handle.local_hostname = HYDU_strdup(proxy->node.hostname);
+ HYD_server_info.local_hostname = HYDU_strdup(proxy->node.hostname);
- if (HYD_handle.user_global.debug)
+ if (HYD_server_info.user_global.debug)
HYD_uiu_print_params();
if (MPL_env2int("MPIEXEC_TIMEOUT", &timeout) == 0)
timeout = -1; /* Infinite timeout */
- if (HYD_handle.user_global.debug)
+ if (HYD_server_info.user_global.debug)
HYDU_dump(stdout, "Timeout set to %d (-1 means infinite)\n", timeout);
/* Check if the user wants us to use a port within a certain
* range. */
- if (MPL_env2str("MPIEXEC_PORTRANGE", (const char **) &HYD_handle.port_range) ||
- MPL_env2str("MPIEXEC_PORT_RANGE", (const char **) &HYD_handle.port_range) ||
- MPL_env2str("MPICH_PORT_RANGE", (const char **) &HYD_handle.port_range))
- HYD_handle.port_range = HYDU_strdup(HYD_handle.port_range);
+ if (MPL_env2str("MPIEXEC_PORTRANGE", (const char **) &HYD_server_info.port_range) ||
+ MPL_env2str("MPIEXEC_PORT_RANGE", (const char **) &HYD_server_info.port_range) ||
+ MPL_env2str("MPICH_PORT_RANGE", (const char **) &HYD_server_info.port_range))
+ HYD_server_info.port_range = HYDU_strdup(HYD_server_info.port_range);
- if (HYD_handle.print_rank_map) {
- for (proxy = HYD_handle.pg_list.proxy_list; proxy; proxy = proxy->next) {
+ if (HYD_ui_mpich_info.print_rank_map) {
+ for (proxy = HYD_server_info.pg_list.proxy_list; proxy; proxy = proxy->next) {
HYDU_dump_noprefix(stdout, "(%s:", proxy->node.hostname);
process_id = 0;
@@ -374,7 +382,7 @@
HYDU_local_to_global_id(process_id++,
proxy->start_pid,
proxy->node.core_count,
- HYD_handle.global_core_count));
+ HYD_server_info.global_core_count));
if (i < exec->proc_count - 1 || exec->next)
HYDU_dump_noprefix(stdout, ",");
}
@@ -384,8 +392,8 @@
}
/* Add the stdout/stdin/stderr callback handlers */
- HYD_handle.stdout_cb = HYD_uiu_stdout_cb;
- HYD_handle.stderr_cb = HYD_uiu_stderr_cb;
+ HYD_server_info.stdout_cb = HYD_uiu_stdout_cb;
+ HYD_server_info.stderr_cb = HYD_uiu_stderr_cb;
/* Launch the processes */
status = HYD_pmci_launch_procs();
@@ -396,10 +404,10 @@
HYDU_ERR_POP(status, "process manager error waiting for completion\n");
/* Check for the exit status for all the processes */
- if (HYD_handle.print_all_exitcodes)
+ if (HYD_ui_mpich_info.print_all_exitcodes)
HYDU_dump(stdout, "Exit codes: ");
exit_status = 0;
- for (proxy = HYD_handle.pg_list.proxy_list; proxy; proxy = proxy->next) {
+ for (proxy = HYD_server_info.pg_list.proxy_list; proxy; proxy = proxy->next) {
if (proxy->exit_status == NULL) {
/* We didn't receive the exit status for this proxy */
exit_status |= 1;
@@ -410,11 +418,11 @@
for (exec = proxy->exec_list; exec; exec = exec->next)
proc_count += exec->proc_count;
for (i = 0; i < proc_count; i++) {
- if (HYD_handle.print_all_exitcodes) {
+ if (HYD_ui_mpich_info.print_all_exitcodes) {
HYDU_dump_noprefix(stdout, "[%d]",
HYDU_local_to_global_id(i, proxy->start_pid,
proxy->node.core_count,
- HYD_handle.global_core_count));
+ HYD_server_info.global_core_count));
HYDU_dump_noprefix(stdout, "%d", WEXITSTATUS(proxy->exit_status[i]));
if (i < proc_count - 1)
HYDU_dump_noprefix(stdout, ",");
@@ -422,7 +430,7 @@
exit_status |= proxy->exit_status[i];
}
}
- if (HYD_handle.print_all_exitcodes)
+ if (HYD_ui_mpich_info.print_all_exitcodes)
HYDU_dump_noprefix(stdout, "\n");
/* Call finalize functions for lower layers to cleanup their resources */
@@ -433,11 +441,11 @@
HYDU_ERR_POP(status, "error finalizing FTB\n");
#if defined ENABLE_PROFILING
- if (HYD_handle.enable_profiling) {
+ if (HYD_server_info.enable_profiling) {
HYDU_dump_noprefix(stdout, "\n");
HYD_DRAW_LINE(80);
HYDU_dump(stdout, "Number of PMI calls seen by the server: %d\n",
- HYD_handle.num_pmi_calls);
+ HYD_server_info.num_pmi_calls);
HYD_DRAW_LINE(80);
HYDU_dump_noprefix(stdout, "\n");
}
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/mpich/mpiexec.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/mpich/mpiexec.h 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/mpich/mpiexec.h 2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,8 +7,24 @@
#ifndef MPIEXEC_H_INCLUDED
#define MPIEXEC_H_INCLUDED
-#include "hydra.h"
+#include "hydra_server.h"
+struct HYD_ui_mpich_info {
+ int ppn;
+ int ckpoint_int;
+ int print_rank_map;
+ int print_all_exitcodes;
+ int ranks_per_proc;
+
+ enum HYD_sort_order {
+ NONE = 0,
+ ASCENDING = 1,
+ DESCENDING = 2
+ } sort_order;
+};
+
+extern struct HYD_ui_mpich_info HYD_ui_mpich_info;
+
HYD_status HYD_uii_mpx_get_parameters(char **t_argv);
extern struct HYD_exec *HYD_uii_mpx_exec_list;
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/mpich/utils.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/mpich/utils.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/mpich/utils.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,13 +4,24 @@
* See COPYRIGHT in top-level directory.
*/
+#include "hydra_server.h"
#include "hydra.h"
-#include "hydra_utils.h"
#include "mpiexec.h"
+#include "ui.h"
#include "uiu.h"
static int hostname_propagation = -1;
+static void init_ui_mpich_info(void)
+{
+ HYD_ui_mpich_info.ppn = -1;
+ HYD_ui_mpich_info.ckpoint_int = -1;
+ HYD_ui_mpich_info.print_rank_map = -1;
+ HYD_ui_mpich_info.print_all_exitcodes = -1;
+ HYD_ui_mpich_info.ranks_per_proc = -1;
+ HYD_ui_mpich_info.sort_order = NONE;
+}
+
static HYD_status get_current_exec(struct HYD_exec **exec)
{
HYD_status status = HYD_SUCCESS;
@@ -79,7 +90,7 @@
env_value = HYDU_strdup(str[1]);
}
- HYDU_append_env_to_list(env_name, env_value, &HYD_handle.user_global.global_env.user);
+ HYDU_append_env_to_list(env_name, env_value, &HYD_server_info.user_global.global_env.user);
if (str[0])
HYDU_FREE(str[0]);
@@ -112,12 +123,12 @@
int len;
HYD_status status = HYD_SUCCESS;
- HYDU_ERR_CHKANDJUMP(status, HYD_handle.user_global.global_env.prop,
+ HYDU_ERR_CHKANDJUMP(status, HYD_server_info.user_global.global_env.prop,
HYD_INTERNAL_ERROR, "duplicate environment setting\n");
len = strlen("list:") + strlen(**argv) + 1;
- HYDU_MALLOC(HYD_handle.user_global.global_env.prop, char *, len, status);
- HYDU_snprintf(HYD_handle.user_global.global_env.prop, len, "list:%s", **argv);
+ HYDU_MALLOC(HYD_server_info.user_global.global_env.prop, char *, len, status);
+ HYDU_snprintf(HYD_server_info.user_global.global_env.prop, len, "list:%s", **argv);
(*argv)++;
fn_exit:
@@ -136,7 +147,7 @@
static HYD_status genvnone_fn(char *arg, char ***argv)
{
- return HYDU_set_str(arg, argv, &HYD_handle.user_global.global_env.prop, "none");
+ return HYDU_set_str(arg, argv, &HYD_server_info.user_global.global_env.prop, "none");
}
static void genvall_help_fn(void)
@@ -148,7 +159,7 @@
static HYD_status genvall_fn(char *arg, char ***argv)
{
- return HYDU_set_str(arg, argv, &HYD_handle.user_global.global_env.prop, "all");
+ return HYDU_set_str(arg, argv, &HYD_server_info.user_global.global_env.prop, "all");
}
static void mfile_help_fn(void)
@@ -161,15 +172,16 @@
{
HYD_status status = HYD_SUCCESS;
- HYDU_ERR_CHKANDJUMP(status, HYD_handle.node_list, HYD_INTERNAL_ERROR,
+ HYDU_ERR_CHKANDJUMP(status, HYD_server_info.node_list, HYD_INTERNAL_ERROR,
"duplicate host file setting\n");
if (strcmp(**argv, "HYDRA_USE_LOCALHOST")) {
- status = HYDU_parse_hostfile(**argv, &HYD_handle.node_list, HYDU_process_mfile_token);
+ status =
+ HYDU_parse_hostfile(**argv, &HYD_server_info.node_list, HYDU_process_mfile_token);
HYDU_ERR_POP(status, "error parsing hostfile\n");
}
else {
- status = HYDU_add_to_node_list("localhost", 1, &HYD_handle.node_list);
+ status = HYDU_add_to_node_list("localhost", 1, &HYD_server_info.node_list);
HYDU_ERR_POP(status, "unable to add to node list\n");
}
@@ -194,7 +206,7 @@
int count = 0;
HYD_status status = HYD_SUCCESS;
- HYDU_ERR_CHKANDJUMP(status, HYD_handle.node_list, HYD_INTERNAL_ERROR,
+ HYDU_ERR_CHKANDJUMP(status, HYD_server_info.node_list, HYD_INTERNAL_ERROR,
"duplicate host file or host list setting\n");
hostlist[count] = strtok(**argv, ",");
@@ -212,7 +224,7 @@
procs = strtok(NULL, ":");
np = procs ? atoi(procs) : 1;
- status = HYDU_add_to_node_list(h, np, &HYD_handle.node_list);
+ status = HYDU_add_to_node_list(h, np, &HYD_server_info.node_list);
HYDU_ERR_POP(status, "unable to add to node list\n");
}
@@ -233,7 +245,7 @@
static HYD_status ppn_fn(char *arg, char ***argv)
{
- return HYDU_set_int_and_incr(arg, argv, &HYD_handle.ppn);
+ return HYDU_set_int_and_incr(arg, argv, &HYD_ui_mpich_info.ppn);
}
static void profile_help_fn(void)
@@ -250,7 +262,7 @@
HYDU_ERR_SETANDJUMP(status, HYD_INTERNAL_ERROR, "profiling support not compiled in\n");
#endif /* ENABLE_PROFILING */
- status = HYDU_set_int(arg, argv, &HYD_handle.enable_profiling, 1);
+ status = HYDU_set_int(arg, argv, &HYD_server_info.enable_profiling, 1);
HYDU_ERR_POP(status, "error enabling profiling\n");
fn_exit:
@@ -268,9 +280,55 @@
static HYD_status prepend_rank_fn(char *arg, char ***argv)
{
- return HYDU_set_int(arg, argv, &HYD_handle.user_global.prepend_rank, 1);
+ return HYDU_set_str(arg, argv, &HYD_ui_info.prepend_regex, "[%r] ");
}
+static void regex_info(void)
+{
+ printf(" Regular expressions can include:\n");
+ printf(" %%r: Process rank\n");
+ printf(" %%g: Process group ID\n");
+ printf(" %%p: Proxy ID\n");
+ printf(" %%h: Hostname\n");
+}
+
+static void prepend_regex_help_fn(void)
+{
+ printf("\n");
+ printf("-prepend-regex: Prepend this regular expression to stdout and stderr\n");
+ regex_info();
+ printf("\n");
+}
+
+static HYD_status prepend_regex_fn(char *arg, char ***argv)
+{
+ return HYDU_set_str_and_incr(arg, argv, &HYD_ui_info.prepend_regex);
+}
+
+static void outfile_regex_help_fn(void)
+{
+ printf("\n");
+ printf("-outfile-regex: Send stdout to this file\n\n");
+ regex_info();
+}
+
+static HYD_status outfile_regex_fn(char *arg, char ***argv)
+{
+ return HYDU_set_str_and_incr(arg, argv, &HYD_ui_info.outfile_regex);
+}
+
+static void errfile_regex_help_fn(void)
+{
+ printf("\n");
+ printf("-errfile-regex: Send stderr to this file\n\n");
+ regex_info();
+}
+
+static HYD_status errfile_regex_fn(char *arg, char ***argv)
+{
+ return HYDU_set_str_and_incr(arg, argv, &HYD_ui_info.errfile_regex);
+}
+
static void wdir_help_fn(void)
{
printf("\n");
@@ -549,7 +607,7 @@
status = HYDU_set_int_and_incr(arg, argv, &exec->proc_count);
HYDU_ERR_POP(status, "error getting executable process count\n");
- HYD_handle.pg_list.pg_process_count += exec->proc_count;
+ HYD_server_info.pg_list.pg_process_count += exec->proc_count;
fn_exit:
return status;
@@ -568,7 +626,7 @@
static HYD_status launcher_fn(char *arg, char ***argv)
{
- return HYDU_set_str_and_incr(arg, argv, &HYD_handle.user_global.launcher);
+ return HYDU_set_str_and_incr(arg, argv, &HYD_server_info.user_global.launcher);
}
static void launcher_exec_help_fn(void)
@@ -581,7 +639,7 @@
static HYD_status launcher_exec_fn(char *arg, char ***argv)
{
- return HYDU_set_str_and_incr(arg, argv, &HYD_handle.user_global.launcher_exec);
+ return HYDU_set_str_and_incr(arg, argv, &HYD_server_info.user_global.launcher_exec);
}
static void enablex_help_fn(void)
@@ -593,7 +651,8 @@
static HYD_status enablex_fn(char *arg, char ***argv)
{
- return HYDU_set_int(arg, argv, &HYD_handle.user_global.enablex, !strcmp(arg, "enable-x"));
+ return HYDU_set_int(arg, argv, &HYD_server_info.user_global.enablex,
+ !strcmp(arg, "enable-x"));
}
static void rmk_help_fn(void)
@@ -606,7 +665,7 @@
static HYD_status rmk_fn(char *arg, char ***argv)
{
- return HYDU_set_str_and_incr(arg, argv, &HYD_handle.user_global.rmk);
+ return HYDU_set_str_and_incr(arg, argv, &HYD_server_info.user_global.rmk);
}
static void ranks_per_proc_help_fn(void)
@@ -617,7 +676,7 @@
static HYD_status ranks_per_proc_fn(char *arg, char ***argv)
{
- return HYDU_set_int_and_incr(arg, argv, &HYD_handle.ranks_per_proc);
+ return HYDU_set_int_and_incr(arg, argv, &HYD_ui_mpich_info.ranks_per_proc);
}
static void binding_help_fn(void)
@@ -647,7 +706,7 @@
static HYD_status binding_fn(char *arg, char ***argv)
{
- return HYDU_set_str_and_incr(arg, argv, &HYD_handle.user_global.binding);
+ return HYDU_set_str_and_incr(arg, argv, &HYD_server_info.user_global.binding);
}
static void bindlib_help_fn(void)
@@ -660,7 +719,7 @@
static HYD_status bindlib_fn(char *arg, char ***argv)
{
- return HYDU_set_str_and_incr(arg, argv, &HYD_handle.user_global.bindlib);
+ return HYDU_set_str_and_incr(arg, argv, &HYD_server_info.user_global.bindlib);
}
static void ckpoint_interval_help_fn(void)
@@ -671,7 +730,7 @@
static HYD_status ckpoint_interval_fn(char *arg, char ***argv)
{
- return HYDU_set_int_and_incr(arg, argv, &HYD_handle.ckpoint_int);
+ return HYDU_set_int_and_incr(arg, argv, &HYD_ui_mpich_info.ckpoint_int);
}
static void ckpoint_prefix_help_fn(void)
@@ -682,7 +741,7 @@
static HYD_status ckpoint_prefix_fn(char *arg, char ***argv)
{
- return HYDU_set_str_and_incr(arg, argv, &HYD_handle.user_global.ckpoint_prefix);
+ return HYDU_set_str_and_incr(arg, argv, &HYD_server_info.user_global.ckpoint_prefix);
}
static void ckpoint_num_help_fn(void)
@@ -693,7 +752,7 @@
static HYD_status ckpoint_num_fn(char *arg, char ***argv)
{
- return HYDU_set_int_and_incr(arg, argv, &HYD_handle.user_global.ckpoint_num);
+ return HYDU_set_int_and_incr(arg, argv, &HYD_server_info.user_global.ckpoint_num);
}
static void ckpointlib_help_fn(void)
@@ -706,7 +765,7 @@
static HYD_status ckpointlib_fn(char *arg, char ***argv)
{
- return HYDU_set_str_and_incr(arg, argv, &HYD_handle.user_global.ckpointlib);
+ return HYDU_set_str_and_incr(arg, argv, &HYD_server_info.user_global.ckpointlib);
}
static void demux_help_fn(void)
@@ -719,7 +778,7 @@
static HYD_status demux_fn(char *arg, char ***argv)
{
- return HYDU_set_str_and_incr(arg, argv, &HYD_handle.user_global.demux);
+ return HYDU_set_str_and_incr(arg, argv, &HYD_server_info.user_global.demux);
}
static void verbose_help_fn(void)
@@ -730,7 +789,7 @@
static HYD_status verbose_fn(char *arg, char ***argv)
{
- return HYDU_set_int(arg, argv, &HYD_handle.user_global.debug, 1);
+ return HYDU_set_int(arg, argv, &HYD_server_info.user_global.debug, 1);
}
static void info_help_fn(void)
@@ -790,7 +849,7 @@
static HYD_status print_rank_map_fn(char *arg, char ***argv)
{
- return HYDU_set_int(arg, argv, &HYD_handle.print_rank_map, 1);
+ return HYDU_set_int(arg, argv, &HYD_ui_mpich_info.print_rank_map, 1);
}
static void print_all_exitcodes_help_fn(void)
@@ -801,7 +860,7 @@
static HYD_status print_all_exitcodes_fn(char *arg, char ***argv)
{
- return HYDU_set_int(arg, argv, &HYD_handle.print_all_exitcodes, 1);
+ return HYDU_set_int(arg, argv, &HYD_ui_mpich_info.print_all_exitcodes, 1);
}
static void iface_help_fn(void)
@@ -812,7 +871,7 @@
static HYD_status iface_fn(char *arg, char ***argv)
{
- return HYDU_set_str_and_incr(arg, argv, &HYD_handle.user_global.iface);
+ return HYDU_set_str_and_incr(arg, argv, &HYD_server_info.user_global.iface);
}
static void nameserver_help_fn(void)
@@ -823,7 +882,7 @@
static HYD_status nameserver_fn(char *arg, char ***argv)
{
- return HYDU_set_str_and_incr(arg, argv, &HYD_handle.nameserver);
+ return HYDU_set_str_and_incr(arg, argv, &HYD_server_info.nameserver);
}
static void auto_cleanup_help_fn(void)
@@ -835,7 +894,7 @@
static HYD_status auto_cleanup_fn(char *arg, char ***argv)
{
- return HYDU_set_int(arg, argv, &HYD_handle.user_global.auto_cleanup,
+ return HYDU_set_int(arg, argv, &HYD_server_info.user_global.auto_cleanup,
!strcmp(arg, "enable-auto-cleanup"));
}
@@ -865,10 +924,10 @@
if (!strcmp(**argv, "ASCENDING") || !strcmp(**argv, "ascending") ||
!strcmp(**argv, "UP") || !strcmp(**argv, "up"))
- HYD_handle.sort_order = ASCENDING;
+ HYD_ui_mpich_info.sort_order = ASCENDING;
else if (!strcmp(**argv, "DESCENDING") || !strcmp(**argv, "descending") ||
- !strcmp(**argv, "DOWN") || !strcmp(**argv, "down"))
- HYD_handle.sort_order = DESCENDING;
+ !strcmp(**argv, "DOWN") || !strcmp(**argv, "down"))
+ HYD_ui_mpich_info.sort_order = DESCENDING;
else
HYDU_ERR_SETANDJUMP(status, HYD_INTERNAL_ERROR, "unrecognized sort order\n");
@@ -902,6 +961,9 @@
{"profile", profile_fn, profile_help_fn},
{"prepend-rank", prepend_rank_fn, prepend_rank_help_fn},
{"l", prepend_rank_fn, prepend_rank_help_fn},
+ {"prepend-regex", prepend_regex_fn, prepend_regex_help_fn},
+ {"outfile-regex", outfile_regex_fn, outfile_regex_help_fn},
+ {"errfile-regex", errfile_regex_fn, errfile_regex_help_fn},
{"wdir", wdir_fn, wdir_help_fn},
{"configfile", config_fn, config_help_fn},
@@ -971,55 +1033,54 @@
/* If exec_list is not NULL, make sure local executable is set */
for (exec = HYD_uii_mpx_exec_list; exec; exec = exec->next) {
- if (exec->exec[0] == NULL && HYD_handle.user_global.ckpoint_prefix == NULL)
+ if (exec->exec[0] == NULL && HYD_server_info.user_global.ckpoint_prefix == NULL)
HYDU_ERR_SETANDJUMP(status, HYD_INTERNAL_ERROR, "no executable specified\n");
status = HYDU_correct_wdir(&exec->wdir);
HYDU_ERR_POP(status, "unable to correct wdir\n");
}
- if (HYD_handle.print_rank_map == -1)
- HYD_handle.print_rank_map = 0;
+ if (HYD_ui_mpich_info.print_rank_map == -1)
+ HYD_ui_mpich_info.print_rank_map = 0;
- if (HYD_handle.print_all_exitcodes == -1)
- HYD_handle.print_all_exitcodes = 0;
+ if (HYD_ui_mpich_info.print_all_exitcodes == -1)
+ HYD_ui_mpich_info.print_all_exitcodes = 0;
- if (HYD_handle.ranks_per_proc == -1)
- HYD_handle.ranks_per_proc = 1;
+ if (HYD_ui_mpich_info.ranks_per_proc == -1)
+ HYD_ui_mpich_info.ranks_per_proc = 1;
- if (HYD_handle.enable_profiling == -1)
- HYD_handle.enable_profiling = 0;
+ if (HYD_server_info.enable_profiling == -1)
+ HYD_server_info.enable_profiling = 0;
- if (HYD_handle.user_global.prepend_rank == -1)
- HYD_handle.user_global.prepend_rank = 0;
+ if (HYD_server_info.user_global.debug == -1 &&
+ MPL_env2bool("HYDRA_DEBUG", &HYD_server_info.user_global.debug) == 0)
+ HYD_server_info.user_global.debug = 0;
- if (HYD_handle.user_global.debug == -1 &&
- MPL_env2bool("HYDRA_DEBUG", &HYD_handle.user_global.debug) == 0)
- HYD_handle.user_global.debug = 0;
+ HYD_GET_ENV_STR_VAL(HYD_server_info.user_global.iface, "HYDRA_IFACE", NULL);
- HYD_GET_ENV_STR_VAL(HYD_handle.user_global.iface, "HYDRA_IFACE", NULL);
-
- if (HYD_handle.node_list == NULL && MPL_env2str("HYDRA_HOST_FILE", (const char **) &tmp)) {
- status = HYDU_parse_hostfile(tmp, &HYD_handle.node_list, HYDU_process_mfile_token);
+ if (HYD_server_info.node_list == NULL &&
+ MPL_env2str("HYDRA_HOST_FILE", (const char **) &tmp)) {
+ status =
+ HYDU_parse_hostfile(tmp, &HYD_server_info.node_list, HYDU_process_mfile_token);
HYDU_ERR_POP(status, "error parsing hostfile\n");
}
/* Check environment for setting the inherited environment */
- if (HYD_handle.user_global.global_env.prop == NULL &&
+ if (HYD_server_info.user_global.global_env.prop == NULL &&
MPL_env2str("HYDRA_ENV", (const char **) &tmp))
- HYD_handle.user_global.global_env.prop =
+ HYD_server_info.user_global.global_env.prop =
!strcmp(tmp, "all") ? HYDU_strdup("all") : HYDU_strdup("none");
- if (HYD_handle.user_global.auto_cleanup == -1)
- HYD_handle.user_global.auto_cleanup = 1;
+ if (HYD_server_info.user_global.auto_cleanup == -1)
+ HYD_server_info.user_global.auto_cleanup = 1;
/* Make sure this is either a restart or there is an executable to
* launch */
- if (HYD_uii_mpx_exec_list == NULL && HYD_handle.user_global.ckpoint_prefix == NULL)
+ if (HYD_uii_mpx_exec_list == NULL && HYD_server_info.user_global.ckpoint_prefix == NULL)
HYDU_ERR_SETANDJUMP(status, HYD_INTERNAL_ERROR, "no executable provided\n");
if (hostname_propagation || hostname_propagation == -1)
- HYD_handle.interface_env_name = HYDU_strdup("MPICH_INTERFACE_HOSTNAME");
+ HYD_server_info.interface_env_name = HYDU_strdup("MPICH_INTERFACE_HOSTNAME");
fn_exit:
return status;
@@ -1040,6 +1101,7 @@
HYDU_FUNC_ENTER();
HYD_uiu_init_params();
+ init_ui_mpich_info();
argv++;
do {
@@ -1077,8 +1139,8 @@
post = HYDU_strdup(progname);
loc = strrchr(post, '/');
if (!loc) { /* If there is no path */
- HYD_handle.base_path = NULL;
- status = HYDU_find_in_path(progname, &HYD_handle.base_path);
+ HYD_server_info.base_path = NULL;
+ status = HYDU_find_in_path(progname, &HYD_server_info.base_path);
HYDU_ERR_POP(status, "error while searching for executable in the user path\n");
}
else { /* There is a path */
@@ -1090,12 +1152,12 @@
tmp[1] = HYDU_strdup("/");
tmp[2] = HYDU_strdup(post);
tmp[3] = NULL;
- status = HYDU_str_alloc_and_join(tmp, &HYD_handle.base_path);
+ status = HYDU_str_alloc_and_join(tmp, &HYD_server_info.base_path);
HYDU_ERR_POP(status, "unable to join strings\n");
HYDU_free_strlist(tmp);
}
else { /* absolute */
- HYD_handle.base_path = HYDU_strdup(post);
+ HYD_server_info.base_path = HYDU_strdup(post);
}
}
HYDU_FREE(post);
@@ -1105,14 +1167,14 @@
/* If the user set the checkpoint prefix, set env var to enable
* checkpointing on the processes */
- if (HYD_handle.user_global.ckpoint_prefix)
+ if (HYD_server_info.user_global.ckpoint_prefix)
HYDU_append_env_to_list("MPICH_ENABLE_CKPOINT", "1",
- &HYD_handle.user_global.global_env.system);
+ &HYD_server_info.user_global.global_env.system);
/* Preset common environment options for disabling STDIO buffering
* in Fortran */
HYDU_append_env_to_list("GFORTRAN_UNBUFFERED_PRECONNECTED", "y",
- &HYD_handle.user_global.global_env.system);
+ &HYD_server_info.user_global.global_env.system);
fn_exit:
HYDU_FUNC_EXIT();
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/utils/uiu.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/utils/uiu.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/utils/uiu.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,78 +4,98 @@
* See COPYRIGHT in top-level directory.
*/
+#include "hydra_server.h"
#include "hydra.h"
-#include "hydra_utils.h"
+#include "ui.h"
#include "uiu.h"
+static struct stdoe_fd {
+ int fd;
+ char *regex;
+ struct stdoe_fd *next;
+} *stdoe_fd_list = NULL;
+
void HYD_uiu_init_params(void)
{
- HYDU_init_user_global(&HYD_handle.user_global);
+ HYDU_init_user_global(&HYD_server_info.user_global);
- HYD_handle.ppn = -1;
+ HYD_server_info.base_path = NULL;
- HYD_handle.base_path = NULL;
+ HYD_server_info.port_range = NULL;
+ HYD_server_info.interface_env_name = NULL;
- HYD_handle.port_range = NULL;
- HYD_handle.interface_env_name = NULL;
+ HYD_server_info.nameserver = NULL;
+ HYD_server_info.local_hostname = NULL;
- HYD_handle.nameserver = NULL;
- HYD_handle.local_hostname = NULL;
+ HYD_server_info.stdout_cb = NULL;
+ HYD_server_info.stderr_cb = NULL;
- HYD_handle.ckpoint_int = -1;
+ HYD_server_info.node_list = NULL;
+ HYD_server_info.global_core_count = 0;
- HYD_handle.print_rank_map = -1;
- HYD_handle.print_all_exitcodes = -1;
+ HYDU_init_pg(&HYD_server_info.pg_list, 0);
- HYD_handle.ranks_per_proc = -1;
+ HYD_server_info.pg_list.pgid = 0;
+ HYD_server_info.pg_list.next = NULL;
- HYD_handle.stdout_cb = NULL;
- HYD_handle.stderr_cb = NULL;
+#if defined ENABLE_PROFILING
+ HYD_server_info.enable_profiling = -1;
+ HYD_server_info.num_pmi_calls = 0;
+#endif /* ENABLE_PROFILING */
- HYD_handle.node_list = NULL;
- HYD_handle.global_core_count = 0;
+ HYD_ui_info.prepend_regex = NULL;
+ HYD_ui_info.outfile_regex = NULL;
+ HYD_ui_info.errfile_regex = NULL;
- HYDU_init_pg(&HYD_handle.pg_list, 0);
-
- HYD_handle.pg_list.pgid = 0;
- HYD_handle.pg_list.next = NULL;
-
- HYD_handle.func_depth = 0;
-
-#if defined ENABLE_PROFILING
- HYD_handle.enable_profiling = -1;
- HYD_handle.num_pmi_calls = 0;
-#endif /* ENABLE_PROFILING */
+ stdoe_fd_list = NULL;
}
void HYD_uiu_free_params(void)
{
- HYDU_finalize_user_global(&HYD_handle.user_global);
+ struct stdoe_fd *tmp, *run;
- if (HYD_handle.base_path)
- HYDU_FREE(HYD_handle.base_path);
+ HYDU_finalize_user_global(&HYD_server_info.user_global);
- if (HYD_handle.port_range)
- HYDU_FREE(HYD_handle.port_range);
+ if (HYD_server_info.base_path)
+ HYDU_FREE(HYD_server_info.base_path);
- if (HYD_handle.interface_env_name)
- HYDU_FREE(HYD_handle.interface_env_name);
+ if (HYD_server_info.port_range)
+ HYDU_FREE(HYD_server_info.port_range);
- if (HYD_handle.nameserver)
- HYDU_FREE(HYD_handle.nameserver);
+ if (HYD_server_info.interface_env_name)
+ HYDU_FREE(HYD_server_info.interface_env_name);
- if (HYD_handle.local_hostname)
- HYDU_FREE(HYD_handle.local_hostname);
+ if (HYD_server_info.nameserver)
+ HYDU_FREE(HYD_server_info.nameserver);
- if (HYD_handle.node_list)
- HYDU_free_node_list(HYD_handle.node_list);
+ if (HYD_server_info.local_hostname)
+ HYDU_FREE(HYD_server_info.local_hostname);
- if (HYD_handle.pg_list.proxy_list)
- HYDU_free_proxy_list(HYD_handle.pg_list.proxy_list);
+ if (HYD_server_info.node_list)
+ HYDU_free_node_list(HYD_server_info.node_list);
- if (HYD_handle.pg_list.next)
- HYDU_free_pg_list(HYD_handle.pg_list.next);
+ if (HYD_server_info.pg_list.proxy_list)
+ HYDU_free_proxy_list(HYD_server_info.pg_list.proxy_list);
+ if (HYD_server_info.pg_list.next)
+ HYDU_free_pg_list(HYD_server_info.pg_list.next);
+
+ if (HYD_ui_info.prepend_regex)
+ HYDU_FREE(HYD_ui_info.prepend_regex);
+
+ if (HYD_ui_info.outfile_regex)
+ HYDU_FREE(HYD_ui_info.outfile_regex);
+
+ if (HYD_ui_info.errfile_regex)
+ HYDU_FREE(HYD_ui_info.errfile_regex);
+
+ for (run = stdoe_fd_list; run;) {
+ close(run->fd);
+ tmp = run->next;
+ HYDU_FREE(run);
+ run = tmp;
+ }
+
/* Re-initialize everything to default values */
HYD_uiu_init_params();
}
@@ -95,30 +115,30 @@
HYDU_dump_noprefix(stdout, "\n");
HYDU_dump_noprefix(stdout, "mpiexec options:\n");
HYDU_dump_noprefix(stdout, "----------------\n");
- HYDU_dump_noprefix(stdout, " Base path: %s\n", HYD_handle.base_path);
- HYDU_dump_noprefix(stdout, " Launcher: %s\n", HYD_handle.user_global.launcher);
- HYDU_dump_noprefix(stdout, " Debug level: %d\n", HYD_handle.user_global.debug);
- HYDU_dump_noprefix(stdout, " Enable X: %d\n", HYD_handle.user_global.enablex);
+ HYDU_dump_noprefix(stdout, " Base path: %s\n", HYD_server_info.base_path);
+ HYDU_dump_noprefix(stdout, " Launcher: %s\n", HYD_server_info.user_global.launcher);
+ HYDU_dump_noprefix(stdout, " Debug level: %d\n", HYD_server_info.user_global.debug);
+ HYDU_dump_noprefix(stdout, " Enable X: %d\n", HYD_server_info.user_global.enablex);
HYDU_dump_noprefix(stdout, "\n");
HYDU_dump_noprefix(stdout, " Global environment:\n");
HYDU_dump_noprefix(stdout, " -------------------\n");
- for (env = HYD_handle.user_global.global_env.inherited; env; env = env->next)
+ for (env = HYD_server_info.user_global.global_env.inherited; env; env = env->next)
HYDU_dump_noprefix(stdout, " %s=%s\n", env->env_name, env->env_value);
- if (HYD_handle.user_global.global_env.system) {
+ if (HYD_server_info.user_global.global_env.system) {
HYDU_dump_noprefix(stdout, "\n");
HYDU_dump_noprefix(stdout, " Hydra internal environment:\n");
HYDU_dump_noprefix(stdout, " ---------------------------\n");
- for (env = HYD_handle.user_global.global_env.system; env; env = env->next)
+ for (env = HYD_server_info.user_global.global_env.system; env; env = env->next)
HYDU_dump_noprefix(stdout, " %s=%s\n", env->env_name, env->env_value);
}
- if (HYD_handle.user_global.global_env.user) {
+ if (HYD_server_info.user_global.global_env.user) {
HYDU_dump_noprefix(stdout, "\n");
HYDU_dump_noprefix(stdout, " User set environment:\n");
HYDU_dump_noprefix(stdout, " ---------------------\n");
- for (env = HYD_handle.user_global.global_env.user; env; env = env->next)
+ for (env = HYD_server_info.user_global.global_env.user; env; env = env->next)
HYDU_dump_noprefix(stdout, " %s=%s\n", env->env_name, env->env_value);
}
@@ -127,7 +147,7 @@
HYDU_dump_noprefix(stdout, " Proxy information:\n");
HYDU_dump_noprefix(stdout, " *********************\n");
i = 1;
- for (proxy = HYD_handle.pg_list.proxy_list; proxy; proxy = proxy->next) {
+ for (proxy = HYD_server_info.pg_list.proxy_list; proxy; proxy = proxy->next) {
HYDU_dump_noprefix(stdout, " Proxy ID: %2d\n", i++);
HYDU_dump_noprefix(stdout, " -----------------\n");
HYDU_dump_noprefix(stdout, " Proxy name: %s\n", proxy->node.hostname);
@@ -151,33 +171,84 @@
return;
}
-HYD_status HYD_uiu_stdout_cb(int pgid, int proxy_id, int rank, void *_buf, int buflen)
+static HYD_status resolve_regex_string(const char *regex, char **str, int pgid, int proxy_id,
+ int rank)
{
- int sent, closed, mark, i;
- char *buf = (char *) _buf;
+ int offset, i;
+ char *tstr, *s_rank, *s_pgid, *s_proxy_id, *s_host, *s;
+ struct HYD_pg *pg;
+ struct HYD_proxy *proxy;
+ char *tmp[HYD_NUM_TMP_STRINGS];
HYD_status status = HYD_SUCCESS;
HYDU_FUNC_ENTER();
- if (HYD_handle.user_global.prepend_rank == 0) {
- status = HYDU_sock_write(STDOUT_FILENO, buf, buflen, &sent, &closed);
- HYDU_ERR_POP(status, "unable to write data to stdout\n");
- HYDU_ASSERT(!closed, status);
- }
- else {
- mark = 0;
- for (i = 0; i < buflen; i++) {
- if (buf[i] == '\n' || i == buflen - 1) {
- HYDU_dump_noprefix(stdout, "[%d] ", rank);
- status = HYDU_sock_write(STDOUT_FILENO, (const void *) &buf[mark],
- i - mark + 1, &sent, &closed);
- HYDU_ERR_POP(status, "unable to write data to stdout\n");
- HYDU_ASSERT(!closed, status);
- mark = i + 1;
+ tstr = *str = HYDU_strdup(regex);
+
+ offset = 0;
+ i = 0;
+ do {
+ s_rank = strstr(*str, "%r");
+ s_pgid = strstr(*str, "%g");
+ s_proxy_id = strstr(*str, "%p");
+ s_host = strstr(*str, "%h");
+
+ s = s_rank;
+ if (s == NULL || (s_pgid && s_pgid < s))
+ s = s_pgid;
+ if (s == NULL || (s_proxy_id && s_proxy_id < s))
+ s = s_proxy_id;
+ if (s == NULL || (s_host && s_host < s))
+ s = s_host;
+
+ if (s)
+ *s = 0;
+
+ tmp[i++] = HYDU_strdup(*str);
+
+ if (s) {
+ if (s[1] == 'r') {
+ HYDU_MALLOC(tmp[i], char *, HYD_TMP_STRLEN, status);
+ MPL_snprintf(tmp[i], HYD_TMP_STRLEN, "%d", rank);
}
+ else if (s[1] == 'g') {
+ HYDU_MALLOC(tmp[i], char *, HYD_TMP_STRLEN, status);
+ MPL_snprintf(tmp[i], HYD_TMP_STRLEN, "%d", pgid);
+ }
+ else if (s[1] == 'p') {
+ HYDU_MALLOC(tmp[i], char *, HYD_TMP_STRLEN, status);
+ MPL_snprintf(tmp[i], HYD_TMP_STRLEN, "%d", proxy_id);
+ }
+ else if (s[1] == 'h') {
+ for (pg = &HYD_server_info.pg_list; pg; pg = pg->next)
+ if (pg->pgid == pgid)
+ break;
+ HYDU_ASSERT(pg, status);
+
+ for (proxy = pg->proxy_list; proxy; proxy = proxy->next)
+ if (proxy->proxy_id == proxy_id)
+ break;
+ HYDU_ASSERT(proxy, status);
+
+ HYDU_MALLOC(tmp[i], char *, HYD_TMP_STRLEN, status);
+ MPL_snprintf(tmp[i], HYD_TMP_STRLEN, "%s", proxy->node.hostname);
+ }
+ else {
+ HYDU_ERR_SETANDJUMP(status, HYD_INTERNAL_ERROR, "unrecognized regex\n");
+ }
+ i++;
+
+ *str = s + 2;
}
- }
+ else
+ *str = NULL;
+ } while (*str);
+ tmp[i++] = NULL;
+ status = HYDU_str_alloc_and_join(tmp, str);
+ HYDU_ERR_POP(status, "unable to join strings\n");
+ HYDU_free_strlist(tmp);
+
fn_exit:
HYDU_FUNC_EXIT();
return status;
@@ -186,31 +257,74 @@
goto fn_exit;
}
-HYD_status HYD_uiu_stderr_cb(int pgid, int proxy_id, int rank, void *_buf, int buflen)
+static HYD_status stdoe_cb(int _fd, int pgid, int proxy_id, int rank, void *_buf, int buflen)
{
+ int fd = _fd;
+ char *regex_resolve, *regex = NULL;
+ struct stdoe_fd *tmp, *run;
int sent, closed, mark, i;
- char *buf = (char *) _buf;
+ char *buf = (char *) _buf, *prepend;
HYD_status status = HYD_SUCCESS;
HYDU_FUNC_ENTER();
- if (HYD_handle.user_global.prepend_rank == 0) {
- status = HYDU_sock_write(STDERR_FILENO, buf, buflen, &sent, &closed);
- HYDU_ERR_POP(status, "unable to write data to stderr\n");
+ regex = (_fd == STDOUT_FILENO) ? HYD_ui_info.outfile_regex :
+ (_fd == STDERR_FILENO) ? HYD_ui_info.errfile_regex : NULL;
+
+ if (regex) {
+ /* See if the regex already exists */
+ status = resolve_regex_string(regex, ®ex_resolve, pgid, proxy_id, rank);
+
+ for (run = stdoe_fd_list; run; run = run->next)
+ if (!strcmp(run->regex, regex_resolve))
+ break;
+
+ if (run) {
+ fd = run->fd;
+ HYDU_FREE(regex_resolve);
+ }
+ else {
+ HYDU_MALLOC(tmp, struct stdoe_fd *, sizeof(struct stdoe_fd), status);
+ tmp->regex = regex_resolve;
+ tmp->fd = open(tmp->regex, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
+ HYDU_ASSERT(tmp->fd >= 0, status);
+ tmp->next = NULL;
+
+ if (stdoe_fd_list == NULL)
+ stdoe_fd_list = tmp;
+ else {
+ for (run = stdoe_fd_list; run->next; run = run->next);
+ run->next = tmp;
+ }
+
+ fd = tmp->fd;
+ }
+ }
+
+ if (HYD_ui_info.prepend_regex == NULL) {
+ status = HYDU_sock_write(fd, buf, buflen, &sent, &closed);
+ HYDU_ERR_POP(status, "unable to write data to stdout/stderr\n");
HYDU_ASSERT(!closed, status);
}
else {
+ status = resolve_regex_string(HYD_ui_info.prepend_regex, &prepend, pgid, proxy_id,
+ rank);
+ HYDU_ERR_POP(status, "error resolving regex\n");
+
mark = 0;
for (i = 0; i < buflen; i++) {
if (buf[i] == '\n' || i == buflen - 1) {
- HYDU_dump_noprefix(stderr, "[%d] ", rank);
- status = HYDU_sock_write(STDERR_FILENO, (const void *) &buf[mark],
- i - mark + 1, &sent, &closed);
- HYDU_ERR_POP(status, "unable to write data to stderr\n");
+ status = HYDU_sock_write(fd, (const void *) prepend, strlen(prepend), &sent,
+ &closed);
+ status = HYDU_sock_write(fd, (const void *) &buf[mark], i - mark + 1,
+ &sent, &closed);
+ HYDU_ERR_POP(status, "unable to write data to stdout/stderr\n");
HYDU_ASSERT(!closed, status);
mark = i + 1;
}
}
+
+ HYDU_FREE(prepend);
}
fn_exit:
@@ -220,3 +334,13 @@
fn_fail:
goto fn_exit;
}
+
+HYD_status HYD_uiu_stdout_cb(int pgid, int proxy_id, int rank, void *buf, int buflen)
+{
+ return stdoe_cb(STDOUT_FILENO, pgid, proxy_id, rank, buf, buflen);
+}
+
+HYD_status HYD_uiu_stderr_cb(int pgid, int proxy_id, int rank, void *buf, int buflen)
+{
+ return stdoe_cb(STDERR_FILENO, pgid, proxy_id, rank, buf, buflen);
+}
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/utils/uiu.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/utils/uiu.h 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/ui/utils/uiu.h 2011-01-03 14:20:31 UTC (rev 7655)
@@ -7,7 +7,7 @@
#ifndef UIU_H_INCLUDED
#define UIU_H_INCLUDED
-#include "hydra.h"
+#include "hydra_server.h"
void HYD_uiu_init_params(void);
void HYD_uiu_free_params(void);
Property changes on: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils
___________________________________________________________________
Modified: svn:mergeinfo
- /mpich2/branches/dev/ckpt/src/pm/hydra/utils:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/utils:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/utils:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/utils:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/utils:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/utils:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/utils:5406
/mpich2/trunk/src/pm/hydra/utils:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
+ /mpich2/branches/dev/ckpt/src/pm/hydra/utils:5050
/mpich2/branches/dev/ckpt2/src/pm/hydra/utils:5057-6537
/mpich2/branches/dev/ftb/src/pm/hydra/utils:5661-5730
/mpich2/branches/dev/lapi/src/pm/hydra/utils:5817
/mpich2/branches/dev/wintcp_async_progress/src/pm/hydra/utils:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/pm/hydra/utils:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/pm/hydra/utils:5406
/mpich2/trunk/src/pm/hydra/utils:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7447-7448,7462,7470,7473-7477,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/alloc/alloc.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/alloc/alloc.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/alloc/alloc.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
void HYDU_init_user_global(struct HYD_user_global *user_global)
{
@@ -24,7 +24,6 @@
user_global->enablex = -1;
user_global->debug = -1;
- user_global->prepend_rank = -1;
user_global->auto_cleanup = -1;
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/args/args.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/args/args.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/args/args.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
static int exists(char *filename)
{
@@ -302,7 +302,7 @@
HYD_status HYDU_parse_hostfile(char *hostfile, struct HYD_node **node_list,
HYD_status(*process_token) (char *token, int newline,
- struct HYD_node **node_list))
+ struct HYD_node ** node_list))
{
char line[HYD_TMP_STRLEN], **tokens;
FILE *fp;
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/dbg/dbg.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/dbg/dbg.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/dbg/dbg.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
char *HYD_dbg_prefix = (char *) "unknown";
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/env/env.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/env/env.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/env/env.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bsci.h"
HYD_status HYDU_env_to_str(struct HYD_env *env, char **str)
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/launch/launch.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/launch/launch.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/launch/launch.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "bind.h"
HYD_status HYDU_create_process(char **client_arg, struct HYD_env *env_list,
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/others/others.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/others/others.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/others/others.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
int HYDU_local_to_global_id(int local_id, int start_pid, int core_count, int global_core_count)
{
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/signals/signals.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/signals/signals.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/signals/signals.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
HYD_status HYDU_set_signal(int signum, void (*handler) (int))
{
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/sock/sock.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/sock/sock.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/sock/sock.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
#include "demux.h"
struct fwd_hash {
Modified: mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/string/string.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/string/string.c 2011-01-03 13:05:20 UTC (rev 7654)
+++ mpich2/branches/release/mpich2-1.3.x/src/pm/hydra/utils/string/string.c 2011-01-03 14:20:31 UTC (rev 7655)
@@ -4,7 +4,7 @@
* See COPYRIGHT in top-level directory.
*/
-#include "hydra_utils.h"
+#include "hydra.h"
HYD_status HYDU_list_append_strlist(char **src_strlist, char **dest_strlist)
{
Property changes on: mpich2/branches/release/mpich2-1.3.x/winconfigure.wsf
___________________________________________________________________
Modified: svn:mergeinfo
- /mpich2/branches/dev/ckpt/winconfigure.wsf:5050
/mpich2/branches/dev/ckpt2/winconfigure.wsf:5057-6537
/mpich2/branches/dev/ftb/winconfigure.wsf:5661-5730
/mpich2/branches/dev/lapi/winconfigure.wsf:5817
/mpich2/branches/dev/win_rrvm/winconfigure.wsf:6404,6407-6408,6420,6422-6423
/mpich2/branches/dev/wintcp_async_progress/winconfigure.wsf:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/winconfigure.wsf:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/winconfigure.wsf:5406
/mpich2/trunk/winconfigure.wsf:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7442-7448,7459-7460,7462,7469-7470,7473-7478,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649
+ /mpich2/branches/dev/ckpt/winconfigure.wsf:5050
/mpich2/branches/dev/ckpt2/winconfigure.wsf:5057-6537
/mpich2/branches/dev/ftb/winconfigure.wsf:5661-5730
/mpich2/branches/dev/lapi/winconfigure.wsf:5817
/mpich2/branches/dev/win_rrvm/winconfigure.wsf:6404,6407-6408,6420,6422-6423
/mpich2/branches/dev/wintcp_async_progress/winconfigure.wsf:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/winconfigure.wsf:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/winconfigure.wsf:5406
/mpich2/trunk/winconfigure.wsf:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7422-7425,7429-7433,7435,7437-7438,7442-7448,7459-7460,7462,7469-7470,7473-7478,7484-7485,7488-7491,7493-7502,7504,7507-7508,7510-7517,7519-7527,7529-7530,7532,7536,7538-7566,7592,7607-7622,7624-7630,7632-7635,7637,7639,7641-7643,7646-7649,7651-7654
More information about the mpich2-commits
mailing list