#include <MPISynchroShuffleAllToAllComm.h>
Public Member Functions | |
MPISynchroShuffleAllToAllComm (MPIInputBufferVector &mpiInputBuffers, MPIOutputBufferVector &mpiOutputBuffers, MPI::Intracomm &comm, vector< bool > &incomingConnections, vector< bool > &outgoingConnections) | |
Constructor. | |
virtual | ~MPISynchroShuffleAllToAllComm () |
virtual void | doExchangeAlgorithm () |
Performs the mpi all-to-all exchange with synchronuous shuffle algorithm. | |
virtual void | prepare () |
Setup of the needstosend and needstoreceive flags at the beginning of the all-to-all exchange procedure. |
References:
[1] A.T.C. Tam and C.L. Wang, Efficient Scheduling of Complete Exchange on Clusters, The 13th International Conference on Parallel and Distributed Computing Systems (PDCS 2000), Las Vegas, USA, Aug 2000
Definition at line 19 of file MPISynchroShuffleAllToAllComm.h.
MPISynchroShuffleAllToAllComm::MPISynchroShuffleAllToAllComm | ( | MPIInputBufferVector & | mpiInputBuffers, | |
MPIOutputBufferVector & | mpiOutputBuffers, | |||
MPI::Intracomm & | comm, | |||
vector< bool > & | incomingConnections, | |||
vector< bool > & | outgoingConnections | |||
) |
Constructor.
Definition at line 7 of file MPISynchroShuffleAllToAllComm.cpp.
References MPIAllToAllCommunicator::needsToReceive, MPIAllToAllCommunicator::needsToSend, and MPIAllToAllCommunicator::numNodes.
MPISynchroShuffleAllToAllComm::~MPISynchroShuffleAllToAllComm | ( | ) | [virtual] |
Definition at line 20 of file MPISynchroShuffleAllToAllComm.cpp.
void MPISynchroShuffleAllToAllComm::doExchangeAlgorithm | ( | ) | [virtual] |
Performs the mpi all-to-all exchange with synchronuous shuffle algorithm.
Implements MPIAllToAllCommunicator.
Definition at line 30 of file MPISynchroShuffleAllToAllComm.cpp.
References MPIExchangeBlocksInfo::buffers, MPIExchangeBlocksInfo::counts, MPIExchangeBlocksInfo::datatypes, MPIOutputBufferVector::getMPIExchangeBlocksInfo(), MPIInputBufferVector::getMPIExchangeBlocksInfo(), MPIAllToAllCommunicator::hasNextToSend, MPIAllToAllCommunicator::inputBuffers, MPIAllToAllCommunicator::mpi_comm, MPIAllToAllCommunicator::needsToReceive, MPIAllToAllCommunicator::needsToSend, MPIAllToAllCommunicator::numNodes, MPIAllToAllCommunicator::outputBuffers, and MPIOutputBufferVector::setFinishedFlag().
void MPISynchroShuffleAllToAllComm::prepare | ( | ) | [virtual] |
Setup of the needstosend and needstoreceive flags at the beginning of the all-to-all exchange procedure.
Implements MPIAllToAllCommunicator.
Definition at line 23 of file MPISynchroShuffleAllToAllComm.cpp.
References MPIAllToAllCommunicator::hasNextToSend, MPIAllToAllCommunicator::incoming_connections, MPIAllToAllCommunicator::needsToReceive, MPIAllToAllCommunicator::needsToSend, and MPIAllToAllCommunicator::outgoing_connections.