Data packing/unpacking for reduce operations This class can be used, when multiple data sets from different senders should be reduced at the receiver.
#include <ReducePackInfo.h>
Public Member Functions | |
ReducePackInfo () | |
virtual | ~ReducePackInfo ()=default |
size_t | getSize () const |
void | reset () |
void | communicateLocal (const IBlock *sender, IBlock *receiver, stencil::Direction dir) |
virtual void | packData (const IBlock *sender, stencil::Direction dir, mpi::SendBuffer &outBuffer)=0 |
void | unpackData (IBlock *receiver, stencil::Direction dir, mpi::RecvBuffer &buffer) |
Protected Member Functions | |
virtual size_t | initData (IBlock *receiver, stencil::Direction dir)=0 |
virtual void | safeCommunicateLocal (const IBlock *sender, IBlock *receiver, stencil::Direction dir)=0 |
virtual void | safeUnpackData (IBlock *receiver, stencil::Direction dir, mpi::RecvBuffer &buffer)=0 |
Private Attributes | |
size_t | size_ |
std::set< IBlock * > | initBlocks_ |
|
inline |
|
virtualdefault |
|
inline |
|
inline |
|
protectedpure virtual |
|
pure virtual |
|
inline |
|
protectedpure virtual |
|
protectedpure virtual |
|
inline |
|
private |
|
private |