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 Types | |
using | T = typename GhostLayerField_T::value_type |
Public Member Functions | |
ReducePackInfo (const BlockDataID &bdId, T init) | |
~ReducePackInfo () override=default | |
bool | constantDataExchange () const |
bool | threadsafeReceiving () const |
void | safeCommunicateLocal (const IBlock *sender, IBlock *receiver, stencil::Direction dir) override |
void | packData (const IBlock *sender, stencil::Direction dir, mpi::SendBuffer &outBuffer) override |
void | safeUnpackData (IBlock *receiver, stencil::Direction dir, mpi::RecvBuffer &buffer) override |
size_t | getDataSize () const |
Public Member Functions inherited from walberla::communication::ReducePackInfo | |
ReducePackInfo () | |
size_t | getSize () const |
void | reset () |
void | communicateLocal (const IBlock *sender, IBlock *receiver, stencil::Direction dir) |
void | unpackData (IBlock *receiver, stencil::Direction dir, mpi::RecvBuffer &buffer) |
Protected Member Functions | |
size_t | initData (IBlock *receiver, stencil::Direction dir) override |
Protected Attributes | |
const BlockDataID | bdId_ |
const T | init_ |
const ReduceOperation< T > | op_ |
using walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >::T = typename GhostLayerField_T::value_type |
|
inline |
|
overridevirtualdefault |
Reimplemented from walberla::communication::ReducePackInfo.
|
inline |
|
inline |
|
overrideprotectedvirtual |
Implements walberla::communication::ReducePackInfo.
|
overridevirtual |
Implements walberla::communication::ReducePackInfo.
|
overridevirtual |
Implements walberla::communication::ReducePackInfo.
|
overridevirtual |
Implements walberla::communication::ReducePackInfo.
|
inline |
|
protected |
|
protected |
|
protected |