sandialabs / portals4

Portals is a low-level network API for high-performance networking on high-performance computing systems developed by Sandia National Laboratories, Intel Corporation, and the University of New Mexico. The Portals 4 Reference Implementation is a complete implementation of Portals 4, with transport over InfiniBand VERBS and UDP. Shared memory transport is available as an optimization, including Linux KNEM support. The Portals 4 reference implementation is supported on both modern 64 bit Linux and 64 bit Mac OS X. The reference implementation has been developed by Sandia National Laboratories, Intel Corporation, and System Fabric Works. For more information on the Portals 4 standard, please see the Portals 4 page.
https://www.sandia.gov/portals/
Other
36 stars 17 forks source link

Allow a counter to be re-used after triggers have been canceled. #79

Closed brianlarkins closed 6 years ago

brianlarkins commented 6 years ago

The trigger queue is drained in ct_check() after PtlCTCancelTriggered() is called. This patch simply re-enables the counter to allow new triggered events to be posted and processed.

The use case for this feature is a non-blocking, asynchronous collective operation that performs multiple phases. The collective is implemented using a tree of triggered operations. Once a communication phase has concluded, all triggers are reset and the collective starts anew.