----------------------
./INSTALL
./configure.in
./configure [REGENERATED]
./src/H5config.h.in [REGENERATED]
Improvements for parallel library. If you have a properly
working mpicc you should be able to just say:
$ CC=mpicc ./configure
and you will see
checking for mpirun... /usr/local/mpi/bin/mpirun
checking for parallel support files... skipped
checking how to run on one processor...
/usr/local/mpi/bin/mpirun -np 1
checking how to run in parallel...
/usr/local/mpi/bin/mpirun -np $$NPROCS
To quote from the INSTALL file....
*** Parallel vs. serial library
The HDF5 library can be configured to use MPI and MPI-IO for
parallelizm on a distributed multi-processor system. The easy
way to do this is to have a properly installed parallel
compiler (e.g., MPICH's mpicc or IBM's mpcc) and supply that
executable as the value of the CC environment variable:
[NOTE: mpcc is not tested yet]
$ CC=mpcc ./configure
$ CC=/usr/local/mpi/bin/mpicc ./configure
If no such wrapper script is available then you must specify
your normal C compiler along with the distribution of
MPI/MPI-IO which is to be used (values other than `mpich' will
be added at a later date):
$ ./configure --enable-parallel=mpich
If the MPI/MPI-IO include files and/or libraries cannot be
found by the compiler then their directories must be given as
arguments to CPPFLAGS and/or LDFLAGS:
$ CPPFLAGS=-I/usr/local/mpi/include \
LDFLAGS=-L/usr/local/mpi/lib/LINUX/ch_p4 \
./configure --enable-parallel=mpich
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 compiler is mpicc
and the user hasn't specified values for RUNSERIAL and
RUNPARALLEL then configure chooses `mpirun' from the same
directory as `mpicc':
RUNSERIAL: /usr/local/mpi/bin/mpirun -np 1
RUNPARALLEL: /usr/local/mpi/bin/mpirun -np $${NPROCS:=2}
The `$${NPROCS:=2}' will be substituted with the value of the
NPROCS environment variable at the time `make check' is run
(or the value 2).
./testpar/Makefile.in
Saying `make check' (or `make test') will run the tests on two
processors by default. If you define NPROCS then that many
processors are used instead:
$ NPROCS=4 make check
./configure.in
Fixed (hopefully) bugs with detecting whether __attribute__
and __FUNCTION__ are special keywords for the compiler.
./Makefile.in
Saying `make install' from the top level directory shows
instructions for using shared libraries.
./config/commence.in
./src/Makefile.in
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
Moved the @top_srcdir@ into the makefiles because it was
expanded too early and had the wrong value.
./INSTALL
Added a warning that if the wrong version of hdf4 tools are
installed then `make check' will fail in the tools directory.
hdf5/testpar/README
-------------------
(last update: Aug the 1998)
This directory holds tests for the parallel HDF5 library. It is in
its "infancy" and is not integrated with the rest of the HDF5 software
yet. It will be smothed out in the next release.
Steps to compile and test:
1a) Makefile.irix64 is one that works for IRIX64 -64 platform.
You may use it as a template to create Makefile for other platforms.
1b) Makefile.ascired is one that works for the ASCI Red platform.
2) "make all -f Makefile.xxxxx >&! make.out1" creates testphdf5.
3) "make test -f Makefile.xxxxx >&! make.out2" runs testphdf5.
When running "make test -f Makefile.xxxxx" the line that executes is:
$(RUN) testphdf5 $(TEST_FLAGS)
For the ASCI Red users:
In the file Makefile.ascired, the variables RUN and TEST_FLAGS are:
RUN=yod -sz 8
TEST_FLAGS=-f "pfs:/pfs/multi/tmp_1/your_own"
The TEST_FLAGS variable contains an optional file prefix which needs
to be changed to your own Intel PFS directory name.
/* change "your_own" to your own directory name */
RUN=yod -sz 8
TEST_FLAGS=-f "pfs:/pfs/multi/tmp_1/my_dir"
After the above change to Makefile.ascired, upon execution of
"make test -f Makefile.ascired >&! make.out2",
the prefix will be attached to filenames in testphdf5 at execution.
----
Questions? Send mail to
hdfparallel@ncsa.uiuc.edu