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

romio: refactor mpi-io layer #7232

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open

Conversation

hzhou
Copy link
Contributor

@hzhou hzhou commented Dec 6, 2024

Pull Request Description

This PR is a split from #7228. It should not change any of the ROMIO behaviors.

Refactor to split interface and implementation. This prepares for
binding generations.

The binding layer, e.g. open.c, close.c, etc. will be replaced by python
generation when ROMIO is building FROM_MPICH.

Author Checklist

  • Provide Description
    Particularly focus on why, not what. Reference background, issues, test failures, xfail entries, etc.
  • Commits Follow Good Practice
    Commits are self-contained and do not do two things at once.
    Commit message is of the form: module: short description
    Commit message explains what's in the commit.
  • Passes All Tests
    Whitespace checker. Warnings test. Additional tests via comments.
  • Contribution Agreement
    For non-Argonne authors, check contribution agreement.
    If necessary, request an explicit comment from your companies PR approval manager.

hzhou added 6 commits December 6, 2024 12:14
These looks like vendor-specific code. We can easily generate them if
needed. Remove them for now to simplify refactor.
All romio error check macros takes a myname parameter (which can be
replaced by __func__). Make MPIO_CHECK_INFO_ALL consistent.
Refactor to split interface and implementation. This prepares for
binding generations.

The binding layer, e.g. open.c, close.c, etc. will be replaced by python
generation when ROMIO is building FROM_MPICH.
Add impl functions MPI_File_f2c and MPI_File_c2f for consistency and to
avoid exposing MPIOI functions. They will be used when we generate IO
bindings from MPICH and are not used if we build ROMIO outside MPICH.
Use "goto fn_fail" instead of "goto fn_exit".

Skip MPIO_Err_return_file since we will do that in top-level routines.
We call MPI_File_delete in case there is a leftover testfile, which will
interfere with later MPI_File_open. Not checking error return and call
"delete" on a seemingly non-existent file is myterious. Add a comment
and error checking for maintenance.
@hzhou
Copy link
Contributor Author

hzhou commented Dec 6, 2024

test:mpich/ch3/most
test:mpich/ch4/most

@hzhou
Copy link
Contributor Author

hzhou commented Dec 6, 2024

test:mpich/ch4/ofi

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.

1 participant