#include <StencilRestrictedMPIDatatypeInfo.h>
Public Member Functions | |
StencilRestrictedMPIDatatypeInfo (BlockDataID fieldID) | |
~StencilRestrictedMPIDatatypeInfo () override=default | |
shared_ptr< mpi::Datatype > | getSendDatatype (IBlock *block, const stencil::Direction dir) override |
Return the MPI data type that should be used for sending to neighbor in specified direction. More... | |
shared_ptr< mpi::Datatype > | getRecvDatatype (IBlock *block, const stencil::Direction dir) override |
Return the MPI data type that should be used for receiving from neighbor in specified direction. More... | |
void * | getSendPointer (IBlock *block, const stencil::Direction) override |
Return pointer to data that should be send to neighbor in specified direction. More... | |
void * | getRecvPointer (IBlock *block, const stencil::Direction) override |
Return pointer to memory where received data is written to. More... | |
Public Member Functions inherited from walberla::communication::UniformMPIDatatypeInfo | |
UniformMPIDatatypeInfo ()=default | |
virtual | ~UniformMPIDatatypeInfo ()=default |
virtual int | getNumberOfItemsToCommunicate (IBlock *, const stencil::Direction) |
Return how many data items of the datatype should be communicated per block and direction Due to custom aggregated MPI datatypes this is usually 1. More... | |
Private Member Functions | |
GhostLayerField_T * | getField (IBlock *block) |
Static Private Member Functions | |
static std::set< cell_idx_t > | getOptimizedCommunicationIndices (const stencil::Direction dir) |
Private Attributes | |
BlockDataID | fieldID_ |
|
inline |
|
overridedefault |
|
inlineprivate |
|
inlinestaticprivate |
|
inlineoverridevirtual |
Return the MPI data type that should be used for receiving from neighbor in specified direction.
Implements walberla::communication::UniformMPIDatatypeInfo.
|
inlineoverridevirtual |
Return pointer to memory where received data is written to.
Implements walberla::communication::UniformMPIDatatypeInfo.
|
inlineoverridevirtual |
Return the MPI data type that should be used for sending to neighbor in specified direction.
Implements walberla::communication::UniformMPIDatatypeInfo.
|
inlineoverridevirtual |
Return pointer to data that should be send to neighbor in specified direction.
Implements walberla::communication::UniformMPIDatatypeInfo.
|
private |