namespace
reduce
Namespaces
Classes
-
template<typename enable = void, typename... Args>struct GetReduceStamp
-
template<typename... Args>struct GetReduceStamp<std::enable_if_t<std::is_same_v<std::decay_t<std::tuple_element_t<sizeof...(Args) - 1, std::tuple<Args...>>>, collective::reduce::ReduceStamp>>, Args...>
-
template<>struct GetReduceStamp<std::enable_if_t<std::is_same_v<void, void>>>
- struct Reduce
- A specific, isolated reducer instance for a given scope that sequences reduce operations via the reduction stamp within that scope.
- struct ReduceLink
- struct ReduceManager
- Manage distinct scopes for reductions.
- struct ReduceMsg
- struct ReduceState
- struct ReduceStateHolder
Typedefs
-
using ReduceStamp = detail::
ReduceStamp -
using UserIDType = detail::
UserIDType -
using StrongUserID = detail::
StrongUserID -
using StrongEpoch = detail::
StrongEpoch -
using TagPair = detail::
TagPair
Functions
-
static auto makeReduceScope(detail::
ReduceScope const& scope) -> std::unique_ptr<Reduce> -
template<typename T, typename... Args>auto makeStamp(Args && ... args) -> ReduceStamp
- Create a new reduction stamp.
Typedef documentation
using vt:: collective:: reduce:: ReduceStamp = detail:: ReduceStamp
using vt:: collective:: reduce:: UserIDType = detail:: UserIDType
using vt:: collective:: reduce:: StrongUserID = detail:: StrongUserID
using vt:: collective:: reduce:: StrongEpoch = detail:: StrongEpoch
using vt:: collective:: reduce:: TagPair = detail:: TagPair
Function documentation
static std::unique_ptr<Reduce> vt:: collective:: reduce:: makeReduceScope(detail:: ReduceScope const& scope)
template<typename T, typename... Args>
ReduceStamp vt:: collective:: reduce:: makeStamp(Args && ... args)
Create a new reduction stamp.
Parameters | |
---|---|
args in | args to the stamp type constructor |
Returns | a new reduction stamp |