Clarification regarding parallel i/o in multi-threaded context

Hi,

   This might be a very silly question: I am writing a multi-threaded
application and am using my custom build (default flags) of HDF5 v1.8 of the
C++ API. Can two threads simultaneously create private H5Group instances
within a common H5 file and coherently write datasets into their respective
H5Groups? I am tempted to assume this is not possible but I hear of parallel
I/O and HDF5 so I could use some clarification.

    Also, am I right in understanding that parallel HDF5 I/O is possible only
in an MPI context and that the PHDF5 must be built separately with MPI build
info? Is it the same source code?

Thanks for being patient,
Manoj

Hi Manoj,

Hi,

  This might be a very silly question: I am writing a multi-threaded
application and am using my custom build (default flags) of HDF5 v1.8 of the
C++ API. Can two threads simultaneously create private H5Group instances
within a common H5 file and coherently write datasets into their respective
H5Groups? I am tempted to assume this is not possible but I hear of parallel
I/O and HDF5 so I could use some clarification.

  Here's the FAQ for thread-safety: http://www.hdfgroup.org/hdf5-quest.html#tsafe

   Also, am I right in understanding that parallel HDF5 I/O is possible only
in an MPI context and that the PHDF5 must be built separately with MPI build
info? Is it the same source code?

  Yes, parallel HDF5 I/O is currently only possible when using MPI. The HDF5 library is the same source code (albeit with different portions of the code enabled), but the application would probably be different between a sequential implementation and an MPI-oriented parallel implementation.

  Quincey

···

On Jun 8, 2010, at 9:27 PM, Manoj Rajagopalan wrote: