shm/ipc: change the check for self messages
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 descriptionCommit 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.
test:mpich/ch4/most
test:mpich/ch4/most
@dycz0fx Could you rebase the PR to current main branch? After that, we should run the GPU test since that tests the IPC path.
test:mpich/ch4/gpu
test:mpich/ch4/gpu
test:mpich/ch4/gpu
test:mpich/ch4/gpu
This check has been removed in current main.