#include <boost/optional.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/weak_ptr.hpp>
#include <utility>
#include <memory>
#include <boost/function/function1.hpp>
#include <boost/function/function2.hpp>
#include <boost/function/function0.hpp>
#include <boost/mpi.hpp>
#include <boost/property_map/parallel/process_group.hpp>
#include <boost/utility/enable_if.hpp>
#include <boost/graph/distributed/detail/mpi_process_group.ipp>
Classes | |
struct | boost::graph::distributed::mpi_process_group_tag |
class | boost::graph::distributed::mpi_process_group |
struct | boost::graph::distributed::mpi_process_group::create_empty |
Used as a tag to help create an "empty" process group. More... | |
struct | boost::graph::distributed::mpi_process_group::communication_category |
Classification of the capabilities of this process group. More... | |
struct | boost::graph::distributed::mpi_process_group::message_header |
struct | boost::graph::distributed::mpi_process_group::outgoing_messages |
Stores the outgoing messages for a particular processor. More... | |
struct | boost::mpi::is_mpi_datatype< boost::graph::distributed::mpi_process_group::message_header > |
Namespaces | |
boost | |
Duration formatting facet for input. | |
boost::graph | |
boost::graph::distributed | |
boost::mpi | |
Macros | |
#define | SEND_OOB_BSEND |
Functions | |
mpi_process_group::process_id_type | boost::graph::distributed::process_id (const mpi_process_group &pg) |
mpi_process_group::process_size_type | boost::graph::distributed::num_processes (const mpi_process_group &pg) |
mpi_process_group::communicator_type | boost::graph::distributed::communicator (const mpi_process_group &pg) |
template<typename T > | |
void | boost::graph::distributed::send (const mpi_process_group &pg, mpi_process_group::process_id_type dest, int tag, const T &value) |
template<typename InputIterator > | |
void | boost::graph::distributed::send (const mpi_process_group &pg, mpi_process_group::process_id_type dest, int tag, InputIterator first, InputIterator last) |
template<typename T > | |
void | boost::graph::distributed::send (const mpi_process_group &pg, mpi_process_group::process_id_type dest, int tag, T *first, T *last) |
template<typename T > | |
void | boost::graph::distributed::send (const mpi_process_group &pg, mpi_process_group::process_id_type dest, int tag, const T *first, const T *last) |
template<typename T > | |
mpi_process_group::process_id_type | boost::graph::distributed::receive (const mpi_process_group &pg, int tag, T &value) |
template<typename T > | |
mpi_process_group::process_id_type | boost::graph::distributed::receive (const mpi_process_group &pg, mpi_process_group::process_id_type source, int tag, T &value) |
optional< std::pair < mpi_process_group::process_id_type, int > > | boost::graph::distributed::probe (const mpi_process_group &pg) |
void | boost::graph::distributed::synchronize (const mpi_process_group &pg) |
template<typename T , typename BinaryOperation > | |
T * | boost::graph::distributed::all_reduce (const mpi_process_group &pg, T *first, T *last, T *out, BinaryOperation bin_op) |
template<typename T , typename BinaryOperation > | |
T * | boost::graph::distributed::scan (const mpi_process_group &pg, T *first, T *last, T *out, BinaryOperation bin_op) |
template<typename InputIterator , typename T > | |
void | boost::graph::distributed::all_gather (const mpi_process_group &pg, InputIterator first, InputIterator last, std::vector< T > &out) |
template<typename InputIterator > | |
mpi_process_group | boost::graph::distributed::process_subgroup (const mpi_process_group &pg, InputIterator first, InputIterator last) |
template<typename T > | |
void | boost::graph::distributed::broadcast (const mpi_process_group &pg, T &val, mpi_process_group::process_id_type root) |
template<typename T > | |
enable_if < boost::mpi::is_mpi_datatype < T > >::type | boost::graph::distributed::send_oob (const mpi_process_group &pg, mpi_process_group::process_id_type dest, int tag, const T &value, int block=-1) |
template<typename T > | |
disable_if < boost::mpi::is_mpi_datatype < T > >::type | boost::graph::distributed::send_oob (const mpi_process_group &pg, mpi_process_group::process_id_type dest, int tag, const T &value, int block=-1) |
template<typename T > | |
enable_if < boost::mpi::is_mpi_datatype < T > >::type | boost::graph::distributed::receive_oob (const mpi_process_group &pg, mpi_process_group::process_id_type source, int tag, T &value, int block=-1) |
template<typename T > | |
disable_if < boost::mpi::is_mpi_datatype < T > >::type | boost::graph::distributed::receive_oob (const mpi_process_group &pg, mpi_process_group::process_id_type source, int tag, T &value, int block=-1) |
template<typename SendT , typename ReplyT > | |
enable_if < boost::mpi::is_mpi_datatype < ReplyT > >::type | boost::graph::distributed::send_oob_with_reply (const mpi_process_group &pg, mpi_process_group::process_id_type dest, int tag, const SendT &send_value, ReplyT &reply_value, int block=-1) |
template<typename SendT , typename ReplyT > | |
disable_if < boost::mpi::is_mpi_datatype < ReplyT > >::type | boost::graph::distributed::send_oob_with_reply (const mpi_process_group &pg, mpi_process_group::process_id_type dest, int tag, const SendT &send_value, ReplyT &reply_value, int block=-1) |
void | std::swap (boost::graph::distributed::mpi_process_group::outgoing_messages &x, boost::graph::distributed::mpi_process_group::outgoing_messages &y) |
optimized swap for outgoing messages More... | |
#define SEND_OOB_BSEND |