Skip to content

Commit

Permalink
#672: docs: write doxygen for collectives
Browse files Browse the repository at this point in the history
  • Loading branch information
lifflander committed Jun 16, 2020
1 parent 5ae6be6 commit fb6cb7c
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 0 deletions.
9 changes: 9 additions & 0 deletions src/vt/collective/collective_alg.h
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,15 @@ namespace vt { namespace collective {

constexpr CollectiveAlgType const fst_collective_alg = 1;

/**
* \struct CollectiveAlg
*
* \brief Perform asynchronous collectives within VT
*
* CollectiveAlg is a core VT component that provides the ability to perform
* reductions, scatters, barriers, and safe MPI (collective) operations while
* inside a VT handler.
*/
struct CollectiveAlg :
runtime::component::Component<CollectiveAlg>,
virtual reduce::ReduceManager,
Expand Down
12 changes: 12 additions & 0 deletions src/vt/collective/collective_scope.h
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,18 @@ struct ScopeImpl {

} /* end namespace detail */

/**
* \struct CollectiveScope
*
* \brief A distinct scope for enqueuing ordered collective operations.
*
* Each collective scope builds an individual sequence of collective operations
* that get orchestrated across nodes using a consensus algorithm so all nodes
* agree on a particular operation to execute in the sequence.
*
* This enables one to execute blocking MPI collectives inside VT handlers
* without causing progress to halt due to asynchrony.
*/
struct CollectiveScope {

private:
Expand Down

0 comments on commit fb6cb7c

Please sign in to comment.