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

MPI-IO maintenance #4455

Merged
merged 8 commits into from
Feb 22, 2022
Merged

MPI-IO maintenance #4455

merged 8 commits into from
Feb 22, 2022

Conversation

jngrad
Copy link
Member

@jngrad jngrad commented Feb 22, 2022

Description of changes:

  • make mpiio class a fully-functional ScriptInterface class
    • API change: the python global variable mpiio was removed
  • make MPI-IO fatal errors non-fatal and recoverable when only one MPI rank is used
  • modernize MPI-IO code (STL, single-reponsibility principle, roll out Particle changes)

Check multiple uses cases. Write files to a temporary directory to
guarantee test files are always cleaned up and that two MPI-IO tests
can safely run in parallel. Use a unique prefix derived from the test
name to avoid filename collisions (which are fatal errors in MPI-IO).
Check the MPI-IO exception mechanism on 1 MPI rank.
Return by value rather than by output argument, use
std::string instead of char pointers, remove macro.
Fix incorrect error messages. Improve doxygen blocks and Sphinx docs.
Factor code duplication. Wrap the error message inside the exception.
It is now possible to instantiate multiple Mpiio objects.
This is an API breaking change.
Use iterators and STL algorithms. Encapsulate MPI_Exscan logic.
Roll out new Particle member accessors. Fix -Wconversion warnings.
@jngrad jngrad added this to the Espresso 4.2 milestone Feb 22, 2022
@jngrad jngrad added the automerge Merge with kodiak label Feb 22, 2022
@kodiakhq kodiakhq bot merged commit c53c067 into espressomd:python Feb 22, 2022
@jngrad jngrad deleted the mpiio branch February 22, 2022 12:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants