Skip to content

Proper support of Parallel hdf5 independent I/O #5859

@ye-luo

Description

@ye-luo

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions