template<>
Proxy<void> struct
Public types
- using ObjGroupType = void
-
using ReduceStamp = collective::
reduce:: ReduceStamp -
using PendingSendType = messaging::
PendingSend
Constructors, destructors, conversion operators
- Proxy() defaulted
Public functions
- auto operator[](NodeType node) const -> DefaultProxyElm
- Index the proxy to get the element proxy for a particular node.
-
template<typename MsgT, ActiveTypedFnType<MsgT>* f, typename... Args>auto broadcast(Args && ... args) const -> messaging::
PendingSend - Broadcast a message.
-
template<auto f, typename... Args>auto broadcast(Args && ... args) const -> messaging::
PendingSend - Broadcast a message.
-
template<typename MsgT, ActiveTypedFnType<MsgT>* f>auto broadcastMsg(messaging::
MsgPtrThief<MsgT> msg, TagType tag = no_tag) const -> messaging:: PendingSend - Broadcast a message.
-
template<auto f>auto broadcastMsg(messaging::
MsgPtrThief<typename FuncTraits<decltype(f)>::MsgT> msg, TagType tag = no_tag) const -> messaging:: PendingSend - Broadcast a message.
-
template<typename OpT, typename FunctorT, typename MsgT, typename... Args>auto reduce(NodeType root, Args && ... args) const -> messaging::
PendingSend - Reduce a message up the tree, possibly delayed through a pending send.
-
template<typename OpT, typename FunctorT, typename MsgT, ActiveTypedFnType<MsgT>* f, typename... Args>auto reduce(NodeType root, Args && ... args) const -> messaging::
PendingSend -
template<typename OpT, typename FunctorT, typename MsgT>auto reduceMsg(NodeType root, MsgT*const msg) const -> messaging::
PendingSend - Reduce a message up the tree, possibly delayed through a pending send.
-
template<typename OpT, typename FunctorT, typename MsgT, ActiveTypedFnType<MsgT>* f>auto reduceMsg(NodeType root, MsgT*const msg) const -> messaging::
PendingSend -
auto broadcast(Params && ... params) const -> Proxy<void>::
PendingSendType -
auto multicast(GroupType type,
Params && ... params) const -> Proxy<void>::
PendingSendType -
auto multicast(group::
region:: Region:: RegionUPtrType&& nodes, Params && ... params) const -> Proxy<void>:: PendingSendType - auto operator=(Proxy const&) -> Proxy& defaulted
- auto allreduce(Args && ... args) const -> PendingSendType
- All-reduce back to this objgroup. Performs a reduction using operator
Opfollowed by a broadcast tofwith the result. - auto get() const -> void*
- Get raw pointer to the local object instance residing on the current node.
- auto getProxy() const -> ObjGroupProxyType
- Get the underlying proxy bits that are used to identify the objgroup.
- auto castToBase() const -> Proxy<BaseT>
- Cast typed proxy to the base class type for this objgroup.
- void destroyCollective() const
- Collective destroy this objgroup instance on all nodes.
-
auto makeHandleRDMA(std::size_t count,
bool is_uniform) const -> vt::
rdma:: Handle<T> - Make a new RDMA handle for this objgroup—a collective invocation.
-
void destroyHandleRDMA(vt::
rdma:: Handle<T> handle) const - Destroy an RDMA handle created from this objgroup.
-
auto makeHandleSetRDMA(int32_t max_elm,
std::unordered_map<int32_t, std::size_t> const& map,
bool is_uniform) const -> vt::
rdma:: HandleSet<T> - Make a new set of RDMA handles for this objgroup—a collective invocation. This is the overload for a potentially sparse set of handles with a non-zero starting index.
-
void destroyHandleSetRDMA(vt::
rdma:: HandleSet<T> handle) const - Destroy a set of RDMA handles created from this objgroup.
- auto operator()(NodeType node) const -> ProxyElm<void>
- Index the proxy to get the element proxy for a particular node.
- void serialize(Serializer& s)
Function documentation
template<>
DefaultProxyElm vt:: objgroup:: proxy:: Proxy<void>:: operator[](NodeType node) const
Index the proxy to get the element proxy for a particular node.
| Parameters | |
|---|---|
| node in | the desired node |
| Returns | an indexed proxy to that node |
template<>
template<typename MsgT, ActiveTypedFnType<MsgT>* f, typename... Args>
messaging:: PendingSend vt:: objgroup:: proxy:: Proxy<void>:: broadcast(Args && ... args) const
Broadcast a message.
| Parameters | |
|---|---|
| args in | the arguments used to make a message |
| Returns | the PendingSend for the sent message |
template<>
template<auto f, typename... Args>
messaging:: PendingSend vt:: objgroup:: proxy:: Proxy<void>:: broadcast(Args && ... args) const
Broadcast a message.
| Parameters | |
|---|---|
| args in | the arguments used to make a message |
| Returns | the PendingSend for the sent message |
template<>
template<typename MsgT, ActiveTypedFnType<MsgT>* f>
messaging:: PendingSend vt:: objgroup:: proxy:: Proxy<void>:: broadcastMsg(messaging:: MsgPtrThief<MsgT> msg,
TagType tag = no_tag) const
Broadcast a message.
| Parameters | |
|---|---|
| msg in | the message to broadcast |
| tag in | the tag to put on the message |
| Returns | the PendingSend for the sent message |
template<>
template<auto f>
messaging:: PendingSend vt:: objgroup:: proxy:: Proxy<void>:: broadcastMsg(messaging:: MsgPtrThief<typename FuncTraits<decltype(f)>::MsgT> msg,
TagType tag = no_tag) const
Broadcast a message.
| Parameters | |
|---|---|
| msg in | the message to broadcast |
| tag in | the tag to put on the message |
| Returns | the PendingSend for the sent message |
template<>
template<typename OpT, typename FunctorT, typename MsgT, typename... Args>
messaging:: PendingSend vt:: objgroup:: proxy:: Proxy<void>:: reduce(NodeType root,
Args && ... args) const
Reduce a message up the tree, possibly delayed through a pending send.
| Parameters | |
|---|---|
| root in | the root node where the final handler provides the result |
| args in | the arguments used to make a message |
| Returns | the pending send corresponding to the reduce |
template<>
template<typename OpT, typename FunctorT, typename MsgT>
messaging:: PendingSend vt:: objgroup:: proxy:: Proxy<void>:: reduceMsg(NodeType root,
MsgT*const msg) const
Reduce a message up the tree, possibly delayed through a pending send.
| Parameters | |
|---|---|
| root in | the root node where the final handler provides the result |
| msg in | the message to reduce on this node |
| Returns | the pending send corresponding to the reduce |
template<>
Proxy<void>:: PendingSendType vt:: objgroup:: proxy:: Proxy<void>:: broadcast(Params && ... params) const
template<>
Proxy<void>:: PendingSendType vt:: objgroup:: proxy:: Proxy<void>:: multicast(GroupType type,
Params && ... params) const
template<>
Proxy<void>:: PendingSendType vt:: objgroup:: proxy:: Proxy<void>:: multicast(group:: region:: Region:: RegionUPtrType&& nodes,
Params && ... params) const