ALPSCore reference
|
Header for object-oriented interface to MPI (similar to boost::mpi) More...
#include <mpi.h>
#include <vector>
#include <complex>
#include <exception>
#include <functional>
#include <algorithm>
#include <memory>
#include <stdexcept>
#include <typeinfo>
Go to the source code of this file.
Classes | |
class | alps::mpi::communicator |
Encapsulation of an MPI communicator and some communicator-related operations. More... | |
class | alps::mpi::environment |
MPI environment RAII class. More... | |
class | alps::mpi::maximum< T > |
Class-holder for reduction operations (and a functor) for type T. More... | |
class | alps::mpi::is_mpi_op< OP, T > |
Trait for MPI reduction operations. More... | |
class | alps::mpi::is_mpi_op< std::plus< T >, T > |
Trait for MPI reduction operations: specialization for addition. More... | |
class | alps::mpi::is_mpi_op< maximum< T >, T > |
Trait for MPI reduction operations: specialization for maximum. More... | |
Namespaces | |
alps | |
alps::mpi | |
Enumerations | |
enum | alps::mpi::comm_create_kind { alps::mpi::comm_attach, alps::mpi::comm_duplicate, alps::mpi::take_ownership } |
Possible ways to make a C++ object from MPI communicator. More... | |
Functions | |
template<typename T > | |
void | alps::mpi::broadcast (const communicator &comm, T *vals, std::size_t count, int root) |
Broadcasts array vals of a primitive type T , length count on communicator comm with root root More... | |
void | alps::mpi::broadcast (const communicator &comm, bool *vals, std::size_t count, int root) |
MPI_BCast of an array: overload for bool. More... | |
template<typename T > | |
void | alps::mpi::broadcast (const communicator &comm, std::complex< T > *vals, std::size_t count, int root) |
MPI_BCast of an array: overload for std::complex. More... | |
template<typename T > | |
void | alps::mpi::broadcast (const communicator &comm, T &val, int root) |
Broadcasts value val of a primitive type T on communicator comm with root root More... | |
void | alps::mpi::broadcast (const communicator &comm, std::string &val, int root) |
MPI_BCast of a single value: overload for std::string More... | |
template<typename T > | |
MPI_Datatype | alps::mpi::get_mpi_datatype (const T &) |
Returns MPI datatype for the value of type T More... | |
template<typename T > | |
void | alps::mpi::all_gather (const communicator &comm, const T &in_val, std::vector< T > &out_vals) |
performs MPI_Allgather() for primitive type T More... | |
template<typename T , typename OP > | |
void | alps::mpi::all_reduce (const alps::mpi::communicator &comm, const T *val, int n, T *out_val, const OP &) |
Performs MPI_Allreduce for array of a primitive type, T[n]. More... | |
template<typename T , typename OP > | |
void | alps::mpi::all_reduce (const alps::mpi::communicator &comm, const T &val, T &out_val, const OP &op) |
Performs MPI_Allreduce for a primitive type T. More... | |
template<typename T , typename OP > | |
T | alps::mpi::all_reduce (const alps::mpi::communicator &comm, const T &val, const OP &op) |
Performs MPI_Allreduce for a primitive type T. More... | |
Header for object-oriented interface to MPI (similar to boost::mpi)
The interface provided by this file is intended to be (almost) drop-in replacemnt for the subset of boost::mpi functionality used by ALPSCore.
Definition in file mpi.hpp.