Project

General

Profile

Bug #1155

AMPI's non-blocking collectives are not sequenced

Added by Sam White over 2 years ago. Updated 8 months ago.

Status:
New
Priority:
Normal
Assignee:
Category:
AMPI
Target version:
-
Start date:
08/03/2016
Due date:
% Done:

0%


Description

AMPI's non-blocking collectives should be sequenced/ordered just like non-blocking pt2pt messages are.

History

#1 Updated by Sam White over 2 years ago

Should be able to break this down into multiple parts:
1. Make the sequence number into the refnum instead of a member of AmpiMsg. This enables us to pass the seq num on CkReductionMsg's as well as AmpiMsg's.
2. Get message sequencing working for Broadcasts and Scatters since they use AmpiMsg's.
3. Refactor AmpiSeqQ to handle both AmpiMsg's and CkReductionMsg's in a common data structure.
4. Refactor AmpiSeqQ for collectives: AmpiOtherElement has incoming and outgoing counts, for collectives we only need 1 count (There may be some complications with intercomm's (some ranks send and don't receive).

#2 Updated by Sam White about 2 years ago

Refactor AmpiMsg so that seq is the refnum, to ease future support of sequencing on CkReductionMsg's: https://charm.cs.illinois.edu/gerrit/#/c/2187/

Add sequencing of broadcasts, which already use AmpiMsg: https://charm.cs.illinois.edu/gerrit/#/c/2188/

#3 Updated by Sam White about 2 years ago

  • Status changed from New to In Progress

#4 Updated by Sam White almost 2 years ago

  • Target version changed from 6.8.0 to 6.8.1

#5 Updated by Sam White almost 2 years ago

I updated the above patches to support all kinds of bcasts (non-blocking, intercomm).

#6 Updated by Sam White over 1 year ago

  • Target version changed from 6.8.1 to 6.9.0

#7 Updated by Sam White over 1 year ago

  • Target version deleted (6.9.0)
  • Status changed from In Progress to New

#8 Updated by Sam White 8 months ago

C++17's std::variant should make implementing support for sequencing/matching of non-blocking collective messages easier, since both AmpIMsg's and CkReductionMsg's can use the RefNum for the sequence number alike, so we can store a std::variant<AmpiMsg, CkReductionMsg> msg type.

Also available in: Atom PDF