Go to the documentation of this file.
18 #ifndef __LIB_LIBMPI_MPITARGET_H
19 #define __LIB_LIBMPI_MPITARGET_H
static const Size MaximumChannels
Maximum number of communication channels.
Result initializeSlave(int *argc, char ***argv)
Initialize a slave.
uint MPI_Comm
Communicator identifier.
virtual Result getCommRank(MPI_Comm comm, int *rank)
Retrieve communication rank (core id)
Index< MemoryChannel, MaximumChannels > m_readChannels
Stores all channels for receiving data from other cores.
unsigned long Address
A memory address.
Result createWriteChannel(const Size coreId, const Address memoryBase)
Create a new MPI channel for writing.
Size m_coreId
Core identifier is a unique number on each core.
Size m_coreCount
Total number of cores.
uint MPI_Status
Status holder.
Memory::Range m_memChannelBase
Memory base address for local MPI communication.
Result initializeMaster(int *argc, char ***argv)
Initialize the master.
Result createReadChannel(const Size coreId, const Address memoryBase)
Create a new MPI channel for reading.
unsigned int Size
Any sane size indicator cannot go negative.
MPI_Datatype
Named Predefined Datatypes.
Address getMemoryBaseWrite(const Size coreId) const
Get memory address for MPI write communication.
virtual Result getCommSize(MPI_Comm comm, int *size)
Retrieve communication size (total cores)
virtual Result terminate()
Terminate the backend.
Represents a Message Passing Interface (MPI) implementation backend.
virtual Result initialize(int *argc, char ***argv)
Initialize the backend.
Index< MemoryChannel, MaximumChannels > m_writeChannels
Stores all channels for sending data to other cores.
Address getMemoryBaseRead(const Size coreId) const
Get memory address for MPI read communication.
virtual Result receive(void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status)
Synchronous receive data.
Implements a Message Passing Interface (MPI) for communication between local cores.
virtual Result send(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
Synchronous send data.