Opinion about adjusting packaging of serial vs. parallel hdf5 library installs

Hi All,

Just curious if anyone out there runs into the issue of supporting *both* serial and parallel HDF5 clients from a *single* HDF5 installation.

A challenge I have is supporting this across Windows, OS X and Linux.

With a *single* HDF5 installation, the libhdf5.{so,dll,dylib…} has link-time dependence on MPI even for serial clients. But, properly coded
serial clients *should* have no run-time dependence on MPI.

Does anyone run into any gotchas doing this.

Would it make sense to ask The HDF Group to re-package the parallel installation slightly providing a libhdf5.{so,dll,dylib} that has NO
MPI references in it and a second, smaller, libhdf5_mpi.{so,dll,dylib} that that has the mpi-parallel parts? A parallel caller would have to
link to libhdf5_mpi and libhdf5 but a single installation could more easily support both serial and parallel clients.

Just curious if others have thoughts on this.

Mark

One “gotcha” we’ve already encountered is that a —enable-parallel configured hdf5 installation #include <mpi.h> from HDF5’s public header file.

Mark

···

From: Hdf-forum <hdf-forum-bounces@lists.hdfgroup.org<mailto:hdf-forum-bounces@lists.hdfgroup.org>> on behalf of "Miller, Mark C." <miller86@llnl.gov<mailto:miller86@llnl.gov>>
Reply-To: HDF Users Discussion List <hdf-forum@lists.hdfgroup.org<mailto:hdf-forum@lists.hdfgroup.org>>
Date: Wednesday, August 10, 2016 at 1:18 PM
To: HDF Users Discussion List <hdf-forum@lists.hdfgroup.org<mailto:hdf-forum@lists.hdfgroup.org>>
Subject: [Hdf-forum] Opinion about adjusting packaging of serial vs. parallel hdf5 library installs

Hi All,

Just curious if anyone out there runs into the issue of supporting *both* serial and parallel HDF5 clients from a *single* HDF5 installation.

A challenge I have is supporting this across Windows, OS X and Linux.

With a *single* HDF5 installation, the libhdf5.{so,dll,dylib…} has link-time dependence on MPI even for serial clients. But, properly coded
serial clients *should* have no run-time dependence on MPI.

Does anyone run into any gotchas doing this.

Would it make sense to ask The HDF Group to re-package the parallel installation slightly providing a libhdf5.{so,dll,dylib} that has NO
MPI references in it and a second, smaller, libhdf5_mpi.{so,dll,dylib} that that has the mpi-parallel parts? A parallel caller would have to
link to libhdf5_mpi and libhdf5 but a single installation could more easily support both serial and parallel clients.

Just curious if others have thoughts on this.

Mark

I am interested in anyone who has done this successfully. I am hoping to create a "skeleton" file in serial and write some data to it and then reopen the file in parallel using a single hdf5 library for writing the parallel data. I have been working with the latest version of hdf5 and have not got the library to pass the tests after building both serial and parallel.

James

···

________________________________
From: Hdf-forum [hdf-forum-bounces@lists.hdfgroup.org] on behalf of Miller, Mark C. [miller86@llnl.gov]
Sent: Wednesday, August 10, 2016 3:23 PM
To: HDF Users Discussion List
Subject: Re: [Hdf-forum] Opinion about adjusting packaging of serial vs. parallel hdf5 library installs

One “gotcha” we’ve already encountered is that a —enable-parallel configured hdf5 installation #include <mpi.h> from HDF5’s public header file.

Mark

From: Hdf-forum <hdf-forum-bounces@lists.hdfgroup.org<mailto:hdf-forum-bounces@lists.hdfgroup.org>> on behalf of "Miller, Mark C." <miller86@llnl.gov<mailto:miller86@llnl.gov>>
Reply-To: HDF Users Discussion List <hdf-forum@lists.hdfgroup.org<mailto:hdf-forum@lists.hdfgroup.org>>
Date: Wednesday, August 10, 2016 at 1:18 PM
To: HDF Users Discussion List <hdf-forum@lists.hdfgroup.org<mailto:hdf-forum@lists.hdfgroup.org>>
Subject: [Hdf-forum] Opinion about adjusting packaging of serial vs. parallel hdf5 library installs

Hi All,

Just curious if anyone out there runs into the issue of supporting *both* serial and parallel HDF5 clients from a *single* HDF5 installation.

A challenge I have is supporting this across Windows, OS X and Linux.

With a *single* HDF5 installation, the libhdf5.{so,dll,dylib…} has link-time dependence on MPI even for serial clients. But, properly coded
serial clients *should* have no run-time dependence on MPI.

Does anyone run into any gotchas doing this.

Would it make sense to ask The HDF Group to re-package the parallel installation slightly providing a libhdf5.{so,dll,dylib} that has NO
MPI references in it and a second, smaller, libhdf5_mpi.{so,dll,dylib} that that has the mpi-parallel parts? A parallel caller would have to
link to libhdf5_mpi and libhdf5 but a single installation could more easily support both serial and parallel clients.

Just curious if others have thoughts on this.

Mark