Building HDF5 with parallel support

Hi,

I'm trying to build hdf5-1.10.0-patch1. I'm trying to build it with a variety of compilers: GCC 5.4.0, GCC 6.1.0, Intel 2015 and PGI 16.5 (we support a lot of compilers where work). I have the following questions:

1. Can I build serial and parallel libraries at the same time, do I need to do separate builds for each?

2. When I have tried building using a configuration like this:

./configure \
--prefix=/usr/pppl/gcc/5.4-pkgs/openmpi-1.10.3-pkgs/hdf5-1.10.0-patch1 \
     --enable-build-mode=production \
     --enable-unsupported \
     --enable-fortran \
     --enable-cxx \
     --enable-hl \
     --enable-shared \
     --enable-static \
     --enable-parallel \
     --with-zlib \
     --with-szlib=/usr/pppl/gcc/5.4-pkgs/szip-2.1 \
     CC=mpicc \
     CXX=mpicxx \
     FC=mpif90 \
     2>&1 | tee configure.log

the 'make check' command just hang when it gets to testphdf5. After a couple of minutes 'top' shows that there is nothing going (no noticeable CPU or RAM usage, like what ever program was running completed or crashed, but the make process, or script launched by make doesn't realize that. Has anyone else seen this? Any ideas what's causing this?

···

--

Prentice Bisbal
Lead Software Engineer
Princeton Plasma Physics Laboratory
http://www.pppl.gov

Hi,

I'm trying to build hdf5-1.10.0-patch1. I'm trying to build it with a
variety of compilers: GCC 5.4.0, GCC 6.1.0, Intel 2015 and PGI 16.5 (we
support a lot of compilers where work). I have the following questions:

1. Can I build serial and parallel libraries at the same time, do I need
to do separate builds for each?

Yes, you can build serial and parallel at the same time. However, I typically build serial and parallel installs separately. Why? Because I typically build only static libraries and I don’t want serial clients to have to link with MPI library in order to use HDF5. So, I generate a libhdf5.a that *does*not* depend on MPI and another libhdf5.a that *does* depend on MPI using separate configures and separate —prefix. If using shared libs, you *might* be able to finesse this a bit and get by with just one shared lib with MPI references, I don’t know.

2. When I have tried building using a configuration like this:

./configure \
--prefix=/usr/pppl/gcc/5.4-pkgs/openmpi-1.10.3-pkgs/hdf5-1.10.0-patch1 \
     --enable-build-mode=production \
     --enable-unsupported \
     --enable-fortran \
     --enable-cxx \
     --enable-hl \
     --enable-shared \
     --enable-static \
     --enable-parallel \
     --with-zlib \
     --with-szlib=/usr/pppl/gcc/5.4-pkgs/szip-2.1 \
     CC=mpicc \
     CXX=mpicxx \
     FC=mpif90 \
     2>&1 | tee configure.log

the 'make check' command just hang when it gets to testphdf5.

Well, you may need to set RUNPARALLEL enviornment variable to something appropriate for your MPI installation

On my OS X system, RUNPARALLEL defaults to “mpiexec -n ${NPROCS:=6}” and that works.

And, if your system doesn’t support interactive parallel runs, then you may need to setup an srun or msub script to support it.

try “make RUNPARALLEL=foo chec” and see if that fails looking for command “foo”. It it does, then just gin up the correct magic for value of RUNPARALLEL to make it run a parallel executable.

HTH

Mark

After a
couple of minutes 'top' shows that there is nothing going (no noticeable
CPU or RAM usage, like what ever program was running completed or
crashed, but the make process, or script launched by make doesn't
realize that. Has anyone else seen this? Any ideas what's causing this?

···

From: Hdf-forum <hdf-forum-bounces@lists.hdfgroup.org<mailto:hdf-forum-bounces@lists.hdfgroup.org>> on behalf of Prentice Bisbal <pbisbal@pppl.gov<mailto:pbisbal@pppl.gov>>
Reply-To: HDF Users Discussion List <hdf-forum@lists.hdfgroup.org<mailto:hdf-forum@lists.hdfgroup.org>>
Date: Monday, July 25, 2016 at 11:16 AM
To: "hdf-forum@lists.hdfgroup.org<mailto:hdf-forum@lists.hdfgroup.org>" <hdf-forum@lists.hdfgroup.org<mailto:hdf-forum@lists.hdfgroup.org>>
Subject: [Hdf-forum] Building HDF5 with parallel support

--

Prentice Bisbal
Lead Software Engineer
Princeton Plasma Physics Laboratory

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org<mailto:Hdf-forum@lists.hdfgroup.org>
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5