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

Add support for inter-communication #86

Closed
AndrewGaspar opened this issue Mar 2, 2020 · 0 comments
Closed

Add support for inter-communication #86

AndrewGaspar opened this issue Mar 2, 2020 · 0 comments

Comments

@AndrewGaspar
Copy link
Contributor

The code currently operates under the assumption that all communicators are intra-communicators, but inter-communicators have slightly different semantics that should be captured in the type system.

There are places we check the value of MPI_Comm_size for safety purposes, but should actually be MPI_Comm_remote_size when dealing with an inter-communicator. Considering adding a routine fn target_size(&self) -> Rank on the Communicator trait with no default implementation. Evaluates to self.size() on intra-communicators and self.remote_size() on inter-communicators.

The proposed implementation would:

  • Capture inter-communicators in the type system as separate entities from intra-communicators
  • Add support for creating inter-communicators via MPI_Intercomm_create
  • Add support for creating an intra-communicator from an inter-communicator via MPI_Intercomm_merge

I have related changes in the AndrewGaspar/intercomm branch, but I'll probably restructure that branches' changes and submit under a separate branch.

jedbrown pushed a commit that referenced this issue Dec 5, 2022
Explicitly disconnect parent communicator to appease MPICH leak
checks, which might be incorrect.
pmodels/mpich#6319

Co-authored-by: Jed Brown
jedbrown pushed a commit that referenced this issue Dec 19, 2022
Explicitly disconnect parent communicator to appease MPICH leak
checks, which might be incorrect.
pmodels/mpich#6319

Co-authored-by: Jed Brown
jedbrown pushed a commit that referenced this issue Dec 19, 2022
Explicitly disconnect parent communicator to appease MPICH leak
checks, which might be incorrect.
pmodels/mpich#6319

Co-authored-by: Jed Brown
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

No branches or pull requests

1 participant