23 struct TreeManagementMessage;
51 [[clang::map_mpi_datatype]]
54 [[clang::map_mpi_datatype]]
57 [[clang::map_mpi_datatype]]
60 [[clang::map_mpi_datatype]]
63 [[clang::map_mpi_datatype]]
66 [[clang::map_mpi_datatype]]
69 [[clang::map_mpi_datatype]]
72 [[clang::map_mpi_datatype]]
75 [[clang::map_mpi_datatype]]
78 [[clang::map_mpi_datatype]]
143 #if !defined(__MPI_ATTRIBUTES_LANGUAGE_EXTENSION__)
static Rank & getInstance()
This operation returns the singleton instance.
The parallel namespace is Peano's core abstracts from both MPI and multicore parallelisation.
static MPI_Datatype getJoinDatatype()
static void freeGlobalCommunciationDatatype()
static MPI_Datatype getMultiscaleDataExchangeDatatype()
peano4::parallel::TreeManagementMessage::Action getAction() const
static void send(const peano4::parallel::TreeManagementMessage &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.
static void shutdownDatatype()
Free the underlying MPI datatype.
void setMasterSpacetreeId(int value)
static void freeMultiscaleDataExchangeDatatype()
int getWorkerSpacetreeId() const
static void freeBoundaryExchangeDatatype()
static MPI_Datatype Datatype
Whenever we use LLVM's MPI extension (DaStGe), we rely on lazy initialisation of the datatype.
TreeManagementMessage(const TreeManagementMessage ©)=default
std::string toString() const
void setWorkerSpacetreeId(int value)
static void sendAndPollDanglingMessages(const peano4::parallel::TreeManagementMessage &message, int destination, int tag, MPI_Comm communicator=tarch::mpi::Rank::getInstance().getCommunicator())
void setAction(Action value)
int _senderDestinationRank
static void freeJoinDatatype()
@ RemoveChildTreeFromBooksAsChildBecameEmpty
int getMasterSpacetreeId() const
static void receiveAndPollDanglingMessages(peano4::parallel::TreeManagementMessage &message, int source, int tag, MPI_Comm communicator=tarch::mpi::Rank::getInstance().getCommunicator())
TreeManagementMessage(ObjectConstruction)
int getSenderRank() const
static MPI_Datatype getForkDatatype()
Hands out MPI datatype if we work without the LLVM MPI extension.
static MPI_Datatype getGlobalCommunciationDatatype()
static void receive(peano4::parallel::TreeManagementMessage &buffer, int source, int tag, MPI_Comm communicator)
static void freeForkDatatype()
static void initDatatype()
Wrapper around getDatatype() to trigger lazy evaluation if we use the lazy initialisation.
static MPI_Datatype getBoundaryExchangeDatatype()