Class containing wrappers to MPI. More...
#include <Communicator.h>

Classes | |
| struct | ConstData | 
| Const version of Communicator::Data See Communicator::Data documentation.  More... | |
| struct | Data | 
| Structure defining a buffer for MPI.  More... | |
| class | Request | 
| Wrapper class for MPI_Request.  More... | |
| class | Status | 
| Wrapper class for MPI_Status.  More... | |
Public Member Functions | |
| Communicator () | |
| Default constructor.  More... | |
| Communicator (const Communicator &) | |
| Copy constructor.  More... | |
| Communicator & | operator= (const Communicator &) | 
| Assignment operator.  More... | |
| virtual | ~Communicator () | 
| Destructor.  More... | |
| int | Get_rank () const | 
| Obtain the rank of the present process.  More... | |
| int | Get_size () const | 
| Obtain the number of processes.  More... | |
| void | Set_comm (MPI_Comm comm) | 
| Set from a real MPI communicator.  More... | |
| MPI_Comm & | Get_comm () | 
| Reference to MPI communicator.  More... | |
| void | Set_comm (void *comm) | 
| Set from a pointer to a real MPI communicator (C).  More... | |
| void | Set_fcomm (void *comm) | 
| Set from a pointer to a real MPI communicator (FORTRAN).  More... | |
| void | Abort (int code) | 
| Wrapper to MPI_Abort.  More... | |
| void | Barrier () const | 
| Wrapper to MPI_Barrier.  More... | |
| void | Sum (Data) | 
| Wrapper for MPI_Allreduce with MPI_SUM (data struct)  More... | |
| template<class T > | |
| void | Sum (T *buf, int count) | 
| Wrapper for MPI_Allreduce with MPI_SUM (pointer)  More... | |
| template<class T > | |
| void | Sum (T &buf) | 
| Wrapper for MPI_Allreduce with MPI_SUM (reference)  More... | |
| void | Bcast (Data, int) | 
| Wrapper for MPI_Bcast (data struct)  More... | |
| template<class T > | |
| void | Bcast (T *buf, int count, int root) | 
| Wrapper for MPI_Bcast (pointer)  More... | |
| template<class T > | |
| void | Bcast (T &buf, int root) | 
| Wrapper for MPI_Bcast (reference)  More... | |
| Request | Isend (ConstData, int, int) | 
| Wrapper for MPI_Isend (data struct)  More... | |
| template<class T > | |
| Request | Isend (const T *buf, int count, int source, int tag) | 
| Wrapper for MPI_Isend (pointer)  More... | |
| template<class T > | |
| Request | Isend (const T &buf, int source, int tag) | 
| Wrapper for MPI_Isend (reference)  More... | |
| void | Allgatherv (ConstData in, Data out, const int *, const int *) | 
| Wrapper for MPI_Allgatherv (data struct)  More... | |
| template<class T , class S > | |
| void | Allgatherv (const T *sendbuf, int sendcount, S *recvbuf, const int *recvcounts, const int *displs) | 
| Wrapper for MPI_Allgatherv (pointer)  More... | |
| template<class T , class S > | |
| void | Allgatherv (const T &sendbuf, S &recvbuf, const int *recvcounts, const int *displs) | 
| Wrapper for MPI_Allgatherv (reference)  More... | |
| void | Allgather (ConstData in, Data out) | 
| Wrapper for MPI_Allgather (data struct)  More... | |
| template<class T , class S > | |
| void | Allgather (const T *sendbuf, int sendcount, S *recvbuf, int recvcount) | 
| Wrapper for MPI_Allgatherv (pointer)  More... | |
| template<class T , class S > | |
| void | Allgather (const T &sendbuf, S &recvbuf) | 
| Wrapper for MPI_Allgatherv (reference)  More... | |
| void | Recv (Data, int, int, Status &s=StatusIgnore) | 
| Wrapper for MPI_Recv (data struct)  More... | |
| template<class T > | |
| void | Recv (T *buf, int count, int source, int tag, Status &s=StatusIgnore) | 
| Wrapper for MPI_Recv (pointer)  More... | |
| template<class T > | |
| void | Recv (T &buf, int source, int tag, Status &s=StatusIgnore) | 
| Wrapper for MPI_Recv (reference)  More... | |
| void | Split (int, int, Communicator &) const | 
| Wrapper to MPI_Comm_split.  More... | |
Static Public Member Functions | |
| static bool | initialized () | 
| Tests if MPI library is initialized.  More... | |
| static Communicator & | Get_world () | 
| Returns MPI_COMM_WORLD if MPI is initialized, otherwise the default communicator.  More... | |
Static Public Attributes | |
| static Status | StatusIgnore | 
| Special status used when status should be ignored.  More... | |
Private Member Functions | |
| template<> | |
| MPI_Datatype | getMPIType () | 
| template<> | |
| MPI_Datatype | getMPIType () | 
| template<> | |
| MPI_Datatype | getMPIType () | 
| template<> | |
| MPI_Datatype | getMPIType () | 
| template<> | |
| MPI_Datatype | getMPIType () | 
| template<> | |
| MPI_Datatype | getMPIType () | 
Static Private Member Functions | |
| template<class T > | |
| static MPI_Datatype | getMPIType () | 
| Function returning the MPI type.  More... | |
Private Attributes | |
| MPI_Comm | communicator | 
| Communicator.  More... | |
Class containing wrappers to MPI.
All the MPI related stuff is relegated here.
| PLMD::Communicator::Communicator | ( | ) | 
Default constructor.
| PLMD::Communicator::Communicator | ( | const Communicator & | pc | ) | 
Copy constructor.
It effectively "clones" the communicator, providing a new one acting on the same group
      
  | 
  virtual | 
