mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-11-21 01:04:10 +08:00
[svn-r26746] install_parallel updates.
This commit is contained in:
parent
4275900a7b
commit
6fa9f61ae5
@ -107,89 +107,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.4. 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 +146,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
|
||||
---------------------
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user