Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Collective metadata #624

Merged
merged 7 commits into from Nov 2, 2022
Merged

Collective metadata #624

merged 7 commits into from Nov 2, 2022

Conversation

1uc
Copy link
Collaborator

@1uc 1uc commented Oct 28, 2022

This PR enables users to configure collective metadata reads and writes (at file level). The heavy lifting was done in #620; here we simply restructure the proposed solution.

In more detail, this PR adds:

  • ability to request collective MPI-IO metadata reads
  • ability to request collective MPI-IO metadata writes
  • explains the caveats of collective metadata reads
  • add collective MPI-IO metadata writes to MPIOFileDriver.

@1uc 1uc marked this pull request as ready for review October 28, 2022 09:28
@1uc
Copy link
Collaborator Author

1uc commented Oct 28, 2022

I think it would be nice to have an example showing how to set everything up to use collectives, always. However this requires both this PR and #623. Therefore, we'll do this later.

matz-e
matz-e previously approved these changes Oct 28, 2022
include/highfive/bits/H5FileDriver_misc.hpp Outdated Show resolved Hide resolved
void MPIOCollectiveMetadata::apply(const hid_t plist) const {
auto read = MPIOCollectiveMetadataRead{collective_};
auto write = MPIOCollectiveMetadataWrite{collective_};

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sigh... there are probably some users out there somewhere that want collective write but independent read, or vice versa.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In which case, with property list plist, they would ask for collective reading:

plist.add(MPIOCollectiveMetadataRead{});

or collective writing:

plist.add(MPIOCollectiveMetadataWrite{});

The third option MPIOCollectiveMetadata reduces the typing effort and increases discoverability of the correct settings for the case where all operations are collective.

@codecov-commenter
Copy link

Codecov Report

❗ No coverage uploaded for pull request base (master@1df7ad0). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #624   +/-   ##
=========================================
  Coverage          ?   79.33%           
=========================================
  Files             ?       64           
  Lines             ?     3533           
  Branches          ?        0           
=========================================
  Hits              ?     2803           
  Misses            ?      730           
  Partials          ?        0           

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@1uc 1uc requested a review from matz-e November 1, 2022 09:57
@1uc 1uc merged commit c603bd9 into master Nov 2, 2022
@1uc 1uc deleted the collective-metadata branch November 2, 2022 16:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants