Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
PLMD::Atoms::DomainDecomposition Class Reference
Inheritance diagram for PLMD::Atoms::DomainDecomposition:
Inheritance graph
[legend]

Public Member Functions

 operator bool ()
 
 DomainDecomposition ()
 
void enable (Communicator &c)
 
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...
 
void Set_comm (void *comm)
 Set from a pointer to a real MPI communicator (C). More...
 
MPI_CommGet_comm ()
 Reference to MPI communicator. 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 CommunicatorGet_world ()
 Returns MPI_COMM_WORLD if MPI is initialized, otherwise the default communicator. More...
 

Public Attributes

bool on
 
bool async
 
std::vector< int > g2l
 
std::vector< Communicator::Requestmpi_request_positions
 
std::vector< Communicator::Requestmpi_request_index
 
std::vector< double > positionsToBeSent
 
std::vector< double > positionsToBeReceived
 
std::vector< int > indexToBeSent
 
std::vector< int > indexToBeReceived
 

Static Public Attributes

static Status StatusIgnore
 Special status used when status should be ignored. More...
 

Constructor & Destructor Documentation

PLMD::Atoms::DomainDecomposition::DomainDecomposition ( )
inline

Member Function Documentation

void PLMD::Communicator::Abort ( int  code)
inherited

Wrapper to MPI_Abort.

Parameters
codeError code
void PLMD::Communicator::Allgather ( ConstData  in,
Data  out 
)
inherited

Wrapper for MPI_Allgather (data struct)

template<class T , class S >
void PLMD::Communicator::Allgather ( const T *  sendbuf,
int  sendcount,
S *  recvbuf,
int  recvcount 
)
inlineinherited

Wrapper for MPI_Allgatherv (pointer)

template<class T , class S >
void PLMD::Communicator::Allgather ( const T &  sendbuf,
S &  recvbuf 
)
inlineinherited

Wrapper for MPI_Allgatherv (reference)

void PLMD::Communicator::Allgatherv ( ConstData  in,
Data  out,
const int *  recvcounts,
const int *  displs 
)
inherited

Wrapper for MPI_Allgatherv (data struct)

template<class T , class S >
void PLMD::Communicator::Allgatherv ( const T *  sendbuf,
int  sendcount,
S *  recvbuf,
const int *  recvcounts,
const int *  displs 
)
inlineinherited

Wrapper for MPI_Allgatherv (pointer)

template<class T , class S >
void PLMD::Communicator::Allgatherv ( const T &  sendbuf,
S &  recvbuf,
const int *  recvcounts,
const int *  displs 
)
inlineinherited

Wrapper for MPI_Allgatherv (reference)

void PLMD::Communicator::Barrier ( ) const
inherited

Wrapper to MPI_Barrier.

void PLMD::Communicator::Bcast ( Data  data,
int  root 
)
inherited

Wrapper for MPI_Bcast (data struct)

template<class T >
void PLMD::Communicator::Bcast ( T *  buf,
int  count,
int  root 
)
inlineinherited

Wrapper for MPI_Bcast (pointer)

template<class T >
void PLMD::Communicator::Bcast ( T &  buf,
int  root 
)
inlineinherited

Wrapper for MPI_Bcast (reference)

void PLMD::Atoms::DomainDecomposition::enable ( Communicator c)
MPI_Comm & PLMD::Communicator::Get_comm ( )
inherited

Reference to MPI communicator.

int PLMD::Communicator::Get_rank ( ) const
inherited

Obtain the rank of the present process.

int PLMD::Communicator::Get_size ( ) const
inherited

Obtain the number of processes.

Communicator & PLMD::Communicator::Get_world ( )
staticinherited

Returns MPI_COMM_WORLD if MPI is initialized, otherwise the default communicator.

bool PLMD::Communicator::initialized ( )
staticinherited

Tests if MPI library is initialized.

Communicator::Request PLMD::Communicator::Isend ( ConstData  data,
int  source,
int  tag 
)
inherited

Wrapper for MPI_Isend (data struct)

template<class T >
Request PLMD::Communicator::Isend ( const T *  buf,
int  count,
int  source,
int  tag 
)
inlineinherited

Wrapper for MPI_Isend (pointer)

template<class T >
Request PLMD::Communicator::Isend ( const T &  buf,
int  source,
int  tag 
)
inlineinherited

Wrapper for MPI_Isend (reference)

PLMD::Atoms::DomainDecomposition::operator bool ( )
inline
void PLMD::Communicator::Recv ( Data  data,
int  source,
int  tag,
Status s = StatusIgnore 
)
inherited

Wrapper for MPI_Recv (data struct)

template<class T >
void PLMD::Communicator::Recv ( T *  buf,
int  count,
int  source,
int  tag,
Status s = StatusIgnore 
)
inlineinherited

Wrapper for MPI_Recv (pointer)

template<class T >
void PLMD::Communicator::Recv ( T &  buf,
int  source,
int  tag,
Status s = StatusIgnore 
)
inlineinherited

Wrapper for MPI_Recv (reference)

void PLMD::Communicator::Set_comm ( MPI_Comm  comm)
inherited

Set from a real MPI communicator.

Parameters
commMPI communicator
void PLMD::Communicator::Set_comm ( void *  comm)
inherited

Set from a pointer to a real MPI communicator (C).

Parameters
commPointer to a C MPI communicator
void PLMD::Communicator::Set_fcomm ( void *  comm)
inherited

Set from a pointer to a real MPI communicator (FORTRAN).

Parameters
commPointer to a FORTRAN MPI communicator (INTEGER)
void PLMD::Communicator::Split ( int  color,
int  key,
Communicator pc 
) const
inherited

Wrapper to MPI_Comm_split.

void PLMD::Communicator::Sum ( Data  data)
inherited

Wrapper for MPI_Allreduce with MPI_SUM (data struct)

template<class T >
void PLMD::Communicator::Sum ( T *  buf,
int  count 
)
inlineinherited

Wrapper for MPI_Allreduce with MPI_SUM (pointer)

template<class T >
void PLMD::Communicator::Sum ( T &  buf)
inlineinherited

Wrapper for MPI_Allreduce with MPI_SUM (reference)

Member Data Documentation

bool PLMD::Atoms::DomainDecomposition::async
std::vector<int> PLMD::Atoms::DomainDecomposition::g2l
std::vector<int> PLMD::Atoms::DomainDecomposition::indexToBeReceived
std::vector<int> PLMD::Atoms::DomainDecomposition::indexToBeSent
std::vector<Communicator::Request> PLMD::Atoms::DomainDecomposition::mpi_request_index
std::vector<Communicator::Request> PLMD::Atoms::DomainDecomposition::mpi_request_positions
bool PLMD::Atoms::DomainDecomposition::on
std::vector<double> PLMD::Atoms::DomainDecomposition::positionsToBeReceived
std::vector<double> PLMD::Atoms::DomainDecomposition::positionsToBeSent
Communicator::Status PLMD::Communicator::StatusIgnore
staticinherited

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);


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