Psi4
Public Member Functions | Private Member Functions | Friends | List of all members
psi::LocalCommWrapper Class Reference

#include <local.h>

Inheritance diagram for psi::LocalCommWrapper:
psi::Parallel< LocalCommWrapper >

Public Member Functions

 LocalCommWrapper (const int &, char **)
 
- Public Member Functions inherited from psi::Parallel< LocalCommWrapper >
 Parallel ()
 Sets current comm to COMM_WORLD. More...
 
virtual ~Parallel ()
 No memory to free-up, does nothing. More...
 
virtual void sync (const std::string &CommName="NONE") const
 Provides MPI barrier functionality. More...
 
void all_reduce (const T *localdata, const int nelem, T *target, const MPIOperation &op, const std::string &Name) const
 Performs and all reduce. More...
 
void all_gather (const T *localdata, const int nelem, T *target, const std::string &CommName="NONE") const
 Function for gathering a vector whose elements lie on different MPI processes. More...
 
void gather (const T *localdata, const int nelem, T *target, const int Root, const std::string &CommName="NONE") const
 Same as all_gather, except only root has copy. More...
 
void bcast (T *data, const int nelem, const int broadcaster, const std::string &CommName="NONE") const
 Function for broadcasting data held by one process to all other processes. More...
 
void bcast (T &data, const int broadcaster, const std::string &CommName="NONE") const
 
virtual int Iprobe (const int Sender, const int MessageTag, const std::string &Comm="NONE") const
 Sees if a message is available. More...
 
virtual int probe (const int Sender, const int MessageTag, const std::string &Comm="NONE") const
 Same as Iprobe, except blocking. More...
 
void Isend (const int destination, const int tag, T *message=NULL, const int length=0, const std::string &Comm="NONE") const
 Non-blocking send. More...
 
void send (const int destination, const int tag, T *message=NULL, const int length=0, const std::string &Comm="NONE") const
 blocking send More...
 
void Irecv (const int source, const int tag, T *message=NULL, const int length=0, const std::string &Comm="NONE") const
 Non-blocking receive. More...
 
void recv (const int source, const int tag, T *message=NULL, const int length=0, const std::string &Comm="NONE") const
 Blocking receive. More...
 
virtual int me (const std::string &CommName="NONE") const
 Returns the current MPI process number. More...
 
virtual int nproc (const std::string &CommName="NONE") const
 Returns the current number of MPI processes. More...
 
virtual int nthread () const
 Needed for legacy compatibility. Don't use. More...
 
std::string communicator () const
 Returns the current communicator. More...
 
int thread_id (const pthread_t &)
 
virtual void MakeComm (const std::string &, const int, const std::string &="NONE")
 
virtual void FreeComm (const std::string &="NONE")
 

Private Member Functions

template<typename type >
void bcastImpl (const type *, const int, const int, const std::string &="None") const
 
template<typename T >
void bcastImpl (T &data, const int broadcaster, const std::string &Comm="NONE") const
 
template<typename type >
void AllReduceImpl (const type *localdata, const int nelem, type *target, const MPIOperation &operation, const std::string &Name)
 
template<typename T >
void IrecvImpl (const int source, const int tag, T *message, const int length) const
 
template<typename T >
void recvImpl (const int source, const int tag, T *message, const int length) const
 
template<typename T >
void IsendImpl (const int source, const int tag, T *message, const int length) const
 
template<typename T >
void sendImpl (const int source, const int tag, T *message, const int length) const
 
template<typename type >
void all_gatherImpl (const type *localdata, const int nelem, type *target, const std::string &="NONE") const
 
template<typename type >
void gatherImpl (const type *localdata, const int nelem, type *target, const int Root, const std::string &CommName="NONE") const
 

Friends

class Parallel< LocalCommWrapper >
 

Additional Inherited Members

- Public Types inherited from psi::Parallel< LocalCommWrapper >
typedef Parallel
< LocalCommWrapper
ThisType
 This typedef is the type of this class. More...
 
- Protected Attributes inherited from psi::Parallel< LocalCommWrapper >
std::vector< std::string > CurrentComm
 Array of our communicator names, in the order they are derived. More...
 

Constructor & Destructor Documentation

psi::LocalCommWrapper::LocalCommWrapper ( const int &  ,
char **   
)
inline

Member Function Documentation

template<typename type >
void psi::LocalCommWrapper::all_gatherImpl ( const type *  localdata,
const int  nelem,
type *  target,
const std::string &  = "NONE" 
) const
inlineprivate
template<typename type >
void psi::LocalCommWrapper::AllReduceImpl ( const type *  localdata,
const int  nelem,
type *  target,
const MPIOperation operation,
const std::string &  Name 
)
inlineprivate
template<typename type >
void psi::LocalCommWrapper::bcastImpl ( const type *  ,
const int  ,
const int  ,
const std::string &  = "None" 
) const
inlineprivate
template<typename T >
void psi::LocalCommWrapper::bcastImpl ( T data,
const int  broadcaster,
const std::string &  Comm = "NONE" 
) const
inlineprivate
template<typename type >
void psi::LocalCommWrapper::gatherImpl ( const type *  localdata,
const int  nelem,
type *  target,
const int  Root,
const std::string &  CommName = "NONE" 
) const
inlineprivate
template<typename T >
void psi::LocalCommWrapper::IrecvImpl ( const int  source,
const int  tag,
T message,
const int  length 
) const
inlineprivate
template<typename T >
void psi::LocalCommWrapper::IsendImpl ( const int  source,
const int  tag,
T message,
const int  length 
) const
inlineprivate
template<typename T >
void psi::LocalCommWrapper::recvImpl ( const int  source,
const int  tag,
T message,
const int  length 
) const
inlineprivate
template<typename T >
void psi::LocalCommWrapper::sendImpl ( const int  source,
const int  tag,
T message,
const int  length 
) const
inlineprivate

Friends And Related Function Documentation

friend class Parallel< LocalCommWrapper >
friend

The documentation for this class was generated from the following file: