mpich icon indicating copy to clipboard operation
mpich copied to clipboard

ch4/mpidig: refactor update request status at matching

Open hzhou opened this issue 1 year ago • 2 comments

Pull Request Description

The source and tag fields in MPIDIG_REQUEST and MPIDI_PART_REQUEST are redudant to the MPI_SOURCE and MPI_TAG fields in the status, which needs to be set anyway. Both the source and tag are confirmed upon receiving the first active message thus they should be set then.

  • remove MPIDIG_REQUEST(rreq, u.recv.{source,tag})and use rreq->status.{MPI_SOURCE,MPI_TAG} instead.
  • set or update the status fields at the time of receiving the first am packet or at the time of matching.
  • remove MPIR_TAG_MASK_ERROR_BITS in MPIDIG_match_request since we do not set tag error bits in MPIR-layer or MPIDIG-layer (even if error-bits are enabled).

This is a preparation/cleanup PR before we adding the feature allowing ch4-native netmod requests to transition into mpidig requests to use active messaging ability.

Removing extra variables/fields certainly simplifies the code.

[skip warnings]

Author Checklist

  • [x] Provide Description Particularly focus on why, not what. Reference background, issues, test failures, xfail entries, etc.
  • [x] 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.
  • [x] Contribution Agreement For non-Argonne authors, check contribution agreement. If necessary, request an explicit comment from your companies PR approval manager.

hzhou avatar Oct 19 '24 01:10 hzhou

test:mpich/ch4/most ✔️

hzhou avatar Oct 19 '24 01:10 hzhou

test:mpich/ch4/ofi/more

hzhou avatar Oct 21 '24 02:10 hzhou

test:mpich/ch4/ofi/more

hzhou avatar Oct 23 '24 17:10 hzhou