MADNESS
version 0.9
|
This class wraps/extends the MPI interface for World. More...
#include <worldmpi.h>
Public Member Functions | |
WorldMpiInterface (const SafeMPI::Intracomm &comm) | |
~WorldMpiInterface () | |
SafeMPI::Intracomm & | comm () |
Returns the associated SafeMPI communicator. More... | |
template<typename T > | |
madness::disable_if < std::is_pointer< T > , SafeMPI::Request >::type | Isend (const T &datum, int dest, int tag=SafeMPI::DEFAULT_SEND_RECV_TAG) const |
Isend one element ... disabled for pointers to reduce accidental misuse. More... | |
template<typename T > | |
SafeMPI::Request | Irecv (T *buf, int count, int source, int tag=SafeMPI::DEFAULT_SEND_RECV_TAG) const |
Async receive data of up to lenbuf elements from process dest. More... | |
template<typename T > | |
madness::disable_if < std::is_pointer< T > , SafeMPI::Request >::type | Irecv (T &buf, int source, int tag=SafeMPI::DEFAULT_SEND_RECV_TAG) const |
Async receive datum from process dest with default tag=1. More... | |
template<class T > | |
void | Send (const T *buf, long lenbuf, int dest, int tag=SafeMPI::DEFAULT_SEND_RECV_TAG) const |
Send array of lenbuf elements to process dest. More... | |
template<typename T > | |
madness::disable_if < std::is_pointer< T >, void > ::type | Send (const T &datum, int dest, int tag=SafeMPI::DEFAULT_SEND_RECV_TAG) const |
Send element to process dest with default tag=1001. More... | |
template<typename T > | |
void | Recv (T *buf, long lenbuf, int src, int tag) const |
Receive data of up to lenbuf elements from process dest. More... | |
template<typename T > | |
void | Recv (T *buf, long lenbuf, int src, int tag, SafeMPI::Status &status) const |
Receive data of up to lenbuf elements from process dest with status. More... | |
template<typename T > | |
madness::disable_if < std::is_pointer< T >, void > ::type | Recv (T &buf, int src, int tag=SafeMPI::DEFAULT_SEND_RECV_TAG) const |
Receive datum from process src. More... | |
template<typename T > | |
void | Bcast (T *buffer, int count, int root) const |
MPI broadcast an array of count elements. More... | |
template<typename T > | |
madness::disable_if < std::is_pointer< T >, void > ::type | Bcast (T &buffer, int root) const |
MPI broadcast a datum. More... | |
int | rank () const |
int | nproc () const |
int | size () const |
Public Member Functions inherited from SafeMPI::Intracomm | |
Intracomm (const WorldInitObject &) | |
Intracomm (const MPI_Comm &comm, bool take_ownership_of_comm=true) | |
Intracomm (const Intracomm &other) | |
~Intracomm () | |
Intracomm | Create (Group group) const |
bool | operator== (const Intracomm &other) const |
Group | Get_group () const |
MPI_Comm & | Get_mpi_comm () const |
int | Get_rank () const |
int | Get_size () const |
Request | Isend (const void *buf, const int count, const MPI_Datatype datatype, const int dest, const int tag) const |
Request | Irecv (void *buf, const int count, const MPI_Datatype datatype, const int src, const int tag) const |
void | Send (const void *buf, const int count, const MPI_Datatype datatype, int dest, int tag) const |
void | Recv (void *buf, const int count, const MPI_Datatype datatype, const int source, const int tag, MPI_Status &status) const |
void | Recv (void *buf, const int count, const MPI_Datatype datatype, const int source, const int tag) const |
void | Bcast (void *buf, size_t count, const MPI_Datatype datatype, const int root) const |
void | Reduce (const void *sendbuf, void *recvbuf, const int count, const MPI_Datatype datatype, const MPI_Op op, const int root) const |
void | Allreduce (const void *sendbuf, void *recvbuf, const int count, const MPI_Datatype datatype, const MPI_Op op) const |
bool | Get_attr (int key, void *value) const |
void | Abort (int code=1) const |
void | Barrier () const |
int | unique_tag () |
Returns a unique tag for temporary use (1023<tag<=4095) More... | |
int | unique_reserved_tag () |
Returns a unique tag reserved for long-term use (0<tag<1000) More... | |
void | binary_tree_info (int root, int &parent, int &child0, int &child1) |
Construct info about a binary tree with given root. More... | |
This class wraps/extends the MPI interface for World.
|
inline |
References SafeMPI::Intracomm::Intracomm().
|
inline |
|
inline |
MPI broadcast an array of count elements.
NB. Read documentation about interaction of MPI collectives and AM/task handling.
References SafeMPI::Intracomm::Bcast(), MPI_BYTE, and std::tr1::T().
|
inline |
MPI broadcast a datum.
NB. Read documentation about interaction of MPI collectives and AM/task handling.
References SafeMPI::Intracomm::Bcast(), MPI_BYTE, and std::tr1::T().
|
inline |
Returns the associated SafeMPI communicator.
Referenced by madness::WorldAmInterface::WorldAmInterface().
|
inline |
Async receive data of up to lenbuf elements from process dest.
References SafeMPI::Intracomm::Irecv(), MPI_BYTE, and std::tr1::T().
Referenced by madness::WorldGopInterface::broadcast(), and madness::WorldGopInterface::fence().
|
inline |
Async receive datum from process dest with default tag=1.
References SafeMPI::Intracomm::Irecv(), MPI_BYTE, and std::tr1::T().
|
inline |
Isend one element ... disabled for pointers to reduce accidental misuse.
References SafeMPI::Intracomm::Isend(), MPI_BYTE, and std::tr1::T().
Referenced by madness::WorldGopInterface::broadcast(), and madness::WorldGopInterface::fence().
|
inline |
References SafeMPI::Intracomm::Get_size().
Referenced by madness::World::nproc().
|
inline |
References SafeMPI::Intracomm::Get_rank().
Referenced by madness::World::rank(), and madness::redirectio().
|
inline |
Receive data of up to lenbuf elements from process dest.
References MPI_BYTE, SafeMPI::Intracomm::Recv(), and std::tr1::T().
Referenced by madness::archive::MPIRawInputArchive::load(), madness::archive::MPIInputArchive::load(), and madness::archive::ArchiveStoreImpl< ParallelOutputArchive, WorldContainer< keyT, valueT > >::store().
|
inline |
Receive data of up to lenbuf elements from process dest with status.
References MPI_BYTE, SafeMPI::Intracomm::Recv(), and std::tr1::T().
|
inline |
Receive datum from process src.
References MPI_BYTE, SafeMPI::Intracomm::Recv(), and std::tr1::T().
|
inline |
Send array of lenbuf elements to process dest.
References MPI_BYTE, SafeMPI::Intracomm::Send(), and std::tr1::T().
Referenced by madness::archive::MPIOutputArchive::flush(), madness::archive::MPIRawOutputArchive::store(), and madness::archive::ArchiveStoreImpl< ParallelOutputArchive, WorldContainer< keyT, valueT > >::store().
|
inline |
Send element to process dest with default tag=1001.
Disabled for pointers to reduce accidental misuse.
References MPI_BYTE, SafeMPI::Intracomm::Send(), and std::tr1::T().
|
inline |
References SafeMPI::Intracomm::Get_size().
Referenced by madness::World::size().