Destructor.
| void PLMD::Communicator::Abort | ( | int | code | ) | 
Wrapper to MPI_Abort.
| code | Error code | 
Wrapper for MPI_Allgather (data struct)
      
  | 
  inline | 
Wrapper for MPI_Allgatherv (pointer)
      
  | 
  inline | 
Wrapper for MPI_Allgatherv (reference)
| void PLMD::Communicator::Allgatherv | ( | ConstData | in, | 
| Data | out, | ||
| const int * | recvcounts, | ||
| const int * | displs | ||
| ) | 
Wrapper for MPI_Allgatherv (data struct)
      
  | 
  inline | 
Wrapper for MPI_Allgatherv (pointer)
      
  | 
  inline | 
Wrapper for MPI_Allgatherv (reference)
| void PLMD::Communicator::Barrier | ( | ) | const | 
Wrapper to MPI_Barrier.
| void PLMD::Communicator::Bcast | ( | Data | data, | 
| int | root | ||
| ) | 
Wrapper for MPI_Bcast (data struct)
      
  | 
  inline | 
Wrapper for MPI_Bcast (pointer)
      
  | 
  inline | 
Wrapper for MPI_Bcast (reference)
| MPI_Comm & PLMD::Communicator::Get_comm | ( | ) | 
Reference to MPI communicator.
| int PLMD::Communicator::Get_rank | ( | ) | const | 
Obtain the rank of the present process.
| int PLMD::Communicator::Get_size | ( | ) | const | 
Obtain the number of processes.
      
  | 
  static | 
Returns MPI_COMM_WORLD if MPI is initialized, otherwise the default communicator.
      
  | 
  staticprivate | 
Function returning the MPI type.
You can use it to access to the MPI type of a C++ type, e.g. MPI_Datatype type=getMPIType<double>(); 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  static | 
Tests if MPI library is initialized.
| Communicator::Request PLMD::Communicator::Isend | ( | ConstData | data, | 
| int | source, | ||
| int | tag | ||
| ) | 
Wrapper for MPI_Isend (data struct)
      
  | 
  inline | 
Wrapper for MPI_Isend (pointer)
      
  | 
  inline | 
Wrapper for MPI_Isend (reference)
| Communicator & PLMD::Communicator::operator= | ( | const Communicator & | pc | ) | 
Assignment operator.
It effectively "clones" the communicator, providing a new one acting on the same group
| void PLMD::Communicator::Recv | ( | Data | data, | 
| int | source, | ||
| int | tag, | ||
| Status & | s = StatusIgnore  | 
        ||
| ) | 
Wrapper for MPI_Recv (data struct)
      
  | 
  inline | 
Wrapper for MPI_Recv (pointer)
      
  | 
  inline | 
Wrapper for MPI_Recv (reference)
| void PLMD::Communicator::Set_comm | ( | MPI_Comm | comm | ) | 
Set from a real MPI communicator.
| comm | MPI communicator | 
| void PLMD::Communicator::Set_comm | ( | void * | comm | ) | 
Set from a pointer to a real MPI communicator (C).
| comm | Pointer to a C MPI communicator | 
| void PLMD::Communicator::Set_fcomm | ( | void * | comm | ) | 
Set from a pointer to a real MPI communicator (FORTRAN).
| comm | Pointer to a FORTRAN MPI communicator (INTEGER) | 
| void PLMD::Communicator::Split | ( | int | color, | 
| int | key, | ||
| Communicator & | pc | ||
| ) | const | 
Wrapper to MPI_Comm_split.
| void PLMD::Communicator::Sum | ( | Data | data | ) | 
Wrapper for MPI_Allreduce with MPI_SUM (data struct)
      
  | 
  inline | 
Wrapper for MPI_Allreduce with MPI_SUM (pointer)
      
  | 
  inline | 
Wrapper for MPI_Allreduce with MPI_SUM (reference)
      
  | 
  private | 
      
  | 
  static | 
Special status used when status should be ignored.
E.g. Recv(a,0,1,Communicator::StatusIgnore); Notice that this is the default for Recv, so this is equivalent to Recv(a,0,1); 
 
Hosted by GitHub  
 
 
 | 
 
 1.8.14
 |