Proper support of Parallel hdf5 independent I/O
- Dominant language
- C++
- Stars
- 403
- Forks
- 154
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 82
Description
**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.
Contributor guide
Assessment
This issue has not been assessed yet.