Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
mpi_process_group.hpp File Reference
#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>
Include dependency graph for mpi_process_group.hpp:

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 >
Tboost::graph::distributed::all_reduce (const mpi_process_group &pg, T *first, T *last, T *out, BinaryOperation bin_op)
 
template<typename T , typename BinaryOperation >
Tboost::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...
 

Macro Definition Documentation

#define SEND_OOB_BSEND