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

make parthenon manager play nicely with other MPI libraries #1172

Merged
merged 3 commits into from
Sep 11, 2024

Conversation

Yurlungur
Copy link
Collaborator

@Yurlungur Yurlungur commented Sep 10, 2024

PR Summary

A downstream code wants to interface with PetSC, which also interacts with MPI via MPI init and finalize. This MR makes that interaction and only that interaction safe from Parthenon's perspective.

I haven't thought fully how we interact with other libraries so I don't know if we are safe to interop with, e.g., PetSC. Also in the grand scheme of things, what this downstream code wants to do with PetSC parthenon can do natively. So it might be an intermediate step.

That said, I think this at a minimum just makes parthenon a little safer and more robust.

PR Checklist

  • Code passes cpplint
  • New features are documented.
  • Adds a test for any bugs fixed. Adds tests for new features.
  • Code is formatted
  • Changes are summarized in CHANGELOG.md
  • Change is breaking (API, behavior, ...)
    • Change is additionally added to CHANGELOG.md in the breaking section
    • PR is marked as breaking
    • Short summary API changes at the top of the PR (plus optionally with an automated update/fix script)
  • CI has been triggered on Darwin for performance regression tests.
  • Docs build
  • (@lanl.gov employees) Update copyright on changed files

Copy link
Collaborator

@lroberts36 lroberts36 left a comment

Choose a reason for hiding this comment

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

LGTM. I guess it is still possible that some other code calls MPI_Initialize after Parthenon calls it, but I think this is the best we can do from our perspective.

@Yurlungur
Copy link
Collaborator Author

LGTM. I guess it is still possible that some other code calls MPI_Initialize after Parthenon calls it, but I think this is the best we can do from our perspective.

Yeah if all relevant codes have guards like this, then order won't matter. If only we are careful, then it will.

@Yurlungur Yurlungur enabled auto-merge September 11, 2024 14:22
@Yurlungur Yurlungur merged commit e8ed786 into develop Sep 11, 2024
53 checks passed
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.

4 participants