100 static void send(
const SmartType& buffer,
int destination,
int tag, MPI_Comm communicator );
103 static void send(
const SmartType& buffer,
int destination,
int tag, std::function<
void()> startCommunicationFunctor, std::function<
void()> waitFunctor, MPI_Comm communicator );
104 static void receive(
SmartType& buffer,
int source,
int tag, std::function<
void()> startCommunicationFunctor, std::function<
void()> waitFunctor, MPI_Comm communicator );
static Rank & getInstance()
This operation returns the singleton instance.
static void shutdownDatatype()
static MPI_Datatype getMultiscaleDataExchangeDatatype()
static void send(const SmartType &buffer, int destination, int tag, std::function< void()> startCommunicationFunctor, std::function< void()> waitFunctor, MPI_Comm communicator)
GeneratedTestObject(int __id, tarch::la::Vector< 256, double > __data)
std::string toString() const
static void freeMultiscaleDataExchangeDatatype()
static void freeForkDatatype()
static void send(const SmartType &buffer, int destination, int tag, MPI_Comm communicator)
static MPI_Datatype getGlobalCommunciationDatatype()
GeneratedTestObject(const GeneratedTestObject ©)=default
int _senderDestinationRank
static void freeGlobalCommunciationDatatype()
static void freeJoinDatatype()
static MPI_Datatype getBoundaryExchangeDatatype()
GeneratedTestObject(ObjectConstruction)
tarch::la::SmartPointerVector< 256, double > getDataSmartPointer()
static void sendAndPollDanglingMessages(const peano4::stacks::tests::GeneratedTestObject &message, int destination, int tag, MPI_Comm communicator=tarch::mpi::Rank::getInstance().getCommunicator())
static void freeBoundaryExchangeDatatype()
int getSenderRank() const
void setData(const tarch::la::Vector< 256, double > &value)
void setData(int index, double value)
tarch::la::Vector< 256, double > getData() const
static void initDatatype()
static MPI_Datatype getJoinDatatype()
static void receive(SmartType &buffer, int source, int tag, std::function< void()> startCommunicationFunctor, std::function< void()> waitFunctor, MPI_Comm communicator)
static MPI_Datatype getForkDatatype()
Hands out MPI datatype if we work without the LLVM MPI extension.
static FlattenedType flatten(const SmartType ©)
static SmartType unflatten(const FlattenedType ©)
static void receiveAndPollDanglingMessages(peano4::stacks::tests::GeneratedTestObject &message, int source, int tag, MPI_Comm communicator=tarch::mpi::Rank::getInstance().getCommunicator())
tarch::la::SmartPointerVector< 256, double > _data
static void receive(SmartType &buffer, int source, int tag, MPI_Comm communicator)
double getData(int index) const
Simple SmartPointerVector class.