![]() |
OpenLB 1.8.1
|
Wrapper functions that simplify the use of MPI. More...
#include <mpiManager.h>
Collaboration diagram for olb::singleton::MpiManager:Public Member Functions | |
| void | init (int *argc, char ***argv, bool verbose=true) |
| Initializes the mpi manager. | |
| int | getSize () const |
| Returns the number of processes. | |
| int | getRank () const |
| Returns the process ID. | |
| int | bossId () const |
| Returns process ID of main processor. | |
| bool | isMainProcessor () const |
| Tells whether current processor is main processor. | |
| double | getTime () const |
| Returns universal MPI-time in seconds. | |
| void | barrier (MPI_Comm comm=MPI_COMM_WORLD) |
| Synchronizes the processes. | |
| void | synchronizeIO (unsigned tDelay=100, MPI_Comm comm=MPI_COMM_WORLD) |
| Synchronizes the processes and wait to ensure correct cout order. | |
| template<typename T > | |
| void | send (T *buf, int count, int dest, int tag=0, MPI_Comm comm=MPI_COMM_WORLD) |
| Sends data at *buf, blocking. | |
| template<typename T , unsigned DIM> | |
| void | send (util::ADf< T, DIM > *buf, int count, int dest, int tag=0, MPI_Comm comm=MPI_COMM_WORLD) |
| template<typename... args> | |
| void | send (std::vector< args... > &vec, int dest, int tag=0, MPI_Comm comm=MPI_COMM_WORLD) |
| template<class T , std::size_t N> | |
| void | send (std::array< T, N > &array, int dest, int tag=0, MPI_Comm comm=MPI_COMM_WORLD) |
| template<typename T > | |
| void | sendInit (T *buf, int count, int dest, MPI_Request *request, int tag=0, MPI_Comm comm=MPI_COMM_WORLD) |
| Initialize persistent non-blocking send. | |
| template<typename T , unsigned DIM> | |
| void | sendInit (util::ADf< T, DIM > *buf, int count, int dest, MPI_Request *request, int tag=0, MPI_Comm comm=MPI_COMM_WORLD) |
| template<typename T > | |
| void | iSend (T *buf, int count, int dest, MPI_Request *request, int tag=0, MPI_Comm comm=MPI_COMM_WORLD) |
| Sends data at *buf, non blocking. | |
| template<typename T , unsigned DIM> | |
| void | iSend (util::ADf< T, DIM > *buf, int count, int dest, MPI_Request *request, int tag=0, MPI_Comm comm=MPI_COMM_WORLD) |
| template<typename T > | |
| void | ibSend (T *buf, int count, int dest, MPI_Request *request, int tag=0, MPI_Comm comm=MPI_COMM_WORLD) |
| Sends data at *buf, non blocking and buffered. | |
| template<typename T , unsigned DIM> | |
| void | ibSend (util::ADf< T, DIM > *buf, int count, int dest, MPI_Request *request, int tag=0, MPI_Comm comm=MPI_COMM_WORLD) |
| std::size_t | probeReceiveSize (int source, MPI_Datatype type, int tag=0, MPI_Comm comm=MPI_COMM_WORLD) |
| Probe size of incoming message. | |
| template<typename TYPE > | |
| std::size_t | probeReceiveSize (int source, int tag=0, MPI_Comm comm=MPI_COMM_WORLD) |
| Probe size of incoming message with TYPE. | |
| template<typename T > | |
| void | receive (T *buf, int count, int source, int tag=0, MPI_Comm comm=MPI_COMM_WORLD) |
| Receives data at *buf, blocking. | |
| template<typename T , unsigned DIM> | |
| void | receive (util::ADf< T, DIM > *buf, int count, int source, int tag=0, MPI_Comm comm=MPI_COMM_WORLD) |
| template<typename... args> | |
| void | receive (std::vector< args... > &vec, int source, int tag=0, MPI_Comm comm=MPI_COMM_WORLD) |
| template<class T , std::size_t N> | |
| void | receive (std::array< T, N > &array, int source, int tag=0, MPI_Comm comm=MPI_COMM_WORLD) |
| template<typename T > | |
| void | recvInit (T *buf, int count, int dest, MPI_Request *request, int tag=0, MPI_Comm comm=MPI_COMM_WORLD) |
| Initialize persistent non-blocking receive. | |
| template<typename T , unsigned DIM> | |
| void | recvInit (util::ADf< T, DIM > *buf, int count, int dest, MPI_Request *request, int tag=0, MPI_Comm comm=MPI_COMM_WORLD) |
| template<typename T > | |
| void | iRecv (T *buf, int count, int source, MPI_Request *request, int tag=0, MPI_Comm comm=MPI_COMM_WORLD) |
| Receives data at *buf, non blocking. | |
| template<typename T , unsigned DIM> | |
| void | iRecv (util::ADf< T, DIM > *buf, int count, int source, MPI_Request *request, int tag=0, MPI_Comm comm=MPI_COMM_WORLD) |
| template<typename T > | |
| void | sendRecv (T *sendBuf, T *recvBuf, int count, int dest, int source, int tag=0, MPI_Comm comm=MPI_COMM_WORLD) |
| Send and receive data between two partners. | |
| template<typename T , unsigned DIM> | |
| void | sendRecv (util::ADf< T, DIM > *sendBuf, util::ADf< T, DIM > *recvBuf, int count, int dest, int source, int tag=0, MPI_Comm comm=MPI_COMM_WORLD) |
| template<typename T > | |
| void | sendToMaster (T *sendBuf, int sendCount, bool iAmRoot, MPI_Comm comm=MPI_COMM_WORLD) |
| Sends data to master processor. | |
| template<typename T > | |
| void | scatterv (T *sendBuf, int *sendCounts, int *displs, T *recvBuf, int recvCount, int root=0, MPI_Comm comm=MPI_COMM_WORLD) |
| Scatter data from one processor over multiple processors. | |
| template<typename T > | |
| void | gather (T *sendBuf, int sendCount, T *recvBuf, int recvCount, int root=0, MPI_Comm comm=MPI_COMM_WORLD) |
| Gather data from multiple processors to one processor. | |
| template<typename T > | |
| void | allGather (T *sendBuf, int sendCount, T *recvBuf, int recvCount, MPI_Comm comm=MPI_COMM_WORLD) |
| Gather data from multiple processors to every processor. | |
| template<typename T > | |
| void | gatherv (T *sendBuf, int sendCount, T *recvBuf, int *recvCounts, int *displs, int root=0, MPI_Comm comm=MPI_COMM_WORLD) |
| Gather data from multiple processors to one processor. | |
| template<typename T > | |
| void | allGatherv (T *sendBuf, int sendCount, T *recvBuf, int *recvCounts, int *displs, MPI_Comm comm=MPI_COMM_WORLD) |
| Gather data from multiple processors to every processor. | |
| template<typename T > | |
| void | bCast (T *sendBuf, int sendCount, int root=0, MPI_Comm comm=MPI_COMM_WORLD) |
| Broadcast data from one processor to multiple processors. | |
| template<typename T , unsigned DIM> | |
| void | bCast (util::ADf< T, DIM > *sendBuf, int sendCount, int root=0, MPI_Comm comm=MPI_COMM_WORLD) |
| template<typename T , unsigned DIM> | |
| void | bCast (BlockData< 2, util::ADf< T, DIM >, util::ADf< T, DIM > > &sendData, int root=0, MPI_Comm comm=MPI_COMM_WORLD) |
| template<typename T > | |
| void | bCast (T &sendVal, int root=0, MPI_Comm comm=MPI_COMM_WORLD) |
| template<typename T , unsigned DIM> | |
| void | bCast (Vector< T, DIM > &sendData, int root=0, MPI_Comm comm=MPI_COMM_WORLD) |
| template<typename T > | |
| void | bCastThroughMaster (T *sendBuf, int sendCount, bool iAmRoot, MPI_Comm comm=MPI_COMM_WORLD) |
| Broadcast data when root is unknown to other processors. | |
| template<typename T , unsigned DIM> | |
| void | bCastThroughMaster (util::ADf< T, DIM > *sendBuf, int sendCount, bool iAmRoot, MPI_Comm comm=MPI_COMM_WORLD) |
| void | bCast (std::string &message, int root=0) |
| Special case for broadcasting strings. Memory handling is automatic. | |
| void | bCast (BlockData< 2, double, double > &sendData, int root=0, MPI_Comm comm=MPI_COMM_WORLD) |
| Special case for broadcasting BlockData2D. | |
| void | bCast (BlockData< 2, float, float > &sendData, int root=0, MPI_Comm comm=MPI_COMM_WORLD) |
| Special case for broadcasting BlockData2D. | |
| template<typename T > | |
| void | reduce (T &sendVal, T &recvVal, MPI_Op op, int root=0, MPI_Comm=MPI_COMM_WORLD) |
| Reduction operation toward one processor. | |
| template<typename T > | |
| void | reduce (T *sendVal, T *recvVal, int count, MPI_Op op, int root=0, MPI_Comm=MPI_COMM_WORLD) |
| template<typename T , unsigned DIM> | |
| void | reduce (util::ADf< T, DIM > &sendVal, util::ADf< T, DIM > &recvVal, MPI_Op op, int root=0, MPI_Comm=MPI_COMM_WORLD) |
| template<typename T , unsigned DIM> | |
| void | reduce (BlockData< 2, util::ADf< T, DIM >, util::ADf< T, DIM > > &sendVal, BlockData< 2, util::ADf< T, DIM >, util::ADf< T, DIM > > &recvVal, MPI_Op op, int root=0, MPI_Comm comm=MPI_COMM_WORLD) |
| template<typename T > | |
| void | reduceVect (std::vector< T > &sendVal, std::vector< T > &recvVal, MPI_Op op, int root=0, MPI_Comm comm=MPI_COMM_WORLD) |
| Element-per-element reduction of a vector of data. | |
| template<typename T > | |
| void | reduceAndBcast (T &reductVal, MPI_Op op, int root=0, MPI_Comm comm=MPI_COMM_WORLD) |
| Reduction operation, followed by a broadcast. | |
| template<typename T , unsigned DIM> | |
| void | reduceAndBcast (util::ADf< T, DIM > &reductVal, MPI_Op op, int root=0, MPI_Comm comm=MPI_COMM_WORLD) |
| template<typename T > | |
| void | allreduce (const T *in, T *out, int count, MPI_Op op, MPI_Comm comm=MPI_COMM_WORLD) |
| template<typename T > | |
| void | allReduce (T &reductVal, MPI_Op op, MPI_Comm comm=MPI_COMM_WORLD) |
| All reduction operation of a vector data. | |
| template<typename T > | |
| void | allReduceVect (std::vector< T > &reductVal, MPI_Op op, MPI_Comm comm=MPI_COMM_WORLD) |
| Element-per-element all-reduction of a vector of data (in-place) | |
| void | wait (MPI_Request *request, MPI_Status *status) |
| Complete a non-blocking MPI operation. | |
| void | waitAll (MpiNonBlockingHelper &mpiNbHelper) |
| Complete a series of non-blocking MPI operations. | |
| template<> | |
| void | send (bool *buf, int count, int dest, int tag, MPI_Comm comm) |
| template<> | |
| void | send (char *buf, int count, int dest, int tag, MPI_Comm comm) |
| template<> | |
| void | send (int *buf, int count, int dest, int tag, MPI_Comm comm) |
| template<> | |
| void | send (float *buf, int count, int dest, int tag, MPI_Comm comm) |
| template<> | |
| void | send (double *buf, int count, int dest, int tag, MPI_Comm comm) |
| template<> | |
| void | sendInit (double *buf, int count, int dest, MPI_Request *request, int tag, MPI_Comm comm) |
| template<> | |
| void | sendInit (int *buf, int count, int dest, MPI_Request *request, int tag, MPI_Comm comm) |
| template<> | |
| void | sendInit (bool *buf, int count, int dest, MPI_Request *request, int tag, MPI_Comm comm) |
| template<> | |
| void | iSend (bool *buf, int count, int dest, MPI_Request *request, int tag, MPI_Comm comm) |
| template<> | |
| void | iSend (char *buf, int count, int dest, MPI_Request *request, int tag, MPI_Comm comm) |
| template<> | |
| void | iSend (int *buf, int count, int dest, MPI_Request *request, int tag, MPI_Comm comm) |
| template<> | |
| void | iSend (float *buf, int count, int dest, MPI_Request *request, int tag, MPI_Comm comm) |
| template<> | |
| void | iSend (double *buf, int count, int dest, MPI_Request *request, int tag, MPI_Comm comm) |
| template<> | |
| void | iSend (long double *buf, int count, int dest, MPI_Request *request, int tag, MPI_Comm comm) |
| template<> | |
| void | ibSend (bool *buf, int count, int dest, MPI_Request *request, int tag, MPI_Comm comm) |
| template<> | |
| void | ibSend (char *buf, int count, int dest, MPI_Request *request, int tag, MPI_Comm comm) |
| template<> | |
| void | ibSend (int *buf, int count, int dest, MPI_Request *request, int tag, MPI_Comm comm) |
| template<> | |
| void | ibSend (float *buf, int count, int dest, MPI_Request *request, int tag, MPI_Comm comm) |
| template<> | |
| void | ibSend (double *buf, int count, int dest, MPI_Request *request, int tag, MPI_Comm comm) |
| template<> | |
| void | receive (bool *buf, int count, int source, int tag, MPI_Comm comm) |
| template<> | |
| void | receive (char *buf, int count, int source, int tag, MPI_Comm comm) |
| template<> | |
| void | receive (int *buf, int count, int source, int tag, MPI_Comm comm) |
| template<> | |
| void | receive (float *buf, int count, int source, int tag, MPI_Comm comm) |
| template<> | |
| void | receive (double *buf, int count, int source, int tag, MPI_Comm comm) |
| template<> | |
| void | receive (long double *buf, int count, int source, int tag, MPI_Comm comm) |
| template<> | |
| void | sendToMaster (bool *sendBuf, int sendCount, bool iAmRoot, MPI_Comm comm) |
| template<> | |
| void | sendToMaster (char *sendBuf, int sendCount, bool iAmRoot, MPI_Comm comm) |
| template<> | |
| void | sendToMaster (int *sendBuf, int sendCount, bool iAmRoot, MPI_Comm comm) |
| template<> | |
| void | sendToMaster (float *sendBuf, int sendCount, bool iAmRoot, MPI_Comm comm) |
| template<> | |
| void | sendToMaster (double *sendBuf, int sendCount, bool iAmRoot, MPI_Comm comm) |
| template<> | |
| void | recvInit (double *buf, int count, int dest, MPI_Request *request, int tag, MPI_Comm comm) |
| template<> | |
| void | recvInit (int *buf, int count, int dest, MPI_Request *request, int tag, MPI_Comm comm) |
| template<> | |
| void | iRecv (bool *buf, int count, int source, MPI_Request *request, int tag, MPI_Comm comm) |
| template<> | |
| void | iRecv (char *buf, int count, int source, MPI_Request *request, int tag, MPI_Comm comm) |
| template<> | |
| void | iRecv (int *buf, int count, int source, MPI_Request *request, int tag, MPI_Comm comm) |
| template<> | |
| void | iRecv (float *buf, int count, int source, MPI_Request *request, int tag, MPI_Comm comm) |
| template<> | |
| void | iRecv (double *buf, int count, int source, MPI_Request *request, int tag, MPI_Comm comm) |
| template<> | |
| void | sendRecv (bool *sendBuf, bool *recvBuf, int count, int dest, int source, int tag, MPI_Comm comm) |
| template<> | |
| void | sendRecv (char *sendBuf, char *recvBuf, int count, int dest, int source, int tag, MPI_Comm comm) |
| template<> | |
| void | sendRecv (int *sendBuf, int *recvBuf, int count, int dest, int source, int tag, MPI_Comm comm) |
| template<> | |
| void | sendRecv (float *sendBuf, float *recvBuf, int count, int dest, int source, int tag, MPI_Comm comm) |
| template<> | |
| void | sendRecv (long *sendBuf, long *recvBuf, int count, int dest, int source, int tag, MPI_Comm comm) |
| template<> | |
| void | sendRecv (double *sendBuf, double *recvBuf, int count, int dest, int source, int tag, MPI_Comm comm) |
| template<> | |
| void | sendRecv (long double *sendBuf, long double *recvBuf, int count, int dest, int source, int tag, MPI_Comm comm) |
| template<> | |
| void | scatterv (bool *sendBuf, int *sendCounts, int *displs, bool *recvBuf, int recvCount, int root, MPI_Comm comm) |
| template<> | |
| void | scatterv (char *sendBuf, int *sendCounts, int *displs, char *recvBuf, int recvCount, int root, MPI_Comm comm) |
| template<> | |
| void | scatterv (int *sendBuf, int *sendCounts, int *displs, int *recvBuf, int recvCount, int root, MPI_Comm comm) |
| template<> | |
| void | scatterv (float *sendBuf, int *sendCounts, int *displs, float *recvBuf, int recvCount, int root, MPI_Comm comm) |
| template<> | |
| void | scatterv (double *sendBuf, int *sendCounts, int *displs, double *recvBuf, int recvCount, int root, MPI_Comm comm) |
| template<> | |
| void | gather (int *sendBuf, int sendCount, int *recvBuf, int recvCount, int root, MPI_Comm comm) |
| template<> | |
| void | allGather (bool *sendBuf, int sendCount, bool *recvBuf, int recvCount, MPI_Comm comm) |
| template<> | |
| void | allGather (char *sendBuf, int sendCount, char *recvBuf, int recvCount, MPI_Comm comm) |
| template<> | |
| void | allGather (int *sendBuf, int sendCount, int *recvBuf, int recvCount, MPI_Comm comm) |
| template<> | |
| void | allGather (float *sendBuf, int sendCount, float *recvBuf, int recvCount, MPI_Comm comm) |
| template<> | |
| void | allGather (double *sendBuf, int sendCount, double *recvBuf, int recvCount, MPI_Comm comm) |
| template<> | |
| void | gatherv (bool *sendBuf, int sendCount, bool *recvBuf, int *recvCounts, int *displs, int root, MPI_Comm comm) |
| template<> | |
| void | gatherv (char *sendBuf, int sendCount, char *recvBuf, int *recvCounts, int *displs, int root, MPI_Comm comm) |
| template<> | |
| void | gatherv (int *sendBuf, int sendCount, int *recvBuf, int *recvCounts, int *displs, int root, MPI_Comm comm) |
| template<> | |
| void | gatherv (float *sendBuf, int sendCount, float *recvBuf, int *recvCounts, int *displs, int root, MPI_Comm comm) |
| template<> | |
| void | gatherv (double *sendBuf, int sendCount, double *recvBuf, int *recvCounts, int *displs, int root, MPI_Comm comm) |
| template<> | |
| void | allGatherv (bool *sendBuf, int sendCount, bool *recvBuf, int *recvCounts, int *displs, MPI_Comm comm) |
| template<> | |
| void | allGatherv (char *sendBuf, int sendCount, char *recvBuf, int *recvCounts, int *displs, MPI_Comm comm) |
| template<> | |
| void | allGatherv (int *sendBuf, int sendCount, int *recvBuf, int *recvCounts, int *displs, MPI_Comm comm) |
| template<> | |
| void | allGatherv (float *sendBuf, int sendCount, float *recvBuf, int *recvCounts, int *displs, MPI_Comm comm) |
| template<> | |
| void | allGatherv (double *sendBuf, int sendCount, double *recvBuf, int *recvCounts, int *displs, MPI_Comm comm) |
| template<> | |
| void | bCast (bool *sendBuf, int sendCount, int root, MPI_Comm comm) |
| template<> | |
| void | bCast (char *sendBuf, int sendCount, int root, MPI_Comm comm) |
| template<> | |
| void | bCast (unsigned char *sendBuf, int sendCount, int root, MPI_Comm comm) |
| template<> | |
| void | bCast (int *sendBuf, int sendCount, int root, MPI_Comm comm) |
| template<> | |
| void | bCast (unsigned long *sendBuf, int sendCount, int root, MPI_Comm comm) |
| template<> | |
| void | bCast (float *sendBuf, int sendCount, int root, MPI_Comm comm) |
| template<> | |
| void | bCast (double *sendBuf, int sendCount, int root, MPI_Comm comm) |
| template<> | |
| void | bCast (bool &sendVal, int root, MPI_Comm comm) |
| template<> | |
| void | bCast (char &sendVal, int root, MPI_Comm comm) |
| template<> | |
| void | bCast (unsigned char &sendVal, int root, MPI_Comm comm) |
| template<> | |
| void | bCast (int &sendVal, int root, MPI_Comm comm) |
| template<> | |
| void | bCast (unsigned long &sendVal, int root, MPI_Comm comm) |
| template<> | |
| void | bCast (float &sendVal, int root, MPI_Comm comm) |
| template<> | |
| void | bCast (double &sendVal, int root, MPI_Comm comm) |
| template<> | |
| void | bCastThroughMaster (bool *sendBuf, int sendCount, bool iAmRoot, MPI_Comm comm) |
| template<> | |
| void | bCastThroughMaster (char *sendBuf, int sendCount, bool iAmRoot, MPI_Comm comm) |
| template<> | |
| void | bCastThroughMaster (int *sendBuf, int sendCount, bool iAmRoot, MPI_Comm comm) |
| template<> | |
| void | bCastThroughMaster (float *sendBuf, int sendCount, bool iAmRoot, MPI_Comm comm) |
| template<> | |
| void | bCastThroughMaster (double *sendBuf, int sendCount, bool iAmRoot, MPI_Comm comm) |
| template<> | |
| void | reduce (bool &sendVal, bool &recvVal, MPI_Op op, int root, MPI_Comm comm) |
| template<> | |
| void | reduce (char &sendVal, char &recvVal, MPI_Op op, int root, MPI_Comm comm) |
| template<> | |
| void | reduce (int &sendVal, int &recvVal, MPI_Op op, int root, MPI_Comm comm) |
| template<> | |
| void | reduce (float &sendVal, float &recvVal, MPI_Op op, int root, MPI_Comm comm) |
| template<> | |
| void | reduce (float *sendVal, float *recvVal, int count, MPI_Op op, int root, MPI_Comm comm) |
| template<> | |
| void | reduce (double &sendVal, double &recvVal, MPI_Op op, int root, MPI_Comm comm) |
| template<> | |
| void | reduceVect (std::vector< char > &sendVal, std::vector< char > &recvVal, MPI_Op op, int root, MPI_Comm comm) |
| template<> | |
| void | reduceVect (std::vector< int > &sendVal, std::vector< int > &recvVal, MPI_Op op, int root, MPI_Comm comm) |
| template<> | |
| void | reduceVect (std::vector< float > &sendVal, std::vector< float > &recvVal, MPI_Op op, int root, MPI_Comm comm) |
| template<> | |
| void | reduceVect (std::vector< double > &sendVal, std::vector< double > &recvVal, MPI_Op op, int root, MPI_Comm comm) |
| template<> | |
| void | reduceAndBcast (bool &reductVal, MPI_Op op, int root, MPI_Comm comm) |
| template<> | |
| void | reduceAndBcast (char &reductVal, MPI_Op op, int root, MPI_Comm comm) |
| template<> | |
| void | reduceAndBcast (int &reductVal, MPI_Op op, int root, MPI_Comm comm) |
| template<> | |
| void | reduceAndBcast (float &reductVal, MPI_Op op, int root, MPI_Comm comm) |
| template<> | |
| void | reduceAndBcast (double &reductVal, MPI_Op op, int root, MPI_Comm comm) |
| template<> | |
| void | reduceAndBcast (long double &reductVal, MPI_Op op, int root, MPI_Comm comm) |
| template<> | |
| void | reduceAndBcast (long &reductVal, MPI_Op op, int root, MPI_Comm comm) |
| template<> | |
| void | reduceAndBcast (unsigned long &reductVal, MPI_Op op, int root, MPI_Comm comm) |
| template<> | |
| void | allreduce (const float *in, float *out, int count, MPI_Op op, MPI_Comm comm) |
| template<> | |
| void | allreduce (const double *in, double *out, int count, MPI_Op op, MPI_Comm comm) |
| template<> | |
| void | allreduce (const unsigned *in, unsigned *out, int count, MPI_Op op, MPI_Comm comm) |
| template<> | |
| void | allreduce (const int *in, int *out, int count, MPI_Op op, MPI_Comm comm) |
| template<> | |
| void | allReduce (bool &reductVal, MPI_Op op, MPI_Comm comm) |
| template<> | |
| void | allReduce (char &reductVal, MPI_Op op, MPI_Comm comm) |
| template<> | |
| void | allReduce (int &reductVal, MPI_Op op, MPI_Comm comm) |
| template<> | |
| void | allReduce (float &reductVal, MPI_Op op, MPI_Comm comm) |
| template<> | |
| void | allReduce (double &reductVal, MPI_Op op, MPI_Comm comm) |
| template<> | |
| void | allReduce (long double &reductVal, MPI_Op op, MPI_Comm comm) |
| template<> | |
| void | allReduceVect (std::vector< char > &reductVal, MPI_Op op, MPI_Comm comm) |
| template<> | |
| void | allReduceVect (std::vector< int > &reductVal, MPI_Op op, MPI_Comm comm) |
| template<> | |
| void | allReduceVect (std::vector< float > &reductVal, MPI_Op op, MPI_Comm comm) |
| template<> | |
| void | allReduceVect (std::vector< double > &reductVal, MPI_Op op, MPI_Comm comm) |
| template<> | |
| void | allReduceVect (std::vector< long double > &reductVal, MPI_Op op, MPI_Comm comm) |
| template<> | |
| void | reduce (BlockData< 2, double, int > &sendVal, BlockData< 2, double, int > &recvVal, MPI_Op op, int root, MPI_Comm comm) |
| template<> | |
| void | reduce (BlockData< 2, double, double > &sendVal, BlockData< 2, double, double > &recvVal, MPI_Op op, int root, MPI_Comm comm) |
| template<> | |
| void | reduce (BlockData< 2, float, float > &sendVal, BlockData< 2, float, float > &recvVal, MPI_Op op, int root, MPI_Comm comm) |
Friends | |
| MpiManager & | mpi () |
Wrapper functions that simplify the use of MPI.
Definition at line 90 of file mpiManager.h.
| void olb::singleton::MpiManager::allGather | ( | bool * | sendBuf, |
| int | sendCount, | ||
| bool * | recvBuf, | ||
| int | recvCount, | ||
| MPI_Comm | comm ) |
Definition at line 779 of file mpiManager.cpp.
| void olb::singleton::MpiManager::allGather | ( | char * | sendBuf, |
| int | sendCount, | ||
| char * | recvBuf, | ||
| int | recvCount, | ||
| MPI_Comm | comm ) |
Definition at line 792 of file mpiManager.cpp.
| void olb::singleton::MpiManager::allGather | ( | double * | sendBuf, |
| int | sendCount, | ||
| double * | recvBuf, | ||
| int | recvCount, | ||
| MPI_Comm | comm ) |
Definition at line 831 of file mpiManager.cpp.
| void olb::singleton::MpiManager::allGather | ( | float * | sendBuf, |
| int | sendCount, | ||
| float * | recvBuf, | ||
| int | recvCount, | ||
| MPI_Comm | comm ) |
Definition at line 818 of file mpiManager.cpp.
| void olb::singleton::MpiManager::allGather | ( | int * | sendBuf, |
| int | sendCount, | ||
| int * | recvBuf, | ||
| int | recvCount, | ||
| MPI_Comm | comm ) |
Definition at line 805 of file mpiManager.cpp.
| void olb::singleton::MpiManager::allGather | ( | T * | sendBuf, |
| int | sendCount, | ||
| T * | recvBuf, | ||
| int | recvCount, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Gather data from multiple processors to every processor.
| void olb::singleton::MpiManager::allGatherv | ( | bool * | sendBuf, |
| int | sendCount, | ||
| bool * | recvBuf, | ||
| int * | recvCounts, | ||
| int * | displs, | ||
| MPI_Comm | comm ) |
Definition at line 963 of file mpiManager.cpp.
| void olb::singleton::MpiManager::allGatherv | ( | char * | sendBuf, |
| int | sendCount, | ||
| char * | recvBuf, | ||
| int * | recvCounts, | ||
| int * | displs, | ||
| MPI_Comm | comm ) |
Definition at line 976 of file mpiManager.cpp.
| void olb::singleton::MpiManager::allGatherv | ( | double * | sendBuf, |
| int | sendCount, | ||
| double * | recvBuf, | ||
| int * | recvCounts, | ||
| int * | displs, | ||
| MPI_Comm | comm ) |
Definition at line 1015 of file mpiManager.cpp.
| void olb::singleton::MpiManager::allGatherv | ( | float * | sendBuf, |
| int | sendCount, | ||
| float * | recvBuf, | ||
| int * | recvCounts, | ||
| int * | displs, | ||
| MPI_Comm | comm ) |
Definition at line 1002 of file mpiManager.cpp.
| void olb::singleton::MpiManager::allGatherv | ( | int * | sendBuf, |
| int | sendCount, | ||
| int * | recvBuf, | ||
| int * | recvCounts, | ||
| int * | displs, | ||
| MPI_Comm | comm ) |
Definition at line 989 of file mpiManager.cpp.
| void olb::singleton::MpiManager::allGatherv | ( | T * | sendBuf, |
| int | sendCount, | ||
| T * | recvBuf, | ||
| int * | recvCounts, | ||
| int * | displs, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Gather data from multiple processors to every processor.
| void olb::singleton::MpiManager::allReduce | ( | bool & | reductVal, |
| MPI_Op | op, | ||
| MPI_Comm | comm ) |
Definition at line 1552 of file mpiManager.cpp.
| void olb::singleton::MpiManager::allReduce | ( | char & | reductVal, |
| MPI_Op | op, | ||
| MPI_Comm | comm ) |
Definition at line 1563 of file mpiManager.cpp.
| void olb::singleton::MpiManager::allReduce | ( | double & | reductVal, |
| MPI_Op | op, | ||
| MPI_Comm | comm ) |
Definition at line 1596 of file mpiManager.cpp.
| void olb::singleton::MpiManager::allReduce | ( | float & | reductVal, |
| MPI_Op | op, | ||
| MPI_Comm | comm ) |
Definition at line 1585 of file mpiManager.cpp.
| void olb::singleton::MpiManager::allReduce | ( | int & | reductVal, |
| MPI_Op | op, | ||
| MPI_Comm | comm ) |
Definition at line 1574 of file mpiManager.cpp.
| void olb::singleton::MpiManager::allReduce | ( | long double & | reductVal, |
| MPI_Op | op, | ||
| MPI_Comm | comm ) |
Definition at line 1607 of file mpiManager.cpp.
| void olb::singleton::MpiManager::allReduce | ( | T & | reductVal, |
| MPI_Op | op, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
All reduction operation of a vector data.
| void olb::singleton::MpiManager::allreduce | ( | const double * | in, |
| double * | out, | ||
| int | count, | ||
| MPI_Op | op, | ||
| MPI_Comm | comm ) |
Definition at line 1525 of file mpiManager.cpp.
| void olb::singleton::MpiManager::allreduce | ( | const float * | in, |
| float * | out, | ||
| int | count, | ||
| MPI_Op | op, | ||
| MPI_Comm | comm ) |
Definition at line 1516 of file mpiManager.cpp.
| void olb::singleton::MpiManager::allreduce | ( | const int * | in, |
| int * | out, | ||
| int | count, | ||
| MPI_Op | op, | ||
| MPI_Comm | comm ) |
Definition at line 1543 of file mpiManager.cpp.
| void olb::singleton::MpiManager::allreduce | ( | const T * | in, |
| T * | out, | ||
| int | count, | ||
| MPI_Op | op, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Here is the caller graph for this function:| void olb::singleton::MpiManager::allreduce | ( | const unsigned * | in, |
| unsigned * | out, | ||
| int | count, | ||
| MPI_Op | op, | ||
| MPI_Comm | comm ) |
Definition at line 1534 of file mpiManager.cpp.
| void olb::singleton::MpiManager::allReduceVect | ( | std::vector< char > & | reductVal, |
| MPI_Op | op, | ||
| MPI_Comm | comm ) |
Definition at line 1653 of file mpiManager.cpp.
| void olb::singleton::MpiManager::allReduceVect | ( | std::vector< double > & | reductVal, |
| MPI_Op | op, | ||
| MPI_Comm | comm ) |
Definition at line 1680 of file mpiManager.cpp.
| void olb::singleton::MpiManager::allReduceVect | ( | std::vector< float > & | reductVal, |
| MPI_Op | op, | ||
| MPI_Comm | comm ) |
Definition at line 1671 of file mpiManager.cpp.
| void olb::singleton::MpiManager::allReduceVect | ( | std::vector< int > & | reductVal, |
| MPI_Op | op, | ||
| MPI_Comm | comm ) |
Definition at line 1662 of file mpiManager.cpp.
| void olb::singleton::MpiManager::allReduceVect | ( | std::vector< long double > & | reductVal, |
| MPI_Op | op, | ||
| MPI_Comm | comm ) |
Definition at line 1689 of file mpiManager.cpp.
| void olb::singleton::MpiManager::allReduceVect | ( | std::vector< T > & | reductVal, |
| MPI_Op | op, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Element-per-element all-reduction of a vector of data (in-place)
| void olb::singleton::MpiManager::barrier | ( | MPI_Comm | comm = MPI_COMM_WORLD | ) |
Synchronizes the processes.
Definition at line 93 of file mpiManager.cpp.
Here is the caller graph for this function:| void olb::singleton::MpiManager::bCast | ( | BlockData< 2, double, double > & | sendData, |
| int | root = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Special case for broadcasting BlockData2D.
Definition at line 152 of file blockData.hh.
References olb::BlockData< D, T, U >::getColumn(), olb::BlockStructureD< D >::getNcells(), and olb::BlockData< D, T, U >::getSize().
Here is the call graph for this function:| void olb::singleton::MpiManager::bCast | ( | BlockData< 2, float, float > & | sendData, |
| int | root = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Special case for broadcasting BlockData2D.
Definition at line 163 of file blockData.hh.
References olb::BlockData< D, T, U >::getColumn(), olb::BlockStructureD< D >::getNcells(), and olb::BlockData< D, T, U >::getSize().
Here is the call graph for this function:| void olb::singleton::MpiManager::bCast | ( | BlockData< 2, util::ADf< T, DIM >, util::ADf< T, DIM > > & | sendData, |
| int | root = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Definition at line 134 of file mpiManagerAD.hh.
| void olb::singleton::MpiManager::bCast | ( | bool & | sendVal, |
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1159 of file mpiManager.cpp.
| void olb::singleton::MpiManager::bCast | ( | bool * | sendBuf, |
| int | sendCount, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1069 of file mpiManager.cpp.
| void olb::singleton::MpiManager::bCast | ( | char & | sendVal, |
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1167 of file mpiManager.cpp.
| void olb::singleton::MpiManager::bCast | ( | char * | sendBuf, |
| int | sendCount, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1079 of file mpiManager.cpp.
| void olb::singleton::MpiManager::bCast | ( | double & | sendVal, |
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1212 of file mpiManager.cpp.
| void olb::singleton::MpiManager::bCast | ( | double * | sendBuf, |
| int | sendCount, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1129 of file mpiManager.cpp.
| void olb::singleton::MpiManager::bCast | ( | float & | sendVal, |
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1203 of file mpiManager.cpp.
| void olb::singleton::MpiManager::bCast | ( | float * | sendBuf, |
| int | sendCount, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1119 of file mpiManager.cpp.
| void olb::singleton::MpiManager::bCast | ( | int & | sendVal, |
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1185 of file mpiManager.cpp.
| void olb::singleton::MpiManager::bCast | ( | int * | sendBuf, |
| int | sendCount, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1099 of file mpiManager.cpp.
| void olb::singleton::MpiManager::bCast | ( | std::string & | message, |
| int | root = 0 ) |
Special case for broadcasting strings. Memory handling is automatic.
| void olb::singleton::MpiManager::bCast | ( | T & | sendVal, |
| int | root = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
| void olb::singleton::MpiManager::bCast | ( | T * | sendBuf, |
| int | sendCount, | ||
| int | root = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Broadcast data from one processor to multiple processors.
Here is the caller graph for this function:| void olb::singleton::MpiManager::bCast | ( | unsigned char & | sendVal, |
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1176 of file mpiManager.cpp.
| void olb::singleton::MpiManager::bCast | ( | unsigned char * | sendBuf, |
| int | sendCount, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1089 of file mpiManager.cpp.
| void olb::singleton::MpiManager::bCast | ( | unsigned long & | sendVal, |
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1194 of file mpiManager.cpp.
| void olb::singleton::MpiManager::bCast | ( | unsigned long * | sendBuf, |
| int | sendCount, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1109 of file mpiManager.cpp.
| void olb::singleton::MpiManager::bCast | ( | util::ADf< T, DIM > * | sendBuf, |
| int | sendCount, | ||
| int | root = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Definition at line 124 of file mpiManagerAD.hh.
|
inline |
Definition at line 218 of file mpiManager.h.
References bCast(), and olb::Vector< T, Size >::data().
Here is the call graph for this function:| void olb::singleton::MpiManager::bCastThroughMaster | ( | bool * | sendBuf, |
| int | sendCount, | ||
| bool | iAmRoot, | ||
| MPI_Comm | comm ) |
Definition at line 1221 of file mpiManager.cpp.
References bCast(), isMainProcessor(), receive(), and send().
Here is the call graph for this function:| void olb::singleton::MpiManager::bCastThroughMaster | ( | char * | sendBuf, |
| int | sendCount, | ||
| bool | iAmRoot, | ||
| MPI_Comm | comm ) |
Definition at line 1236 of file mpiManager.cpp.
References bCast(), isMainProcessor(), receive(), and send().
Here is the call graph for this function:| void olb::singleton::MpiManager::bCastThroughMaster | ( | double * | sendBuf, |
| int | sendCount, | ||
| bool | iAmRoot, | ||
| MPI_Comm | comm ) |
Definition at line 1281 of file mpiManager.cpp.
References bCast(), isMainProcessor(), receive(), and send().
Here is the call graph for this function:| void olb::singleton::MpiManager::bCastThroughMaster | ( | float * | sendBuf, |
| int | sendCount, | ||
| bool | iAmRoot, | ||
| MPI_Comm | comm ) |
Definition at line 1266 of file mpiManager.cpp.
References bCast(), isMainProcessor(), receive(), and send().
Here is the call graph for this function:| void olb::singleton::MpiManager::bCastThroughMaster | ( | int * | sendBuf, |
| int | sendCount, | ||
| bool | iAmRoot, | ||
| MPI_Comm | comm ) |
Definition at line 1251 of file mpiManager.cpp.
References bCast(), isMainProcessor(), receive(), and send().
Here is the call graph for this function:| void olb::singleton::MpiManager::bCastThroughMaster | ( | T * | sendBuf, |
| int | sendCount, | ||
| bool | iAmRoot, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Broadcast data when root is unknown to other processors.
| void olb::singleton::MpiManager::bCastThroughMaster | ( | util::ADf< T, DIM > * | sendBuf, |
| int | sendCount, | ||
| bool | iAmRoot, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Definition at line 188 of file mpiManagerAD.hh.
References bCast(), isMainProcessor(), receive(), and send().
Here is the call graph for this function:| int olb::singleton::MpiManager::bossId | ( | ) | const |
Returns process ID of main processor.
Definition at line 75 of file mpiManager.cpp.
Here is the caller graph for this function:| void olb::singleton::MpiManager::gather | ( | int * | sendBuf, |
| int | sendCount, | ||
| int * | recvBuf, | ||
| int | recvCount, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 766 of file mpiManager.cpp.
| void olb::singleton::MpiManager::gather | ( | T * | sendBuf, |
| int | sendCount, | ||
| T * | recvBuf, | ||
| int | recvCount, | ||
| int | root = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Gather data from multiple processors to one processor.
Here is the caller graph for this function:| void olb::singleton::MpiManager::gatherv | ( | bool * | sendBuf, |
| int | sendCount, | ||
| bool * | recvBuf, | ||
| int * | recvCounts, | ||
| int * | displs, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 885 of file mpiManager.cpp.
| void olb::singleton::MpiManager::gatherv | ( | char * | sendBuf, |
| int | sendCount, | ||
| char * | recvBuf, | ||
| int * | recvCounts, | ||
| int * | displs, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 898 of file mpiManager.cpp.
| void olb::singleton::MpiManager::gatherv | ( | double * | sendBuf, |
| int | sendCount, | ||
| double * | recvBuf, | ||
| int * | recvCounts, | ||
| int * | displs, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 937 of file mpiManager.cpp.
| void olb::singleton::MpiManager::gatherv | ( | float * | sendBuf, |
| int | sendCount, | ||
| float * | recvBuf, | ||
| int * | recvCounts, | ||
| int * | displs, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 924 of file mpiManager.cpp.
| void olb::singleton::MpiManager::gatherv | ( | int * | sendBuf, |
| int | sendCount, | ||
| int * | recvBuf, | ||
| int * | recvCounts, | ||
| int * | displs, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 911 of file mpiManager.cpp.
| void olb::singleton::MpiManager::gatherv | ( | T * | sendBuf, |
| int | sendCount, | ||
| T * | recvBuf, | ||
| int * | recvCounts, | ||
| int * | displs, | ||
| int | root = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Gather data from multiple processors to one processor.
Here is the caller graph for this function:| int olb::singleton::MpiManager::getRank | ( | ) | const |
Returns the process ID.
Definition at line 70 of file mpiManager.cpp.
Here is the caller graph for this function:| int olb::singleton::MpiManager::getSize | ( | ) | const |
Returns the number of processes.
Definition at line 65 of file mpiManager.cpp.
Here is the caller graph for this function:| double olb::singleton::MpiManager::getTime | ( | ) | const |
Returns universal MPI-time in seconds.
Definition at line 85 of file mpiManager.cpp.
| void olb::singleton::MpiManager::ibSend | ( | bool * | buf, |
| int | count, | ||
| int | dest, | ||
| MPI_Request * | request, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 292 of file mpiManager.cpp.
| void olb::singleton::MpiManager::ibSend | ( | char * | buf, |
| int | count, | ||
| int | dest, | ||
| MPI_Request * | request, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 301 of file mpiManager.cpp.
| void olb::singleton::MpiManager::ibSend | ( | double * | buf, |
| int | count, | ||
| int | dest, | ||
| MPI_Request * | request, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 328 of file mpiManager.cpp.
| void olb::singleton::MpiManager::ibSend | ( | float * | buf, |
| int | count, | ||
| int | dest, | ||
| MPI_Request * | request, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 319 of file mpiManager.cpp.
| void olb::singleton::MpiManager::ibSend | ( | int * | buf, |
| int | count, | ||
| int | dest, | ||
| MPI_Request * | request, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 310 of file mpiManager.cpp.
| void olb::singleton::MpiManager::ibSend | ( | T * | buf, |
| int | count, | ||
| int | dest, | ||
| MPI_Request * | request, | ||
| int | tag = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Sends data at *buf, non blocking and buffered.
| void olb::singleton::MpiManager::ibSend | ( | util::ADf< T, DIM > * | buf, |
| int | count, | ||
| int | dest, | ||
| MPI_Request * | request, | ||
| int | tag = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
| void olb::singleton::MpiManager::init | ( | int * | argc, |
| char *** | argv, | ||
| bool | verbose = true ) |
Initializes the mpi manager.
Definition at line 48 of file mpiManager.cpp.
References getSize().
Here is the call graph for this function:
Here is the caller graph for this function:| void olb::singleton::MpiManager::iRecv | ( | bool * | buf, |
| int | count, | ||
| int | source, | ||
| MPI_Request * | request, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 549 of file mpiManager.cpp.
| void olb::singleton::MpiManager::iRecv | ( | char * | buf, |
| int | count, | ||
| int | source, | ||
| MPI_Request * | request, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 557 of file mpiManager.cpp.
| void olb::singleton::MpiManager::iRecv | ( | double * | buf, |
| int | count, | ||
| int | source, | ||
| MPI_Request * | request, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 581 of file mpiManager.cpp.
| void olb::singleton::MpiManager::iRecv | ( | float * | buf, |
| int | count, | ||
| int | source, | ||
| MPI_Request * | request, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 573 of file mpiManager.cpp.
| void olb::singleton::MpiManager::iRecv | ( | int * | buf, |
| int | count, | ||
| int | source, | ||
| MPI_Request * | request, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 565 of file mpiManager.cpp.
| void olb::singleton::MpiManager::iRecv | ( | T * | buf, |
| int | count, | ||
| int | source, | ||
| MPI_Request * | request, | ||
| int | tag = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Receives data at *buf, non blocking.
| void olb::singleton::MpiManager::iRecv | ( | util::ADf< T, DIM > * | buf, |
| int | count, | ||
| int | source, | ||
| MPI_Request * | request, | ||
| int | tag = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Definition at line 98 of file mpiManagerAD.hh.
| void olb::singleton::MpiManager::iSend | ( | bool * | buf, |
| int | count, | ||
| int | dest, | ||
| MPI_Request * | request, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 210 of file mpiManager.cpp.
| void olb::singleton::MpiManager::iSend | ( | char * | buf, |
| int | count, | ||
| int | dest, | ||
| MPI_Request * | request, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 219 of file mpiManager.cpp.
| void olb::singleton::MpiManager::iSend | ( | double * | buf, |
| int | count, | ||
| int | dest, | ||
| MPI_Request * | request, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 273 of file mpiManager.cpp.
| void olb::singleton::MpiManager::iSend | ( | float * | buf, |
| int | count, | ||
| int | dest, | ||
| MPI_Request * | request, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 264 of file mpiManager.cpp.
| void olb::singleton::MpiManager::iSend | ( | int * | buf, |
| int | count, | ||
| int | dest, | ||
| MPI_Request * | request, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 237 of file mpiManager.cpp.
| void olb::singleton::MpiManager::iSend | ( | long double * | buf, |
| int | count, | ||
| int | dest, | ||
| MPI_Request * | request, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 282 of file mpiManager.cpp.
| void olb::singleton::MpiManager::iSend | ( | T * | buf, |
| int | count, | ||
| int | dest, | ||
| MPI_Request * | request, | ||
| int | tag = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Sends data at *buf, non blocking.
Here is the caller graph for this function:| void olb::singleton::MpiManager::iSend | ( | util::ADf< T, DIM > * | buf, |
| int | count, | ||
| int | dest, | ||
| MPI_Request * | request, | ||
| int | tag = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Definition at line 85 of file mpiManagerAD.hh.
| bool olb::singleton::MpiManager::isMainProcessor | ( | ) | const |
Tells whether current processor is main processor.
Definition at line 80 of file mpiManager.cpp.
References bossId(), and getRank().
Here is the call graph for this function:
Here is the caller graph for this function:| std::size_t olb::singleton::MpiManager::probeReceiveSize | ( | int | source, |
| int | tag = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Probe size of incoming message with TYPE.
| std::size_t olb::singleton::MpiManager::probeReceiveSize | ( | int | source, |
| MPI_Datatype | type, | ||
| int | tag = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Probe size of incoming message.
Definition at line 336 of file mpiManager.cpp.
References getRank(), and olb::singleton::mpi().
Here is the call graph for this function:
Here is the caller graph for this function:| void olb::singleton::MpiManager::receive | ( | bool * | buf, |
| int | count, | ||
| int | source, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 364 of file mpiManager.cpp.
| void olb::singleton::MpiManager::receive | ( | char * | buf, |
| int | count, | ||
| int | source, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 375 of file mpiManager.cpp.
| void olb::singleton::MpiManager::receive | ( | double * | buf, |
| int | count, | ||
| int | source, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 435 of file mpiManager.cpp.
| void olb::singleton::MpiManager::receive | ( | float * | buf, |
| int | count, | ||
| int | source, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 425 of file mpiManager.cpp.
| void olb::singleton::MpiManager::receive | ( | int * | buf, |
| int | count, | ||
| int | source, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 395 of file mpiManager.cpp.
| void olb::singleton::MpiManager::receive | ( | long double * | buf, |
| int | count, | ||
| int | source, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 445 of file mpiManager.cpp.
|
inline |
Definition at line 159 of file mpiManager.h.
References receive().
Here is the call graph for this function:
|
inline |
Definition at line 155 of file mpiManager.h.
References receive().
Here is the call graph for this function:| void olb::singleton::MpiManager::receive | ( | T * | buf, |
| int | count, | ||
| int | source, | ||
| int | tag = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Receives data at *buf, blocking.
Here is the caller graph for this function:| void olb::singleton::MpiManager::receive | ( | util::ADf< T, DIM > * | buf, |
| int | count, | ||
| int | source, | ||
| int | tag = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Definition at line 66 of file mpiManagerAD.hh.
| void olb::singleton::MpiManager::recvInit | ( | double * | buf, |
| int | count, | ||
| int | dest, | ||
| MPI_Request * | request, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 525 of file mpiManager.cpp.
| void olb::singleton::MpiManager::recvInit | ( | int * | buf, |
| int | count, | ||
| int | dest, | ||
| MPI_Request * | request, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 533 of file mpiManager.cpp.
| void olb::singleton::MpiManager::recvInit | ( | T * | buf, |
| int | count, | ||
| int | dest, | ||
| MPI_Request * | request, | ||
| int | tag = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Initialize persistent non-blocking receive.
Here is the caller graph for this function:| void olb::singleton::MpiManager::recvInit | ( | util::ADf< T, DIM > * | buf, |
| int | count, | ||
| int | dest, | ||
| MPI_Request * | request, | ||
| int | tag = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Definition at line 76 of file mpiManagerAD.hh.
| void olb::singleton::MpiManager::reduce | ( | BlockData< 2, double, double > & | sendVal, |
| BlockData< 2, double, double > & | recvVal, | ||
| MPI_Op | op, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 188 of file blockData.hh.
| void olb::singleton::MpiManager::reduce | ( | BlockData< 2, double, int > & | sendVal, |
| BlockData< 2, double, int > & | recvVal, | ||
| MPI_Op | op, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 175 of file blockData.hh.
| void olb::singleton::MpiManager::reduce | ( | BlockData< 2, float, float > & | sendVal, |
| BlockData< 2, float, float > & | recvVal, | ||
| MPI_Op | op, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 201 of file blockData.hh.
| void olb::singleton::MpiManager::reduce | ( | BlockData< 2, util::ADf< T, DIM >, util::ADf< T, DIM > > & | sendVal, |
| BlockData< 2, util::ADf< T, DIM >, util::ADf< T, DIM > > & | recvVal, | ||
| MPI_Op | op, | ||
| int | root = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Definition at line 168 of file mpiManagerAD.hh.
| void olb::singleton::MpiManager::reduce | ( | bool & | sendVal, |
| bool & | recvVal, | ||
| MPI_Op | op, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1296 of file mpiManager.cpp.
| void olb::singleton::MpiManager::reduce | ( | char & | sendVal, |
| char & | recvVal, | ||
| MPI_Op | op, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1306 of file mpiManager.cpp.
| void olb::singleton::MpiManager::reduce | ( | double & | sendVal, |
| double & | recvVal, | ||
| MPI_Op | op, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1345 of file mpiManager.cpp.
| void olb::singleton::MpiManager::reduce | ( | float & | sendVal, |
| float & | recvVal, | ||
| MPI_Op | op, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1326 of file mpiManager.cpp.
| void olb::singleton::MpiManager::reduce | ( | float * | sendVal, |
| float * | recvVal, | ||
| int | count, | ||
| MPI_Op | op, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1336 of file mpiManager.cpp.
| void olb::singleton::MpiManager::reduce | ( | int & | sendVal, |
| int & | recvVal, | ||
| MPI_Op | op, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1316 of file mpiManager.cpp.
| void olb::singleton::MpiManager::reduce | ( | T & | sendVal, |
| T & | recvVal, | ||
| MPI_Op | op, | ||
| int | root = 0, | ||
| MPI_Comm | = MPI_COMM_WORLD ) |
Reduction operation toward one processor.
Here is the caller graph for this function:| void olb::singleton::MpiManager::reduce | ( | T * | sendVal, |
| T * | recvVal, | ||
| int | count, | ||
| MPI_Op | op, | ||
| int | root = 0, | ||
| MPI_Comm | = MPI_COMM_WORLD ) |
| void olb::singleton::MpiManager::reduce | ( | util::ADf< T, DIM > & | sendVal, |
| util::ADf< T, DIM > & | recvVal, | ||
| MPI_Op | op, | ||
| int | root = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Definition at line 150 of file mpiManagerAD.hh.
References olb::util::ADf< T, DIM >::d(), and olb::util::ADf< T, DIM >::v().
Here is the call graph for this function:| void olb::singleton::MpiManager::reduceAndBcast | ( | bool & | reductVal, |
| MPI_Op | op, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1413 of file mpiManager.cpp.
| void olb::singleton::MpiManager::reduceAndBcast | ( | char & | reductVal, |
| MPI_Op | op, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1426 of file mpiManager.cpp.
| void olb::singleton::MpiManager::reduceAndBcast | ( | double & | reductVal, |
| MPI_Op | op, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1464 of file mpiManager.cpp.
| void olb::singleton::MpiManager::reduceAndBcast | ( | float & | reductVal, |
| MPI_Op | op, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1452 of file mpiManager.cpp.
| void olb::singleton::MpiManager::reduceAndBcast | ( | int & | reductVal, |
| MPI_Op | op, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1439 of file mpiManager.cpp.
| void olb::singleton::MpiManager::reduceAndBcast | ( | long & | reductVal, |
| MPI_Op | op, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1490 of file mpiManager.cpp.
| void olb::singleton::MpiManager::reduceAndBcast | ( | long double & | reductVal, |
| MPI_Op | op, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1477 of file mpiManager.cpp.
| void olb::singleton::MpiManager::reduceAndBcast | ( | T & | reductVal, |
| MPI_Op | op, | ||
| int | root = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Reduction operation, followed by a broadcast.
Here is the caller graph for this function:| void olb::singleton::MpiManager::reduceAndBcast | ( | unsigned long & | reductVal, |
| MPI_Op | op, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1503 of file mpiManager.cpp.
| void olb::singleton::MpiManager::reduceAndBcast | ( | util::ADf< T, DIM > & | reductVal, |
| MPI_Op | op, | ||
| int | root = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Definition at line 203 of file mpiManagerAD.hh.
References bCast(), and reduce().
Here is the call graph for this function:| void olb::singleton::MpiManager::reduceVect | ( | std::vector< char > & | sendVal, |
| std::vector< char > & | recvVal, | ||
| MPI_Op | op, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1365 of file mpiManager.cpp.
| void olb::singleton::MpiManager::reduceVect | ( | std::vector< double > & | sendVal, |
| std::vector< double > & | recvVal, | ||
| MPI_Op | op, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1401 of file mpiManager.cpp.
| void olb::singleton::MpiManager::reduceVect | ( | std::vector< float > & | sendVal, |
| std::vector< float > & | recvVal, | ||
| MPI_Op | op, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1389 of file mpiManager.cpp.
| void olb::singleton::MpiManager::reduceVect | ( | std::vector< int > & | sendVal, |
| std::vector< int > & | recvVal, | ||
| MPI_Op | op, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 1377 of file mpiManager.cpp.
| void olb::singleton::MpiManager::reduceVect | ( | std::vector< T > & | sendVal, |
| std::vector< T > & | recvVal, | ||
| MPI_Op | op, | ||
| int | root = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Element-per-element reduction of a vector of data.
Here is the caller graph for this function:| void olb::singleton::MpiManager::scatterv | ( | bool * | sendBuf, |
| int * | sendCounts, | ||
| int * | displs, | ||
| bool * | recvBuf, | ||
| int | recvCount, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 701 of file mpiManager.cpp.
| void olb::singleton::MpiManager::scatterv | ( | char * | sendBuf, |
| int * | sendCounts, | ||
| int * | displs, | ||
| char * | recvBuf, | ||
| int | recvCount, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 714 of file mpiManager.cpp.
| void olb::singleton::MpiManager::scatterv | ( | double * | sendBuf, |
| int * | sendCounts, | ||
| int * | displs, | ||
| double * | recvBuf, | ||
| int | recvCount, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 753 of file mpiManager.cpp.
| void olb::singleton::MpiManager::scatterv | ( | float * | sendBuf, |
| int * | sendCounts, | ||
| int * | displs, | ||
| float * | recvBuf, | ||
| int | recvCount, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 740 of file mpiManager.cpp.
| void olb::singleton::MpiManager::scatterv | ( | int * | sendBuf, |
| int * | sendCounts, | ||
| int * | displs, | ||
| int * | recvBuf, | ||
| int | recvCount, | ||
| int | root, | ||
| MPI_Comm | comm ) |
Definition at line 727 of file mpiManager.cpp.
| void olb::singleton::MpiManager::scatterv | ( | T * | sendBuf, |
| int * | sendCounts, | ||
| int * | displs, | ||
| T * | recvBuf, | ||
| int | recvCount, | ||
| int | root = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Scatter data from one processor over multiple processors.
| void olb::singleton::MpiManager::send | ( | bool * | buf, |
| int | count, | ||
| int | dest, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 108 of file mpiManager.cpp.
| void olb::singleton::MpiManager::send | ( | char * | buf, |
| int | count, | ||
| int | dest, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 117 of file mpiManager.cpp.
| void olb::singleton::MpiManager::send | ( | double * | buf, |
| int | count, | ||
| int | dest, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 153 of file mpiManager.cpp.
| void olb::singleton::MpiManager::send | ( | float * | buf, |
| int | count, | ||
| int | dest, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 144 of file mpiManager.cpp.
| void olb::singleton::MpiManager::send | ( | int * | buf, |
| int | count, | ||
| int | dest, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 135 of file mpiManager.cpp.
|
inline |
Definition at line 121 of file mpiManager.h.
References send().
Here is the call graph for this function:
|
inline |
Definition at line 117 of file mpiManager.h.
References send().
Here is the call graph for this function:| void olb::singleton::MpiManager::send | ( | T * | buf, |
| int | count, | ||
| int | dest, | ||
| int | tag = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Sends data at *buf, blocking.
Here is the caller graph for this function:| void olb::singleton::MpiManager::send | ( | util::ADf< T, DIM > * | buf, |
| int | count, | ||
| int | dest, | ||
| int | tag = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Definition at line 49 of file mpiManagerAD.hh.
| void olb::singleton::MpiManager::sendInit | ( | bool * | buf, |
| int | count, | ||
| int | dest, | ||
| MPI_Request * | request, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 202 of file mpiManager.cpp.
| void olb::singleton::MpiManager::sendInit | ( | double * | buf, |
| int | count, | ||
| int | dest, | ||
| MPI_Request * | request, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 162 of file mpiManager.cpp.
| void olb::singleton::MpiManager::sendInit | ( | int * | buf, |
| int | count, | ||
| int | dest, | ||
| MPI_Request * | request, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 194 of file mpiManager.cpp.
| void olb::singleton::MpiManager::sendInit | ( | T * | buf, |
| int | count, | ||
| int | dest, | ||
| MPI_Request * | request, | ||
| int | tag = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Initialize persistent non-blocking send.
Here is the caller graph for this function:| void olb::singleton::MpiManager::sendInit | ( | util::ADf< T, DIM > * | buf, |
| int | count, | ||
| int | dest, | ||
| MPI_Request * | request, | ||
| int | tag = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Definition at line 58 of file mpiManagerAD.hh.
| void olb::singleton::MpiManager::sendRecv | ( | bool * | sendBuf, |
| bool * | recvBuf, | ||
| int | count, | ||
| int | dest, | ||
| int | source, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 589 of file mpiManager.cpp.
| void olb::singleton::MpiManager::sendRecv | ( | char * | sendBuf, |
| char * | recvBuf, | ||
| int | count, | ||
| int | dest, | ||
| int | source, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 605 of file mpiManager.cpp.
| void olb::singleton::MpiManager::sendRecv | ( | double * | sendBuf, |
| double * | recvBuf, | ||
| int | count, | ||
| int | dest, | ||
| int | source, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 669 of file mpiManager.cpp.
| void olb::singleton::MpiManager::sendRecv | ( | float * | sendBuf, |
| float * | recvBuf, | ||
| int | count, | ||
| int | dest, | ||
| int | source, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 637 of file mpiManager.cpp.
| void olb::singleton::MpiManager::sendRecv | ( | int * | sendBuf, |
| int * | recvBuf, | ||
| int | count, | ||
| int | dest, | ||
| int | source, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 621 of file mpiManager.cpp.
| void olb::singleton::MpiManager::sendRecv | ( | long * | sendBuf, |
| long * | recvBuf, | ||
| int | count, | ||
| int | dest, | ||
| int | source, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 653 of file mpiManager.cpp.
| void olb::singleton::MpiManager::sendRecv | ( | long double * | sendBuf, |
| long double * | recvBuf, | ||
| int | count, | ||
| int | dest, | ||
| int | source, | ||
| int | tag, | ||
| MPI_Comm | comm ) |
Definition at line 685 of file mpiManager.cpp.
| void olb::singleton::MpiManager::sendRecv | ( | T * | sendBuf, |
| T * | recvBuf, | ||
| int | count, | ||
| int | dest, | ||
| int | source, | ||
| int | tag = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Send and receive data between two partners.
Here is the caller graph for this function:| void olb::singleton::MpiManager::sendRecv | ( | util::ADf< T, DIM > * | sendBuf, |
| util::ADf< T, DIM > * | recvBuf, | ||
| int | count, | ||
| int | dest, | ||
| int | source, | ||
| int | tag = 0, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Definition at line 106 of file mpiManagerAD.hh.
| void olb::singleton::MpiManager::sendToMaster | ( | bool * | sendBuf, |
| int | sendCount, | ||
| bool | iAmRoot, | ||
| MPI_Comm | comm ) |
Definition at line 455 of file mpiManager.cpp.
References isMainProcessor(), receive(), and send().
Here is the call graph for this function:| void olb::singleton::MpiManager::sendToMaster | ( | char * | sendBuf, |
| int | sendCount, | ||
| bool | iAmRoot, | ||
| MPI_Comm | comm ) |
Definition at line 469 of file mpiManager.cpp.
References isMainProcessor(), receive(), and send().
Here is the call graph for this function:| void olb::singleton::MpiManager::sendToMaster | ( | double * | sendBuf, |
| int | sendCount, | ||
| bool | iAmRoot, | ||
| MPI_Comm | comm ) |
Definition at line 511 of file mpiManager.cpp.
References isMainProcessor(), receive(), and send().
Here is the call graph for this function:| void olb::singleton::MpiManager::sendToMaster | ( | float * | sendBuf, |
| int | sendCount, | ||
| bool | iAmRoot, | ||
| MPI_Comm | comm ) |
Definition at line 497 of file mpiManager.cpp.
References isMainProcessor(), receive(), and send().
Here is the call graph for this function:| void olb::singleton::MpiManager::sendToMaster | ( | int * | sendBuf, |
| int | sendCount, | ||
| bool | iAmRoot, | ||
| MPI_Comm | comm ) |
Definition at line 483 of file mpiManager.cpp.
References isMainProcessor(), receive(), and send().
Here is the call graph for this function:| void olb::singleton::MpiManager::sendToMaster | ( | T * | sendBuf, |
| int | sendCount, | ||
| bool | iAmRoot, | ||
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Sends data to master processor.
Here is the caller graph for this function:| void olb::singleton::MpiManager::synchronizeIO | ( | unsigned | tDelay = 100, |
| MPI_Comm | comm = MPI_COMM_WORLD ) |
Synchronizes the processes and wait to ensure correct cout order.
Definition at line 101 of file mpiManager.cpp.
References barrier().
Here is the call graph for this function:
Here is the caller graph for this function:| void olb::singleton::MpiManager::wait | ( | MPI_Request * | request, |
| MPI_Status * | status ) |
Complete a non-blocking MPI operation.
Definition at line 1726 of file mpiManager.cpp.
| void olb::singleton::MpiManager::waitAll | ( | MpiNonBlockingHelper & | mpiNbHelper | ) |
Complete a series of non-blocking MPI operations.
Definition at line 1734 of file mpiManager.cpp.
References olb::singleton::MpiNonBlockingHelper::get_mpiRequest(), olb::singleton::MpiNonBlockingHelper::get_mpiStatus(), and olb::singleton::MpiNonBlockingHelper::get_size().
Here is the call graph for this function:
Here is the caller graph for this function:
|
friend |
Definition at line 29 of file mpiManager.cpp.