28 #include <queso/Defines.h> 
   30 #ifdef QUESO_HAS_TRILINOS 
   31 #include <Epetra_MpiComm.h> 
   43 #define RawValue_MPI_COMM_SELF  MPI_COMM_SELF 
   44 #define RawValue_MPI_IN_PLACE   MPI_IN_PLACE 
   45 #define RawValue_MPI_ANY_SOURCE MPI_ANY_SOURCE 
   46 #define RawValue_MPI_CHAR       MPI_CHAR 
   47 #define RawValue_MPI_INT        MPI_INT 
   48 #define RawValue_MPI_DOUBLE     MPI_DOUBLE 
   49 #define RawValue_MPI_UNSIGNED   MPI_UNSIGNED 
   50 #define RawValue_MPI_MIN        MPI_MIN 
   51 #define RawValue_MPI_MAX        MPI_MAX 
   52 #define RawValue_MPI_SUM        MPI_SUM 
   73 class BaseEnvironment;
 
  126                                RawType_MPI_Op op, 
const char* whereMsg, 
const char* whatMsg) 
const;
 
  140                                const char* whereMsg, 
const char* whatMsg) 
const;
 
  153                                const char* whereMsg, 
const char* whatMsg) 
const;
 
  168                                const char* whereMsg, 
const char* whatMsg) 
const;
 
  178                                const char* whereMsg, 
const char* whatMsg) 
const;
 
  187                                const char* whereMsg, 
const char* whatMsg) 
const;
 
  192   void               syncPrintDebugMsg(
const char* msg, 
unsigned int msgVerbosity, 
unsigned int numUSecs) 
const;
 
  195 #ifdef QUESO_HAS_TRILINOS 
  196   const Epetra_MpiComm& epetraMpiComm() 
const;
 
  207 #ifdef QUESO_HAS_TRILINOS 
  210   Epetra_MpiComm*               m_epetraMpiComm;
 
  227 #endif // UQ_MPI_COMM_H 
int NumProc() const 
Returns total number of processes. 
 
int m_myPid
Process ID of this process. 
 
RawType_MPI_Comm Comm() const 
Extract MPI Communicator from a MpiComm object. 
 
int m_worldRank
World rank. 
 
void Bcast(void *buffer, int count, RawType_MPI_Datatype datatype, int root, const char *whereMsg, const char *whatMsg) const 
Broadcast values from the root process to the slave processes. 
 
MPI_Comm RawType_MPI_Comm
 
void Gather(void *sendbuf, int sendcnt, RawType_MPI_Datatype sendtype, void *recvbuf, int recvcount, RawType_MPI_Datatype recvtype, int root, const char *whereMsg, const char *whatMsg) const 
Gather values from each process to collect on all processes. 
 
RawType_MPI_Comm m_rawComm
Embedded wrapped opaque MPI_Comm object. 
 
void Barrier() const 
Pause every process in *this communicator until all the processes reach this point. 
 
MpiComm & operator=(const MpiComm &rhs)
Assignment operator. 
 
This (virtual) class sets up the environment underlying the use of the QUESO library by an executable...
 
const BaseEnvironment & m_env
 
void Gatherv(void *sendbuf, int sendcnt, RawType_MPI_Datatype sendtype, void *recvbuf, int *recvcnts, int *displs, RawType_MPI_Datatype recvtype, int root, const char *whereMsg, const char *whatMsg) const 
Gathers into specified locations from all processes in a group. 
 
void Allreduce(void *sendbuf, void *recvbuf, int count, RawType_MPI_Datatype datatype, RawType_MPI_Op op, const char *whereMsg, const char *whatMsg) const 
Combines values from all processes and distributes the result back to all processes. 
 
void syncPrintDebugMsg(const char *msg, unsigned int msgVerbosity, unsigned int numUSecs) const 
Synchronizes all the processes and print debug message. 
 
int MyPID() const 
Return my process ID. 
 
void Send(void *buf, int count, RawType_MPI_Datatype datatype, int dest, int tag, const char *whereMsg, const char *whatMsg) const 
Possibly blocking send of data from this process to another process. 
 
MPI_Datatype RawType_MPI_Datatype
 
The QUESO MPI Communicator Class. 
 
MPI_Group RawType_MPI_Group
 
void copy(const MpiComm &src)
Copies from an existing MpiComm instance. 
 
void Recv(void *buf, int count, RawType_MPI_Datatype datatype, int source, int tag, RawType_MPI_Status *status, const char *whereMsg, const char *whatMsg) const 
Blocking receive of data from this process to another process. 
 
MPI_Status RawType_MPI_Status
 
MpiComm()
Default Constructor.