#include <MPIDefaultAllToAllCommunicator.h>
Public Member Functions | |
MPIDefaultAllToAllCommunicator (MPIInputBufferVector &mpiInputBuffers, MPIOutputBufferVector &mpiOutputBuffers, MPI::Intracomm &comm, vector< bool > &incomingConnections, vector< bool > &outgoingConnections) | |
Constructor. | |
virtual | ~MPIDefaultAllToAllCommunicator () |
virtual void | doExchangeAlgorithm () |
The actual implementation of the exchange algorithm. | |
virtual void | prepare () |
Setup of the needstosend and needstoreceive flags at the beginning of the all-to-all exchange procedure. |
Definition at line 9 of file MPIDefaultAllToAllCommunicator.h.
MPIDefaultAllToAllCommunicator::MPIDefaultAllToAllCommunicator | ( | MPIInputBufferVector & | mpiInputBuffers, | |
MPIOutputBufferVector & | mpiOutputBuffers, | |||
MPI::Intracomm & | comm, | |||
vector< bool > & | incomingConnections, | |||
vector< bool > & | outgoingConnections | |||
) |
Constructor.
Definition at line 13 of file MPIDefaultAllToAllCommunicator.cpp.
References MPIAllToAllCommunicator::needsToReceive, and MPIAllToAllCommunicator::needsToSend.
virtual MPIDefaultAllToAllCommunicator::~MPIDefaultAllToAllCommunicator | ( | ) | [inline, virtual] |
Definition at line 19 of file MPIDefaultAllToAllCommunicator.h.
void MPIDefaultAllToAllCommunicator::doExchangeAlgorithm | ( | ) | [virtual] |
The actual implementation of the exchange algorithm.
It just invokes the Alltoallv function with proper arguments.
Implements MPIAllToAllCommunicator.
Definition at line 36 of file MPIDefaultAllToAllCommunicator.cpp.
References MPIExchangeBlocksInfo::counts, MPIExchangeBlocksInfo::datatypes, MPIExchangeBlocksInfo::displs, MPIInputBufferVector::getBaseBufferPtr(), MPIOutputBufferVector::getBaseBufferPtr(), MPIOutputBufferVector::getMPIExchangeBlocksInfo(), MPIInputBufferVector::getMPIExchangeBlocksInfo(), MPIAllToAllCommunicator::hasNextToSend, MPIAllToAllCommunicator::inputBuffers, MPIAllToAllCommunicator::mpi_comm, MPIAllToAllCommunicator::outputBuffers, and MPIOutputBufferVector::setFinishedFlag().
void MPIDefaultAllToAllCommunicator::prepare | ( | ) | [virtual] |
Setup of the needstosend and needstoreceive flags at the beginning of the all-to-all exchange procedure.
Implements MPIAllToAllCommunicator.
Definition at line 25 of file MPIDefaultAllToAllCommunicator.cpp.
References MPIAllToAllCommunicator::hasNextToSend, MPIAllToAllCommunicator::mpi_comm, MPIAllToAllCommunicator::needsToReceive, and MPIAllToAllCommunicator::needsToSend.