Loading...
Searching...
No Matches
PLMD::Atoms::DomainDecomposition Class Reference
Inheritance diagram for PLMD::Atoms::DomainDecomposition:

Public Member Functions

 DomainDecomposition ()
void Abort (int code)
 Wrapper to MPI_Abort.
template<class T, class S>
void Allgather (const T &sendbuf, S &recvbuf)
 Wrapper for MPI_Allgatherv (reference).
template<class T, class S>
void Allgather (const T *sendbuf, int sendcount, S *recvbuf, int recvcount)
 Wrapper for MPI_Allgatherv (pointer).
void Allgather (ConstData in, Data out)
 Wrapper for MPI_Allgather (data struct).
template<class T, class S>
void Allgatherv (const T &sendbuf, S &recvbuf, const int *recvcounts, const int *displs)
 Wrapper for MPI_Allgatherv (reference).
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).
void Allgatherv (ConstData in, Data out, const int *, const int *)
 Wrapper for MPI_Allgatherv (data struct).
void Barrier () const
 Wrapper to MPI_Barrier.
void Bcast (Data, int)
 Wrapper for MPI_Bcast (data struct).
template<class T>
void Bcast (T &buf, int root)
 Wrapper for MPI_Bcast (reference).
template<class T>
void Bcast (T *buf, int count, int root)
 Wrapper for MPI_Bcast (pointer).
void enable (Communicator &c)
MPI_CommGet_comm ()
 Reference to MPI communicator.
int Get_rank () const
 Obtain the rank of the present process.
int Get_size () const
 Obtain the number of processes.
template<class T>
Request Isend (const T &buf, int source, int tag)
 Wrapper for MPI_Isend (reference).
template<class T>
Request Isend (const T *buf, int count, int source, int tag)
 Wrapper for MPI_Isend (pointer).
Request Isend (ConstData, int, int)
 Wrapper for MPI_Isend (data struct).
void Max (Data)
 Wrapper for MPI_Allreduce with MPI_MAX (data struct).
template<class T>
void Max (T &buf)
 Wrapper for MPI_Allreduce with MPI_MAX (reference).
template<class T>
void Max (T *buf, int count)
 Wrapper for MPI_Allreduce with MPI_MAX (pointer).
void Min (Data)
 Wrapper for MPI_Allreduce with MPI_MIN (data struct).
template<class T>
void Min (T &buf)
 Wrapper for MPI_Allreduce with MPI_MIN (reference).
template<class T>
void Min (T *buf, int count)
 Wrapper for MPI_Allreduce with MPI_MIN (pointer).
 operator bool () const
void Prod (Data)
 Wrapper for MPI_Allreduce with MPI_PROD (data struct).
template<class T>
void Prod (T &buf)
 Wrapper for MPI_Allreduce with MPI_PROD (reference).
template<class T>
void Prod (T *buf, int count)
 Wrapper for MPI_Allreduce with MPI_PROD (pointer).
void Recv (Data, int, int, Status &s=StatusIgnore)
 Wrapper for MPI_Recv (data struct).
template<class T>
void Recv (T &buf, int source, int tag, Status &s=StatusIgnore)
 Wrapper for MPI_Recv (reference).
template<class T>
void Recv (T *buf, int count, int source, int tag, Status &s=StatusIgnore)
 Wrapper for MPI_Recv (pointer).
void Set_comm (const TypesafePtr &comm)
 Set from a pointer to a real MPI communicator (C).
void Set_comm (MPI_Comm comm)
 Set from a real MPI communicator.
void Set_fcomm (const TypesafePtr &comm)
 Set from a pointer to a real MPI communicator (FORTRAN).
void Split (int, int, Communicator &) const
 Wrapper to MPI_Comm_split.
void Sum (Data)
 Wrapper for MPI_Allreduce with MPI_SUM (data struct).
template<class T>
void Sum (T &buf)
 Wrapper for MPI_Allreduce with MPI_SUM (reference).
template<class T>
void Sum (T *buf, int count)
 Wrapper for MPI_Allreduce with MPI_SUM (pointer).

Static Public Member Functions

static bool initialized ()
 Tests if MPI library is initialized.
static bool plumedHasMPI ()
 Runtime acces to the __PLUMED_HAS_MPI definition.

Public Attributes

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

Static Public Attributes

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

Static 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 ()
template<>
MPI_Datatype getMPIType ()
template<>
MPI_Datatype getMPIType ()
template<>
MPI_Datatype getMPIType ()
template<class T>
static MPI_Datatype getMPIType ()
 Function returning the MPI type.

Private Attributes

MPI_Comm communicator
 Communicator.

Constructor & Destructor Documentation

◆ DomainDecomposition()

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

Member Function Documentation

◆ Abort()

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

Wrapper to MPI_Abort.

Parameters
codeError code

◆ Allgather() [1/3]

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

Wrapper for MPI_Allgatherv (reference).

◆ Allgather() [2/3]

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

Wrapper for MPI_Allgatherv (pointer).

◆ Allgather() [3/3]

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

Wrapper for MPI_Allgather (data struct).

◆ Allgatherv() [1/3]

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

◆ Allgatherv() [2/3]

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

◆ Allgatherv() [3/3]

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

Wrapper for MPI_Allgatherv (data struct).

◆ Barrier()

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

Wrapper to MPI_Barrier.

◆ Bcast() [1/3]

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

Wrapper for MPI_Bcast (data struct).

◆ Bcast() [2/3]

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

Wrapper for MPI_Bcast (reference).

◆ Bcast() [3/3]

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

Wrapper for MPI_Bcast (pointer).

◆ enable()

void PLMD::Atoms::DomainDecomposition::enable ( Communicator & c)

