struct
ScatterScatter data across all nodes from a single origin.
Performs an asynchronous scatter over all the nodes in the communicator/runtime.
Base classes
- struct vt::collective::tree::Tree virtual
- General interface for storing a spanning tree.
Derived classes
- struct vt::collective::CollectiveAlg virtual
- Perform asynchronous collectives within VT.
Public types
- using FuncSizeType = std::function<std::size_t(NodeType)>
- using FuncDataType = std::function<void(NodeType, std::byte*)>
Constructors, destructors, conversion operators
- Scatter()
- Construct a scatter manager.
Public functions
-
template<typename MessageT, ActiveTypedFnType<MessageT>* f>void scatter(std::size_t const& total_size, std::size_t const& max_proc_size, FuncSizeType size_fn, FuncDataType data_fn)
- Scatter data to all nodes.
-
template<auto f>void scatter(std::size_t const& total_size, std::size_t const& max_proc_size, FuncSizeType size_fn, FuncDataType data_fn)
- Scatter data to all nodes.
Protected functions
- void scatterIn(ScatterMsg* msg)
- Receive scattered data down the spanning tree.
Function documentation
template<typename MessageT, ActiveTypedFnType<MessageT>* f>
void vt:: collective:: scatter:: Scatter:: scatter(std::size_t const& total_size,
std::size_t const& max_proc_size,
FuncSizeType size_fn,
FuncDataType data_fn)
Scatter data to all nodes.
Parameters | |
---|---|
total_size in | total size of data to scatter |
max_proc_size in | max data to be scattered to any node |
size_fn in | callback to get size for each node |
data_fn in | callback to get data for each node |
The functions passed to scatter through the arguments size_fn
and data_fn
will not be retained after this call returns.
template<auto f>
void vt:: collective:: scatter:: Scatter:: scatter(std::size_t const& total_size,
std::size_t const& max_proc_size,
FuncSizeType size_fn,
FuncDataType data_fn)
Scatter data to all nodes.
Parameters | |
---|---|
total_size in | total size of data to scatter |
max_proc_size in | max data to be scattered to any node |
size_fn in | callback to get size for each node |
data_fn in | callback to get data for each node |
The functions passed to scatter through the arguments size_fn
and data_fn
will not be retained after this call returns.
void vt:: collective:: scatter:: Scatter:: scatterIn(ScatterMsg* msg) protected
Receive scattered data down the spanning tree.
Parameters | |
---|---|
msg in | the scatter message |