Conversation
|
The current implementation appears to have a race condition. Does the action that gets triggered at the end of an epoch immediately follow termination or happen at some unknown point after termination? |
|
PR tests (gcc-5, ubuntu, mpich) Build for ce6b977 |
|
PR tests (clang-3.9, ubuntu, mpich) Build for ce6b977 |
|
PR tests (gcc-6, ubuntu, mpich) Build for ce6b977 |
|
PR tests (gcc-9, ubuntu, mpich, zoltan) Build for ce6b977 |
|
PR tests (clang-9, ubuntu, mpich) Build for ce6b977 |
|
PR tests (gcc-8, ubuntu, mpich, address sanitizer) Build for ce6b977 |
|
PR tests (clang-12, ubuntu, mpich) Build for ce6b977 |
|
PR tests (clang-13, ubuntu, mpich) Build for ce6b977 |
|
PR tests (clang-11, ubuntu, mpich) Build for ce6b977 |
|
PR tests (clang-10, alpine, mpich) Build for ce6b977 |
|
PR tests (nvidia cuda 11.0, ubuntu, mpich) Build for ce6b977 |
|
PR tests (clang-14, ubuntu, mpich) Build for 9946d16 |
|
PR tests (gcc-11, ubuntu, mpich) Build for 9946d16 |
|
PR tests (clang-10, ubuntu, mpich) Build for ce6b977 |
|
PR tests (gcc-12, ubuntu, mpich) Build for 9946d16 |
The PR adds tracking of subphases to the
PhaseManagerand removes it fromElementLBData. Similarly, it moves tracking of phases fromPhaseManagertoElementLBData, although that is not an essential part of this PR and could be reversed.This PR adds
CollectionChainSet::nextStepCollectiveSubphase()(could be renamed) andrunSubphaseCollectiveto the API for advancing the subphase. The API for explicitly setting the subphase on each collection element has been removed.A subphase ends at the termination of the epoch created by
nextStepCollectiveSubphaseorrunSubphaseCollectiveand may contain work that preceded the call and did not fall explicitly within an earlier subphase. If there is no work following termination of an epoch that defines a subphase, there will be an empty subphase following it.Closes #1129