◆ Get_comm()

MPI_Comm & PLMD::Communicator::Get_comm ( )
inherited

Reference to MPI communicator.

◆ Get_rank()

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

Obtain the rank of the present process.

◆ Get_size()

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

Obtain the number of processes.

◆ getMPIType() [1/10]

template<>
MPI_Datatype PLMD::Communicator::getMPIType ( )
staticprivateinherited

◆ getMPIType() [2/10]

template<>
MPI_Datatype PLMD::Communicator::getMPIType ( )
staticprivateinherited

◆ getMPIType() [3/10]

template<>
MPI_Datatype PLMD::Communicator::getMPIType ( )
staticprivateinherited

◆ getMPIType() [4/10]

template<>
MPI_Datatype PLMD::Communicator::getMPIType ( )
staticprivateinherited

◆ getMPIType() [5/10]

template<>
MPI_Datatype PLMD::Communicator::getMPIType ( )
staticprivateinherited

◆ getMPIType() [6/10]

template<>
MPI_Datatype PLMD::Communicator::getMPIType ( )
staticprivateinherited

◆ getMPIType() [7/10]

template<>
MPI_Datatype PLMD::Communicator::getMPIType ( )
staticprivateinherited

◆ getMPIType() [8/10]

template<>
MPI_Datatype PLMD::Communicator::getMPIType ( )
staticprivateinherited

◆ getMPIType() [9/10]

template<>
MPI_Datatype PLMD::Communicator::getMPIType ( )
staticprivateinherited

◆ getMPIType() [10/10]

template<class T>
MPI_Datatype PLMD::Communicator::getMPIType ( )
staticprivateinherited

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

◆ initialized()

bool PLMD::Communicator::initialized ( )
staticinherited

Tests if MPI library is initialized.

◆ Isend() [1/3]

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

Wrapper for MPI_Isend (reference).

◆ Isend() [2/3]

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

Wrapper for MPI_Isend (pointer).

◆ Isend() [3/3]

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

Wrapper for MPI_Isend (data struct).

◆ Max() [1/3]

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

Wrapper for MPI_Allreduce with MPI_MAX (data struct).

◆ Max() [2/3]

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

Wrapper for MPI_Allreduce with MPI_MAX (reference).

◆ Max() [3/3]

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

Wrapper for MPI_Allreduce with MPI_MAX (pointer).

◆ Min() [1/3]

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

Wrapper for MPI_Allreduce with MPI_MIN (data struct).

◆ Min() [2/3]

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

Wrapper for MPI_Allreduce with MPI_MIN (reference).

◆ Min() [3/3]

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

Wrapper for MPI_Allreduce with MPI_MIN (pointer).

◆ operator bool()

PLMD::Atoms::DomainDecomposition::operator bool ( ) const
inline

◆ plumedHasMPI()

bool PLMD::Communicator::plumedHasMPI ( )
staticinherited

Runtime acces to the __PLUMED_HAS_MPI definition.

◆ Prod() [1/3]

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

Wrapper for MPI_Allreduce with MPI_PROD (data struct).

◆ Prod() [2/3]

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

Wrapper for MPI_Allreduce with MPI_PROD (reference).

◆ Prod() [3/3]

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

Wrapper for MPI_Allreduce with MPI_PROD (pointer).

◆ Recv() [1/3]

void PLMD::Communicator::Recv ( Data data,
int source,
int tag,
Status & s = StatusIgnore )
inherited

Wrapper for MPI_Recv (data struct).

◆ Recv() [2/3]

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

Wrapper for MPI_Recv (reference).

◆ Recv() [3/3]

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

Wrapper for MPI_Recv (pointer).

◆ Set_comm() [1/2]

void PLMD::Communicator::Set_comm ( const TypesafePtr & comm)
inherited

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

Parameters
commPointer to a C MPI communicator

◆ Set_comm() [2/2]

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

Set from a real MPI communicator.

Parameters
commMPI communicator

◆ Set_fcomm()

void PLMD::Communicator::Set_fcomm ( const TypesafePtr & comm)
inherited

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

Parameters
commPointer to a FORTRAN MPI communicator (INTEGER)

◆ Split()

void PLMD::Communicator::Split ( int color,
int key,
Communicator & pc ) const
inherited

Wrapper to MPI_Comm_split.

◆ Sum() [1/3]

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

Wrapper for MPI_Allreduce with MPI_SUM (data struct).

◆ Sum() [2/3]

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

Wrapper for MPI_Allreduce with MPI_SUM (reference).

◆ Sum() [3/3]

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

Wrapper for MPI_Allreduce with MPI_SUM (pointer).

Member Data Documentation

◆ async

bool PLMD::Atoms::DomainDecomposition::async

◆ communicator

MPI_Comm PLMD::Communicator::communicator
privateinherited

◆ indexToBeReceived

std::vector<int> PLMD::Atoms::DomainDecomposition::indexToBeReceived

◆ indexToBeSent

std::vector<int> PLMD::Atoms::DomainDecomposition::indexToBeSent

◆ mpi_request_index

std::vector<Communicator::Request> PLMD::Atoms::DomainDecomposition::mpi_request_index

◆ mpi_request_positions

std::vector<Communicator::Request> PLMD::Atoms::DomainDecomposition::mpi_request_positions

◆ on

bool PLMD::Atoms::DomainDecomposition::on

◆ positionsToBeReceived

std::vector<double> PLMD::Atoms::DomainDecomposition::positionsToBeReceived

◆ positionsToBeSent

std::vector<double> PLMD::Atoms::DomainDecomposition::positionsToBeSent

◆ StatusIgnore

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: