38 struct GeneratedTestObject_Flattened;
68 [[clang::map_mpi_datatype]]
71 [[clang::map_mpi_datatype]]
74 [[clang::map_mpi_datatype]]
77 [[clang::map_mpi_datatype]]
80 [[clang::map_mpi_datatype]]
83 [[clang::map_mpi_datatype]]
86 [[clang::map_mpi_datatype]]
89 [[clang::map_mpi_datatype]]
92 [[clang::map_mpi_datatype]]
95 [[clang::map_mpi_datatype]]
163 #if !defined(__MPI_ATTRIBUTES_LANGUAGE_EXTENSION__)
static Rank & getInstance()
This operation returns the singleton instance.
static void freeMultiscaleDataExchangeDatatype()
static MPI_Datatype getMultiscaleDataExchangeDatatype()
GeneratedTestObject_Flattened(int __id, tarch::la::Vector< 256, double > __data)
static void sendAndPollDanglingMessages(const peano4::stacks::tests::GeneratedTestObject_Flattened &message, int destination, int tag, MPI_Comm communicator=tarch::mpi::Rank::getInstance().getCommunicator())
static MPI_Datatype getBoundaryExchangeDatatype()
GeneratedTestObject_Flattened()
static void freeBoundaryExchangeDatatype()
static MPI_Datatype getForkDatatype()
Hands out MPI datatype if we work without the LLVM MPI extension.
static void receiveAndPollDanglingMessages(peano4::stacks::tests::GeneratedTestObject_Flattened &message, int source, int tag, MPI_Comm communicator=tarch::mpi::Rank::getInstance().getCommunicator())
static MPI_Datatype getGlobalCommunciationDatatype()
static void freeGlobalCommunciationDatatype()
static void initDatatype()
Wrapper around getDatatype() to trigger lazy evaluation if we use the lazy initialisation.
void setData(int index, double value)
static void shutdownDatatype()
Free the underlying MPI datatype.
static MPI_Datatype Datatype
Whenever we use LLVM's MPI extension (DaStGe), we rely on lazy initialisation of the datatype.
void setData(const tarch::la::Vector< 256, double > &value)
static void send(const peano4::stacks::tests::GeneratedTestObject_Flattened &buffer, int destination, int tag, MPI_Comm communicator)
In DaStGen (the first version), I had a non-static version of the send as well as the receive.
int _senderDestinationRank
GeneratedTestObject_Flattened(ObjectConstruction)
tarch::la::Vector< 256, double > getData() const
static MPI_Datatype getJoinDatatype()
std::string toString() const
static void send(const peano4::stacks::tests::GeneratedTestObject_Flattened &buffer, int destination, int tag, std::function< void()> startCommunicationFunctor, std::function< void()> waitFunctor, MPI_Comm communicator)
Alternative to the other send() where I trigger a non-blocking send an then invoke the functor until ...
static void receive(peano4::stacks::tests::GeneratedTestObject_Flattened &buffer, int source, int tag, MPI_Comm communicator)
static void freeForkDatatype()
GeneratedTestObject_Flattened(const GeneratedTestObject_Flattened ©)=default
static void freeJoinDatatype()
int getSenderRank() const
static void receive(peano4::stacks::tests::GeneratedTestObject_Flattened &buffer, int source, int tag, std::function< void()> startCommunicationFunctor, std::function< void()> waitFunctor, MPI_Comm communicator)
double getData(int index) const
tarch::la::Vector< 256, double > _data