summaryrefslogtreecommitdiffstats
path: root/release_docs/INSTALL_parallel
diff options
context:
space:
mode:
Diffstat (limited to 'release_docs/INSTALL_parallel')
-rw-r--r--release_docs/INSTALL_parallel174
1 files changed, 5 insertions, 169 deletions
diff --git a/release_docs/INSTALL_parallel b/release_docs/INSTALL_parallel
index 2624b3b..e4c540c 100644
--- a/release_docs/INSTALL_parallel
+++ b/release_docs/INSTALL_parallel
@@ -49,54 +49,15 @@ more detailed explanations.
----------------------------
HDF5 knows several parallel compilers: mpicc, hcc, mpcc, mpcc_r. To build
parallel HDF5 with one of the above, just set CC as it and configure.
-The "--enable-parallel" is optional in this case.
- $ CC=/usr/local/mpi/bin/mpicc ./configure --prefix=<install-directory>
+ $ CC=/usr/local/mpi/bin/mpicc ./configure --enable-parallel --prefix=<install-directory>
$ make # build the library
$ make check # verify the correctness
# Read the Details section about parallel tests.
$ make install
-2.2. IBM SP
------------
-During the build stage, the H5detect is compiled and executed to generate
-the source file H5Tinit.c which is compiled as part of the HDF5 library. In
-parallel mode, make sure your environment variables are set correctly to
-execute a single process mpi application. Otherwise, multiple processes
-attempt to write to the same H5Tinit.c file, resulting in a scrambled
-source file. Unfortunately, the setting varies from machine to machine.
-E.g., the following works for the IBM SP machine at LLNL.
-
- setenv MP_PROCS 1
- setenv MP_NODES 1
- setenv MP_LABELIO no
- setenv MP_RMPOOL 0
- setenv LLNL_COMPILE_SINGLE_THREADED TRUE # for LLNL site only
-
-The shared library configuration is problematic. So, only static library
-is supported.
-
-Then do the following steps:
-
- $ ./configure --disable-shared --prefix=<install-directory>
- $ make # build the library
- $ make check # verify the correctness
- # Read the Details section about parallel tests.
- $ make install
-
-We also suggest that you add "-qxlf90=autodealloc" to FCFLAGS when building
-parallel with fortran enabled. This can be done by invoking:
-
- setenv FCFLAGS -qxlf90=autodealloc # 32 bit build
-or
- setenv FCFLAGS "-q64 -qxlf90=autodealloc" # 64 bit build
-
-prior to running configure. Recall that the "-q64" is necessary for 64
-bit builds.
-
-
-2.3. Linux 2.4 and greater
+2.2. Linux 2.4 and greater
--------------------------
Be sure that your installation of MPICH was configured with the following
configuration command-line option:
@@ -107,89 +68,9 @@ This allows for >2GB sized files on Linux systems and is only available with
Linux kernels 2.4 and greater.
-2.4. Red Storm (Cray XT3) (for v1.8 and later)
--------------------------
-Both serial and parallel HDF5 are supported in Red Storm.
-
-2.4.1 Building serial HDF5 for Red Storm
-------------------------------------------
-The following steps are for building the serial HDF5 for the Red Storm
-compute nodes. They would probably work for other Cray XT3 systems but have
-not been verified.
-
-# Assume you already have a copy of HDF5 source code in directory `hdf5' and
-# want to install the binary in directory `/project/hdf5/hdf5'.
-
-$ cd hdf5
-$ bin/yodconfigure configure
-$ env RUNSERIAL="yod -sz 1" \
- CC=cc FC=ftn CXX=CC \
- ./configure --prefix=/project/hdf5/hdf5
-$ make
-$ make check
-
-# if all is well, install the binary.
-$ make install
-
-2.4.2 Building parallel HDF5 for Red Storm
-------------------------------------------
-The following steps are for building the Parallel HDF5 for the Red Storm
-compute nodes. They would probably work for other Cray XT3 systems but have
-not been verified.
-
-# Assume you already have a copy of HDF5 source code in directory `hdf5' and
-# want to install the binary in directory `/project/hdf5/phdf5'. You also
-# have done the proper setup to have mpicc and mpif90 as the compiler commands.
-
-$ cd hdf5
-$ bin/yodconfigure configure
-$ env RUNSERIAL="yod -sz 1" RUNPARALLEL="yod -sz 3" \
- CC=cc FC=ftn \
- ./configure --enable-parallel --prefix=/project/hdf5/phdf5
-$ make
-$ make check
-
-# if all is well, install the binary.
-$ make install
-
-2.4.3 Red Storm known problems
-------------------------------
-For Red Storm, a Cray XT3 system, the yod command sometimes gives the
-message, "yod allocation delayed for node recovery". This interferes with
-test suites that do not expect seeing this message. To bypass this problem,
-I launch the executables with a command shell script called "myyod" which
-consists of the following lines. (You should set $RUNSERIAL and $RUNPARALLEL
-to use myyod instead of yod.)
-==== myyod =======
-#!/bin/sh
-# sleep 2 seconds to allow time for the node recovery else it pops the
-# message,
-# yod allocation delayed for node recovery
-sleep 2
-yod $*
-==== end of myyod =======
-
-For Red Storm, a Cray XT3 system, the tools/h5ls/testh5ls.sh will fail on
-the test "Testing h5ls -w80 -r -g tgroup.h5" fails. This test is
-expected to fail and exit with a non-zero code but the yod command does
-not propagate the exit code of the executables. Yod always returns 0 if it
-can launch the executable. The test suite shell expects a non-zero for
-this particular test, therefore it concludes the test has failed when it
-receives 0 from yod. To bypass this problem for now, change the following
-lines in the tools/h5ls/testh5ls.sh.
-======== Original =========
-# The following combination of arguments is expected to return an error message
-# and return value 1
-TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
-======== Skip the test =========
-echo SKIP TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
-======== end of bypass ========
-
-2.5. Hopper (Cray XE6) (for v1.8 and later)
+2.3. Hopper (Cray XE6) (for v1.8 and later)
-------------------------
-2.5.1 Building HDF5 for Hopper
-------------------------------------------
The following steps are for building HDF5 for the Hopper compute
nodes. They would probably work for other Cray systems but have
not been verified.
@@ -226,43 +107,6 @@ The build will be in build-hdf5/hdf5/ (or whatever you specify in --prefix).
To compile other HDF5 applications use the wrappers created by the build (build-hdf5/hdf5/bin/h5pcc or h5fc)
-2.5.2 Hopper known issues
-------------------------------
-Issue 1:
-Sometimes when building the library with make, you might get this problem:
-
-LD_LIBRARY_PATH="$LD_LIBRARY_PATH`echo | \
-sed -e 's/-L/:/g' -e 's/
-//g'`" \
-./H5make_libsettings > H5lib_settings.c
-|| \
-(test $HDF5_Make_Ignore && echo "*** Error ignored")
-|| \
-(rm -f H5lib_settings.c ; exit 1)
-/bin/sh: line 4: 9644 Segmentation fault
-LD_LIBRARY_PATH="$LD_LIBRARY_PATH`echo | sed -e 's/-L/:/g' -e 's/
-//g'`" ./H5make_libsettings > H5lib_settings.c
-
-If that happens, you are probable running with make -j <x>. In that
-case, you need to cleanup everything and start again as detailed above
-but use serial make (do not use -j <x>).
-
-Issue 2:
-* When building using the Cray compilers on Cray machines, HDF5
- configure mistakenly thinks the compiler is an intel compiler and
- sets the -std=c99 flag which breaks configure on Cray. To build HDF5
- properly on a Cray machine, please consult with the instructions in
- INSTALL_parallel for building on Hopper.
- (MSC - 2013/04/26 - HDFFV-8429)
-
-Issue 3:
-* On hopper, the build failed when RUNSERIAL and RUNPARALLEL are set
- to aprun -np X, because the H5lib_settings.c file was not generated
- properly. Not setting those environment variables works, because
- configure was able to automatically detect that it's a Cray system
- and used the proper launch commands when necessary.
- (MSC - 2012/04/18)
-
3. Detail explanation
---------------------
@@ -293,16 +137,8 @@ a properly installed parallel compiler (e.g., MPICH's mpicc or IBM's mpcc_r)
and supply the compiler name as the value of the CC environment variable.
For examples,
- $ CC=mpcc_r ./configure
- $ CC=/usr/local/mpi/bin/mpicc ./configure
-
-If no such a compiler command is available then you must use your normal
-C compiler along with the location(s) of MPI/MPI-IO files to be used.
-For example,
-
- $ CPPFLAGS=-I/usr/local/mpi/include \
- LDFLAGS=-L/usr/local/mpi/lib/LINUX/ch_p4 \
- ./configure --enable-parallel=mpich
+ $ CC=mpcc_r ./configure --enable-parallel
+ $ CC=/usr/local/mpi/bin/mpicc ./configure --enable-parallel
If a parallel library is being built then configure attempts to determine how
to run a parallel application on one processor and on many processors. If the