Describe the bug
Our hdf_archive layer supports read/write hdf5 files with and without parallel I/O.
hdf_archive() // serial I/O. Unaware of parallel access, relying on filesystem locks.
hdf_archive(Comm c, bool request_pio) // for parallel I/O. lock scope defined by the communicator.
Note that serial or parallel I/O here doesn't refer to the hdf5 library being compiled with MPI or not.
All the discussion in this issue is about using hdf5 library compiled with MPI.
When the hdf5 library is not compiled with MPI, all cases decays to serial that is expected.
In the current implementation, use cases of request_pio = true points to parallel collective I/O that is the desired behavior. request_pio = false decays to serial I/O making it a redundant feature. Instead, it should engage parallel independent I/O mode. It is performance issue and should not affect correctness. So not top priority to fix.
Describe the bug
Our hdf_archive layer supports read/write hdf5 files with and without parallel I/O.
Note that serial or parallel I/O here doesn't refer to the hdf5 library being compiled with MPI or not.
All the discussion in this issue is about using hdf5 library compiled with MPI.
When the hdf5 library is not compiled with MPI, all cases decays to serial that is expected.
In the current implementation, use cases of
request_pio = truepoints to parallel collective I/O that is the desired behavior.request_pio = falsedecays to serial I/O making it a redundant feature. Instead, it should engage parallel independent I/O mode. It is performance issue and should not affect correctness. So not top priority to fix.