mpich icon indicating copy to clipboard operation
mpich copied to clipboard

shm/ipc: change the check for self messages

Open dycz0fx opened this issue 3 years ago • 4 comments

Pull Request Description

The MPIDI_IPCI_try_lmt_isend function checks if the local rank is the same as the recv rank, and if it is, the IPC P2P falls back to POSIX P2P, which slows down the collective operations that use isend to send data within the same rank. The intention of the check in MPIDI_IPCI_try_lmt_isend is to handle messages within "self"-comms (i.e. MPI_COMM_SELF and all communicators with size of 1) and the IPC P2P can handle the data copy within the same rank. So we need to change if (rank == comm->rank) to if (comm->local_size == 1).

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.

dycz0fx avatar Sep 15 '22 18:09 dycz0fx

test:mpich/ch4/most

dycz0fx avatar Sep 15 '22 18:09 dycz0fx

test:mpich/ch4/most

dycz0fx avatar Sep 16 '22 17:09 dycz0fx

@dycz0fx Could you rebase the PR to current main branch? After that, we should run the GPU test since that tests the IPC path.

hzhou avatar Sep 20 '22 19:09 hzhou

test:mpich/ch4/gpu

dycz0fx avatar Sep 21 '22 16:09 dycz0fx

test:mpich/ch4/gpu

dycz0fx avatar Oct 03 '22 20:10 dycz0fx

test:mpich/ch4/gpu

dycz0fx avatar Dec 14 '22 18:12 dycz0fx

test:mpich/ch4/gpu

dycz0fx avatar Dec 14 '22 19:12 dycz0fx

This check has been removed in current main.

dycz0fx avatar Oct 27 '23 18:10 dycz0fx