Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::graph::distributed Namespace Reference

Namespaces

 cc_detail
 
 cc_ps_detail
 
 detail
 
 hohberg_detail
 

Classes

struct  additive_reducer
 
struct  always_push
 A unary predicate that always returns "true". More...
 
struct  choose_min_reducer
 
class  delta_stepping_impl
 
class  distributed_cooling_proxy
 
class  distributed_force_pairs_proxy
 
class  distributed_queue
 A distributed queue adaptor. More...
 
struct  first_fit_color
 
struct  global_index
 
struct  hashed_distribution
 
struct  hohberg_message
 
class  hohberg_vertex_processor
 
struct  maybe_named_graph
 A graph mixin that can provide a mapping from names to vertices, and use that mapping to simplify creation and manipulation of graphs. More...
 
struct  maybe_named_graph< Graph, Vertex, Edge, Config, void >
 A graph mixin that can provide a mapping from names to vertices, and use that mapping to simplify creation and manipulation of graphs. More...
 
class  mpi_process_group
 
struct  mpi_process_group_tag
 
class  named_graph
 named_graph is a mixin that provides names for the vertices of a graph, including a mapping from names to vertices. More...
 
class  neighboring_tiles_force_pairs
 
struct  no_force_pairs
 
struct  not_is_named_graph
 meta-function helping in figuring out if the given VertextProerty belongs to a named graph More...
 
struct  point_accumulating_reducer
 
struct  property_map_reader
 
struct  select_distribution
 Specialization for named graphs. More...
 
struct  select_distribution< InDistribution, VertexProperty, VertexSize, ProcessGroup, void >
 Specialization for non-named graphs. More...
 
struct  shuffled_distribution
 
class  simple_tiling
 

Enumerations

enum  fhp_message_tags {
  fhp_edges_size_msg,
  fhp_add_edges_msg,
  fhp_pred_size_msg,
  fhp_pred_msg,
  fhp_succ_size_msg,
  fhp_succ_msg
}
 

Functions

template<typename DistributedGraph , typename ColorMap , typename ChooseColor , typename VertexOrdering , typename VertexIndexMap >
property_traits< ColorMap >
::value_type 
boman_et_al_graph_coloring (const DistributedGraph &g, ColorMap color, typename graph_traits< DistributedGraph >::vertices_size_type s, ChooseColor choose_color, VertexOrdering ordering, VertexIndexMap vertex_index)
 
template<typename DistributedGraph , typename ColorMap , typename ChooseColor , typename VertexOrdering >
property_traits< ColorMap >
::value_type 
boman_et_al_graph_coloring (const DistributedGraph &g, ColorMap color, typename graph_traits< DistributedGraph >::vertices_size_type s, ChooseColor choose_color, VertexOrdering ordering)
 
template<typename DistributedGraph , typename ColorMap , typename ChooseColor >
property_traits< ColorMap >
::value_type 
boman_et_al_graph_coloring (const DistributedGraph &g, ColorMap color, typename graph_traits< DistributedGraph >::vertices_size_type s, ChooseColor choose_color)
 
template<typename DistributedGraph , typename ColorMap >
property_traits< ColorMap >
::value_type 
boman_et_al_graph_coloring (const DistributedGraph &g, ColorMap color, typename graph_traits< DistributedGraph >::vertices_size_type s=100)
 
template<typename Graph , typename ParentMap , typename ComponentMap >
property_traits< ComponentMap >
::value_type 
number_components_from_parents (const Graph &g, ParentMap p, ComponentMap c)
 
template<typename Graph , typename ParentMap >
int number_components_from_parents (const Graph &g, ParentMap p, dummy_property_map)
 
template<typename Graph , typename ComponentMap , typename ParentMap >
property_traits< ComponentMap >
::value_type 
connected_components (const Graph &g, ComponentMap c, ParentMap p BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph, distributed_graph_tag))
 
template<typename Graph , typename ComponentMap >
property_traits< ComponentMap >
::value_type 
connected_components (const Graph &g, ComponentMap c BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph, distributed_graph_tag))
 
template<typename Graph , typename ComponentMap >
property_traits< ComponentMap >
::value_type 
connected_components_ps (const Graph &g, ComponentMap c)
 
template<typename DistributedGraph , typename DijkstraVisitor , typename PredecessorMap , typename DistanceMap , typename WeightMap , typename IndexMap , typename ColorMap , typename Compare , typename Combine , typename DistInf , typename DistZero >
void crauser_et_al_shortest_paths (const DistributedGraph &g, typename graph_traits< DistributedGraph >::vertex_descriptor s, PredecessorMap predecessor, DistanceMap distance, WeightMap weight, IndexMap index_map, ColorMap color_map, Compare compare, Combine combine, DistInf inf, DistZero zero, DijkstraVisitor vis)
 
template<typename DistributedGraph , typename PredecessorMap , typename DistanceMap , typename WeightMap >
void crauser_et_al_shortest_paths (const DistributedGraph &g, typename graph_traits< DistributedGraph >::vertex_descriptor s, PredecessorMap predecessor, DistanceMap distance, WeightMap weight)
 
template<typename DistributedGraph , typename PredecessorMap , typename DistanceMap >
void crauser_et_al_shortest_paths (const DistributedGraph &g, typename graph_traits< DistributedGraph >::vertex_descriptor s, PredecessorMap predecessor, DistanceMap distance)
 
template<typename Graph , typename PredecessorMap , typename DistanceMap , typename EdgeWeightMap >
void delta_stepping_shortest_paths (const Graph &g, typename graph_traits< Graph >::vertex_descriptor s, PredecessorMap predecessor, DistanceMap distance, EdgeWeightMap weight, typename property_traits< EdgeWeightMap >::value_type delta)
 
template<typename Graph , typename PredecessorMap , typename DistanceMap , typename EdgeWeightMap >
void delta_stepping_shortest_paths (const Graph &g, typename graph_traits< Graph >::vertex_descriptor s, PredecessorMap predecessor, DistanceMap distance, EdgeWeightMap weight)
 
template<typename DistributedGraph , typename ColorMap , typename ParentMap , typename ExploreMap , typename VertexIndexMap , typename DFSVisitor >
void tsin_depth_first_visit (const DistributedGraph &g, typename graph_traits< DistributedGraph >::vertex_descriptor s, DFSVisitor vis, ColorMap color, ParentMap parent, ExploreMap explore, VertexIndexMap index_map)
 
template<typename DistributedGraph , typename DFSVisitor , typename VertexIndexMap >
void tsin_depth_first_visit (const DistributedGraph &g, typename graph_traits< DistributedGraph >::vertex_descriptor s, DFSVisitor vis, VertexIndexMap index_map)
 
template<typename DistributedGraph , typename DFSVisitor , typename VertexIndexMap >
void tsin_depth_first_visit (const DistributedGraph &g, typename graph_traits< DistributedGraph >::vertex_descriptor s, DFSVisitor vis)
 
template<typename DistributedGraph , typename DijkstraVisitor , typename PredecessorMap , typename DistanceMap , typename WeightMap , typename IndexMap , typename ColorMap , typename Compare , typename Combine , typename DistInf , typename DistZero >
void eager_dijkstra_shortest_paths (const DistributedGraph &g, typename graph_traits< DistributedGraph >::vertex_descriptor s, PredecessorMap predecessor, DistanceMap distance, typename property_traits< DistanceMap >::value_type lookahead, WeightMap weight, IndexMap index_map, ColorMap color_map, Compare compare, Combine combine, DistInf inf, DistZero zero, DijkstraVisitor vis)
 
template<typename DistributedGraph , typename DijkstraVisitor , typename PredecessorMap , typename DistanceMap , typename WeightMap >
void eager_dijkstra_shortest_paths (const DistributedGraph &g, typename graph_traits< DistributedGraph >::vertex_descriptor s, PredecessorMap predecessor, DistanceMap distance, typename property_traits< DistanceMap >::value_type lookahead, WeightMap weight)
 
template<typename DistributedGraph , typename DijkstraVisitor , typename PredecessorMap , typename DistanceMap >
void eager_dijkstra_shortest_paths (const DistributedGraph &g, typename graph_traits< DistributedGraph >::vertex_descriptor s, PredecessorMap predecessor, DistanceMap distance, typename property_traits< DistanceMap >::value_type lookahead)
 
template<typename PositionMap , typename DisplacementMap , typename LocalForces >
distributed_force_pairs_proxy
< PositionMap, DisplacementMap,
LocalForces > 
make_distributed_force_pairs (const PositionMap &position, const DisplacementMap &displacement, const LocalForces &local_forces)
 
template<typename PositionMap , typename DisplacementMap , typename LocalForces , typename NonLocalForces >
distributed_force_pairs_proxy
< PositionMap, DisplacementMap,
LocalForces, NonLocalForces > 
make_distributed_force_pairs (const PositionMap &position, const DisplacementMap &displacement, const LocalForces &local_forces, const NonLocalForces &nonlocal_forces)
 
template<typename PositionMap >
neighboring_tiles_force_pairs
< PositionMap > 
make_neighboring_tiles_force_pairs (PositionMap position, typename property_traits< PositionMap >::value_type origin, typename property_traits< PositionMap >::value_type extent, simple_tiling tiling)
 
template<typename DisplacementMap , typename Cooling >
distributed_cooling_proxy
< DisplacementMap, Cooling > 
make_distributed_cooling (const DisplacementMap &displacement, const Cooling &cooling)
 
template<typename Graph , typename PositionMap , typename AttractiveForce , typename RepulsiveForce , typename ForcePairs , typename Cooling , typename DisplacementMap >
void fruchterman_reingold_force_directed_layout (const Graph &g, PositionMap position, typename property_traits< PositionMap >::value_type const &origin, typename property_traits< PositionMap >::value_type const &extent, AttractiveForce attractive_force, RepulsiveForce repulsive_force, ForcePairs force_pairs, Cooling cool, DisplacementMap displacement)
 
template<typename Graph , typename PositionMap , typename AttractiveForce , typename RepulsiveForce , typename ForcePairs , typename Cooling , typename DisplacementMap >
void fruchterman_reingold_force_directed_layout (const Graph &g, PositionMap position, typename property_traits< PositionMap >::value_type const &origin, typename property_traits< PositionMap >::value_type const &extent, AttractiveForce attractive_force, RepulsiveForce repulsive_force, ForcePairs force_pairs, Cooling cool, DisplacementMap displacement, simple_tiling tiling)
 
template<typename Graph , typename InputIterator , typename ComponentMap , typename VertexProcessorMap >
graph_traits< Graph >
::edges_size_type 
hohberg_biconnected_components (const Graph &g, ComponentMap component, InputIterator first, InputIterator last, VertexProcessorMap vertex_processor)
 
template<typename Graph , typename ComponentMap , typename InputIterator >
graph_traits< Graph >
::edges_size_type 
hohberg_biconnected_components (const Graph &g, ComponentMap component, InputIterator first, InputIterator last)
 
template<typename Graph , typename ComponentMap , typename ParentMap >
graph_traits< Graph >
::edges_size_type 
hohberg_biconnected_components (const Graph &g, ComponentMap component, ParentMap parent)
 
template<typename Graph , typename ComponentMap >
graph_traits< Graph >
::edges_size_type 
hohberg_biconnected_components (const Graph &g, ComponentMap component)
 
mpi_process_group::process_id_type process_id (const mpi_process_group &pg)
 
mpi_process_group::process_size_type num_processes (const mpi_process_group &pg)
 
mpi_process_group::communicator_type communicator (const mpi_process_group &pg)
 
template<typename T >
void send (const mpi_process_group &pg, mpi_process_group::process_id_type dest, int tag, const T &value)
 
template<typename InputIterator >
void send (const mpi_process_group &pg, mpi_process_group::process_id_type dest, int tag, InputIterator first, InputIterator last)
 
template<typename T >
void send (const mpi_process_group &pg, mpi_process_group::process_id_type dest, int tag, T *first, T *last)
 
template<typename T >
void 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 receive (const mpi_process_group &pg, int tag, T &value)
 
template<typename T >
mpi_process_group::process_id_type 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 > > 
probe (const mpi_process_group &pg)
 
void synchronize (const mpi_process_group &pg)
 
template<typename T , typename BinaryOperation >
Tall_reduce (const mpi_process_group &pg, T *first, T *last, T *out, BinaryOperation bin_op)
 
template<typename T , typename BinaryOperation >
Tscan (const mpi_process_group &pg, T *first, T *last, T *out, BinaryOperation bin_op)
 
template<typename InputIterator , typename T >
void all_gather (const mpi_process_group &pg, InputIterator first, InputIterator last, std::vector< T > &out)
 
template<typename InputIterator >
mpi_process_group process_subgroup (const mpi_process_group &pg, InputIterator first, InputIterator last)
 
template<typename T >
void 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 
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 
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 
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 
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 
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 
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 Graph , typename Vertex , typename Edge , typename Config >
optional< Vertexfind_vertex (typename named_graph< Graph, Vertex, Edge, Config >::vertex_name_type const &name, const named_graph< Graph, Vertex, Edge, Config > &g)
 Retrieve the vertex associated with the given name. More...
 
template<typename Graph >
Graph::named_graph_type::lazy_add_vertex add_vertex (typename Graph::vertex_name_type const &name, Graph &g, typename disable_if< not_is_named_graph< typename Graph::vertex_property_type >, void * >::type=0)
 Retrieve the vertex associated with the given name. More...
 
template<typename Graph , typename Vertex , typename Edge , typename Config >
named_graph< Graph, Vertex,
Edge, Config >::lazy_add_edge 
add_edge (typename named_graph< Graph, Vertex, Edge, Config >::vertex_name_type const &u_name, typename named_graph< Graph, Vertex, Edge, Config >::vertex_name_type const &v_name, named_graph< Graph, Vertex, Edge, Config > &g)
 Add an edge using vertex names to refer to the vertices. More...
 
template<typename Graph , typename Vertex , typename Edge , typename Config >
named_graph< Graph, Vertex,
Edge, Config >::lazy_add_edge 
add_edge (typename named_graph< Graph, Vertex, Edge, Config >::vertex_name_type const &u_name, typename named_graph< Graph, Vertex, Edge, Config >::vertex_descriptor const &v, named_graph< Graph, Vertex, Edge, Config > &g)
 
template<typename Graph , typename Vertex , typename Edge , typename Config >
named_graph< Graph, Vertex,
Edge, Config >::lazy_add_edge 
add_edge (typename named_graph< Graph, Vertex, Edge, Config >::vertex_descriptor const &u, typename named_graph< Graph, Vertex, Edge, Config >::vertex_name_type const &v_name, named_graph< Graph, Vertex, Edge, Config > &g)
 
template<typename Graph , typename Vertex , typename Edge , typename Config >
named_graph< Graph, Vertex,
Edge, Config >
::lazy_add_edge_with_property 
add_edge (typename named_graph< Graph, Vertex, Edge, Config >::vertex_name_type const &u_name, typename named_graph< Graph, Vertex, Edge, Config >::vertex_name_type const &v_name, typename Graph::edge_property_type const &property, named_graph< Graph, Vertex, Edge, Config > &g)
 Add an edge using vertex names to refer to the vertices. More...
 
template<typename Graph , typename Vertex , typename Edge , typename Config >
named_graph< Graph, Vertex,
Edge, Config >
::lazy_add_edge_with_property 
add_edge (typename named_graph< Graph, Vertex, Edge, Config >::vertex_name_type const &u_name, typename named_graph< Graph, Vertex, Edge, Config >::vertex_descriptor const &v, typename Graph::edge_property_type const &property, named_graph< Graph, Vertex, Edge, Config > &g)
 
template<typename Graph , typename Vertex , typename Edge , typename Config >
named_graph< Graph, Vertex,
Edge, Config >
::lazy_add_edge_with_property 
add_edge (typename named_graph< Graph, Vertex, Edge, Config >::vertex_descriptor const &u, typename named_graph< Graph, Vertex, Edge, Config >::vertex_name_type const &v_name, typename Graph::edge_property_type const &property, named_graph< Graph, Vertex, Edge, Config > &g)
 
template<typename Graph , typename RankMap , typename Done , typename RankMap2 >
void page_rank_impl (const Graph &g, RankMap rank_map, Done done, typename property_traits< RankMap >::value_type damping, typename graph_traits< Graph >::vertices_size_type n, RankMap2 rank_map2)
 
template<typename Graph , typename RankMap , typename Done , typename RankMap2 >
void page_rank (const Graph &g, RankMap rank_map, Done done, typename property_traits< RankMap >::value_type damping, typename graph_traits< Graph >::vertices_size_type n, RankMap2 rank_map2 BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph, distributed_graph_tag))
 
template<typename MutableGraph >
void remove_dangling_links (MutableGraph &g BOOST_GRAPH_ENABLE_IF_MODELS_PARM(MutableGraph, distributed_graph_tag))
 
template<typename ProcessGroup , typename OwnerMap , typename Buffer , typename UnaryPredicate >
void synchronize (const distributed_queue< ProcessGroup, OwnerMap, Buffer, UnaryPredicate > &Q)
 Synchronize all processes involved with the given distributed queue. More...
 
template<typename ProcessGroup , typename OwnerMap , typename Buffer >
distributed_queue
< ProcessGroup, OwnerMap,
Buffer > 
make_distributed_queue (const ProcessGroup &process_group, const OwnerMap &owner, const Buffer &buffer, bool polling=false)
 Construct a new distributed queue. More...
 
template<typename DistributedGraph , typename ColorMap , typename OwnerMap >
bool st_connected (const DistributedGraph &g, typename graph_traits< DistributedGraph >::vertex_descriptor s, typename graph_traits< DistributedGraph >::vertex_descriptor t, ColorMap color, OwnerMap owner)
 
template<typename DistributedGraph , typename ColorMap >
bool st_connected (const DistributedGraph &g, typename graph_traits< DistributedGraph >::vertex_descriptor s, typename graph_traits< DistributedGraph >::vertex_descriptor t, ColorMap color)
 
template<typename DistributedGraph >
bool st_connected (const DistributedGraph &g, typename graph_traits< DistributedGraph >::vertex_descriptor s, typename graph_traits< DistributedGraph >::vertex_descriptor t)
 
template<typename Graph , typename ReverseGraph , typename VertexComponentMap , typename IsoMapFR , typename IsoMapRF , typename VertexIndexMap >
void fleischer_hendrickson_pinar_strong_components (const Graph &g, VertexComponentMap c, const ReverseGraph &gr, IsoMapFR fr, IsoMapRF rf, VertexIndexMap vertex_index_map)
 
template<typename Graph , typename ReverseGraph , typename IsoMap >
void build_reverse_graph (const Graph &g, ReverseGraph &gr, IsoMap &fr, IsoMap &rf)
 
template<typename Graph , typename VertexComponentMap , typename ComponentMap >
property_traits< ComponentMap >
::value_type 
number_components (const Graph &g, VertexComponentMap r, ComponentMap c)
 
template<typename Graph , typename ComponentMap , typename VertexComponentMap , typename VertexIndexMap >
property_traits< ComponentMap >
::value_type 
fleischer_hendrickson_pinar_strong_components_impl (const Graph &g, ComponentMap c, VertexComponentMap r, VertexIndexMap vertex_index_map, incidence_graph_tag)
 
template<typename Graph , typename ComponentMap , typename VertexComponentMap , typename VertexIndexMap >
property_traits< ComponentMap >
::value_type 
fleischer_hendrickson_pinar_strong_components_impl (const Graph &g, ComponentMap c, VertexComponentMap r, VertexIndexMap vertex_index_map, bidirectional_graph_tag)
 
template<typename Graph , typename ComponentMap , typename VertexIndexMap >
property_traits< ComponentMap >
::value_type 
fleischer_hendrickson_pinar_strong_components (const Graph &g, ComponentMap c, VertexIndexMap vertex_index_map)
 
template<typename Graph , typename ComponentMap >
property_traits< ComponentMap >
::value_type 
fleischer_hendrickson_pinar_strong_components (const Graph &g, ComponentMap c)
 

Enumeration Type Documentation

Enumerator
fhp_edges_size_msg 
fhp_add_edges_msg 
fhp_pred_size_msg 
fhp_pred_msg 
fhp_succ_size_msg 
fhp_succ_msg 

Function Documentation

template<typename Graph , typename Vertex , typename Edge , typename Config >
named_graph<Graph, Vertex, Edge, Config>::lazy_add_edge boost::graph::distributed::add_edge ( typename named_graph< Graph, Vertex, Edge, Config >::vertex_name_type const &  u_name,
typename named_graph< Graph, Vertex, Edge, Config >::vertex_descriptor const &  v,
named_graph< Graph, Vertex, Edge, Config > &  g 
)

References add_vertex(), and process_id().

template<typename Graph , typename Vertex , typename Edge , typename Config >
named_graph<Graph, Vertex, Edge, Config>::lazy_add_edge boost::graph::distributed::add_edge ( typename named_graph< Graph, Vertex, Edge, Config >::vertex_descriptor const &  u,
typename named_graph< Graph, Vertex, Edge, Config >::vertex_name_type const &  v_name,
named_graph< Graph, Vertex, Edge, Config > &  g 
)

References add_vertex(), and process_id().

template<typename Graph , typename Vertex , typename Edge , typename Config >
named_graph<Graph, Vertex, Edge, Config>::lazy_add_edge_with_property boost::graph::distributed::add_edge ( typename named_graph< Graph, Vertex, Edge, Config >::vertex_name_type const &  u_name,
typename named_graph< Graph, Vertex, Edge, Config >::vertex_name_type const &  v_name,
typename Graph::edge_property_type const &  property,
named_graph< Graph, Vertex, Edge, Config > &  g 
)

Add an edge using vertex names to refer to the vertices.

References add_vertex(), and process_id().

template<typename Graph , typename Vertex , typename Edge , typename Config >
named_graph<Graph, Vertex, Edge, Config>::lazy_add_edge_with_property boost::graph::distributed::add_edge ( typename named_graph< Graph, Vertex, Edge, Config >::vertex_name_type const &  u_name,
typename named_graph< Graph, Vertex, Edge, Config >::vertex_descriptor const &  v,
typename Graph::edge_property_type const &  property,
named_graph< Graph, Vertex, Edge, Config > &  g 
)

References add_vertex(), and process_id().

template<typename Graph , typename Vertex , typename Edge , typename Config >
named_graph<Graph, Vertex, Edge, Config>::lazy_add_edge_with_property boost::graph::distributed::add_edge ( typename named_graph< Graph, Vertex, Edge, Config >::vertex_descriptor const &  u,
typename named_graph< Graph, Vertex, Edge, Config >::vertex_name_type const &  v_name,
typename Graph::edge_property_type const &  property,
named_graph< Graph, Vertex, Edge, Config > &  g 
)

References add_vertex(), and process_id().

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 DistributedGraph , typename ColorMap , typename ChooseColor , typename VertexOrdering , typename VertexIndexMap >
property_traits<ColorMap>::value_type boost::graph::distributed::boman_et_al_graph_coloring ( const DistributedGraph &  g,
ColorMap  color,
typename graph_traits< DistributedGraph >::vertices_size_type  s,
ChooseColor  choose_color,
VertexOrdering  ordering,
VertexIndexMap  vertex_index 
)
template<typename DistributedGraph , typename ColorMap , typename ChooseColor , typename VertexOrdering >
property_traits<ColorMap>::value_type boost::graph::distributed::boman_et_al_graph_coloring ( const DistributedGraph &  g,
ColorMap  color,
typename graph_traits< DistributedGraph >::vertices_size_type  s,
ChooseColor  choose_color,
VertexOrdering  ordering 
)
inline
template<typename DistributedGraph , typename ColorMap , typename ChooseColor >
property_traits<ColorMap>::value_type boost::graph::distributed::boman_et_al_graph_coloring ( const DistributedGraph &  g,
ColorMap  color,
typename graph_traits< DistributedGraph >::vertices_size_type  s,
ChooseColor  choose_color 
)
inline
template<typename DistributedGraph , typename ColorMap >
property_traits<ColorMap>::value_type boost::graph::distributed::boman_et_al_graph_coloring ( const DistributedGraph &  g,
ColorMap  color,
typename graph_traits< DistributedGraph >::vertices_size_type  s = 100 
)
inline
template<typename T >
void boost::graph::distributed::broadcast ( const mpi_process_group &  pg,
T val,
mpi_process_group::process_id_type  root 
)
mpi_process_group::communicator_type boost::graph::distributed::communicator ( const mpi_process_group &  pg)
template<typename Graph , typename ComponentMap , typename ParentMap >
property_traits<ComponentMap>::value_type boost::graph::distributed::connected_components ( const Graph &  g,
ComponentMap  c,
ParentMap p   BOOST_GRAPH_ENABLE_IF_MODELS_PARMGraph, distributed_graph_tag 
)
template<typename Graph , typename ComponentMap >
property_traits<ComponentMap>::value_type boost::graph::distributed::connected_components ( const Graph &  g,
ComponentMap c   BOOST_GRAPH_ENABLE_IF_MODELS_PARMGraph, distributed_graph_tag 
)
template<typename DistributedGraph , typename DijkstraVisitor , typename PredecessorMap , typename DistanceMap , typename WeightMap , typename IndexMap , typename ColorMap , typename Compare , typename Combine , typename DistInf , typename DistZero >
void boost::graph::distributed::crauser_et_al_shortest_paths ( const DistributedGraph &  g,
typename graph_traits< DistributedGraph >::vertex_descriptor  s,
PredecessorMap  predecessor,
DistanceMap  distance,
WeightMap  weight,
IndexMap  index_map,
ColorMap  color_map,
Compare  compare,
Combine  combine,
DistInf  inf,
DistZero  zero,
DijkstraVisitor  vis 
)
template<typename DistributedGraph , typename PredecessorMap , typename DistanceMap , typename WeightMap >
void boost::graph::distributed::crauser_et_al_shortest_paths ( const DistributedGraph &  g,
typename graph_traits< DistributedGraph >::vertex_descriptor  s,
PredecessorMap  predecessor,
DistanceMap  distance,
WeightMap  weight 
)
template<typename DistributedGraph , typename PredecessorMap , typename DistanceMap >
void boost::graph::distributed::crauser_et_al_shortest_paths ( const DistributedGraph &  g,
typename graph_traits< DistributedGraph >::vertex_descriptor  s,
PredecessorMap  predecessor,
DistanceMap  distance 
)
template<typename Graph , typename PredecessorMap , typename DistanceMap , typename EdgeWeightMap >
void boost::graph::distributed::delta_stepping_shortest_paths ( const Graph &  g,
typename graph_traits< Graph >::vertex_descriptor  s,
PredecessorMap  predecessor,
DistanceMap  distance,
EdgeWeightMap  weight,
typename property_traits< EdgeWeightMap >::value_type  delta 
)
template<typename Graph , typename PredecessorMap , typename DistanceMap , typename EdgeWeightMap >
void boost::graph::distributed::delta_stepping_shortest_paths ( const Graph &  g,
typename graph_traits< Graph >::vertex_descriptor  s,
PredecessorMap  predecessor,
DistanceMap  distance,
EdgeWeightMap  weight 
)
template<typename DistributedGraph , typename DijkstraVisitor , typename PredecessorMap , typename DistanceMap , typename WeightMap , typename IndexMap , typename ColorMap , typename Compare , typename Combine , typename DistInf , typename DistZero >
void boost::graph::distributed::eager_dijkstra_shortest_paths ( const DistributedGraph &  g,
typename graph_traits< DistributedGraph >::vertex_descriptor  s,
PredecessorMap  predecessor,
DistanceMap  distance,
typename property_traits< DistanceMap >::value_type  lookahead,
WeightMap  weight,
IndexMap  index_map,
ColorMap  color_map,
Compare  compare,
Combine  combine,
DistInf  inf,
DistZero  zero,
DijkstraVisitor  vis 
)
template<typename DistributedGraph , typename DijkstraVisitor , typename PredecessorMap , typename DistanceMap , typename WeightMap >
void boost::graph::distributed::eager_dijkstra_shortest_paths ( const DistributedGraph &  g,
typename graph_traits< DistributedGraph >::vertex_descriptor  s,
PredecessorMap  predecessor,
DistanceMap  distance,
typename property_traits< DistanceMap >::value_type  lookahead,
WeightMap  weight 
)
template<typename DistributedGraph , typename DijkstraVisitor , typename PredecessorMap , typename DistanceMap >
void boost::graph::distributed::eager_dijkstra_shortest_paths ( const DistributedGraph &  g,
typename graph_traits< DistributedGraph >::vertex_descriptor  s,
PredecessorMap  predecessor,
DistanceMap  distance,
typename property_traits< DistanceMap >::value_type  lookahead 
)
template<typename Graph , typename Vertex , typename Edge , typename Config >
optional<Vertex> boost::graph::distributed::find_vertex ( typename named_graph< Graph, Vertex, Edge, Config >::vertex_name_type const &  name,
const named_graph< Graph, Vertex, Edge, Config > &  g 
)
template<typename Graph , typename ReverseGraph , typename VertexComponentMap , typename IsoMapFR , typename IsoMapRF , typename VertexIndexMap >
void boost::graph::distributed::fleischer_hendrickson_pinar_strong_components ( const Graph &  g,
VertexComponentMap  c,
const ReverseGraph &  gr,
IsoMapFR  fr,
IsoMapRF  rf,
VertexIndexMap  vertex_index_map 
)

References boost::graph::adjacent_vertices(), all_gather(), all_reduce(), boost::asio::begin, BOOST_ASSERT, boost::breadth_first_search(), boost::color_map(), boost::empty(), boost::end, fhp_pred_msg, fhp_pred_size_msg, fhp_succ_msg, fhp_succ_size_msg, boost::algorithm::find(), boost::graph::accounting::get_time(), boost::multiprecision::backends::i, boost::range::inplace_merge(), boost::multiprecision::intersect(), boost::iterations(), boost::local(), boost::xpressive::make_pair, boost::n, num_processes(), boost::graph::num_vertices(), boost::graph::out_degree(), boost::detail::out_edge_iterator, boost::graph::out_edges(), boost::detail::parallel::owner(), boost::graph::distributed::detail::v_sets< vertex_descriptor >::pred, boost::pred_map, boost::graph::accounting::print_time(), probe(), boost::graph::parallel::process_group(), boost::process_group(), process_id(), boost::graph::put(), receive(), boost::locale::period::marks::second, send(), boost::range::set_difference(), boost::range::set_intersection(), boost::range::set_union(), boost::size(), boost::strong_components(), boost::graph::distributed::detail::v_sets< vertex_descriptor >::succ, boost::swap, synchronize(), boost::graph::target(), boost::program_options::value(), boost::vertex_index, boost::vertex_index_map(), boost::detail::vertex_iterator, boost::vertex_owner, and boost::graph::vertices().

Referenced by fleischer_hendrickson_pinar_strong_components(), and fleischer_hendrickson_pinar_strong_components_impl().

template<typename Graph , typename ComponentMap , typename VertexIndexMap >
property_traits<ComponentMap>::value_type boost::graph::distributed::fleischer_hendrickson_pinar_strong_components ( const Graph &  g,
ComponentMap  c,
VertexIndexMap  vertex_index_map 
)
inline
template<typename Graph , typename ComponentMap >
property_traits<ComponentMap>::value_type boost::graph::distributed::fleischer_hendrickson_pinar_strong_components ( const Graph &  g,
ComponentMap  c 
)
inline
template<typename Graph , typename ComponentMap , typename VertexComponentMap , typename VertexIndexMap >
property_traits<ComponentMap>::value_type boost::graph::distributed::fleischer_hendrickson_pinar_strong_components_impl ( const Graph &  g,
ComponentMap  c,
VertexComponentMap  r,
VertexIndexMap  vertex_index_map,
incidence_graph_tag   
)
template<typename Graph , typename ComponentMap , typename VertexComponentMap , typename VertexIndexMap >
property_traits<ComponentMap>::value_type boost::graph::distributed::fleischer_hendrickson_pinar_strong_components_impl ( const Graph &  g,
ComponentMap  c,
VertexComponentMap  r,
VertexIndexMap  vertex_index_map,
bidirectional_graph_tag   
)
template<typename Graph , typename PositionMap , typename AttractiveForce , typename RepulsiveForce , typename ForcePairs , typename Cooling , typename DisplacementMap >
void boost::graph::distributed::fruchterman_reingold_force_directed_layout ( const Graph &  g,
PositionMap  position,
typename property_traits< PositionMap >::value_type const &  origin,
typename property_traits< PositionMap >::value_type const &  extent,
AttractiveForce  attractive_force,
RepulsiveForce  repulsive_force,
ForcePairs  force_pairs,
Cooling  cool,
DisplacementMap  displacement 
)
template<typename Graph , typename PositionMap , typename AttractiveForce , typename RepulsiveForce , typename ForcePairs , typename Cooling , typename DisplacementMap >
void boost::graph::distributed::fruchterman_reingold_force_directed_layout ( const Graph &  g,
PositionMap  position,
typename property_traits< PositionMap >::value_type const &  origin,
typename property_traits< PositionMap >::value_type const &  extent,
AttractiveForce  attractive_force,
RepulsiveForce  repulsive_force,
ForcePairs  force_pairs,
Cooling  cool,
DisplacementMap  displacement,
simple_tiling  tiling 
)
template<typename Graph , typename ComponentMap , typename InputIterator >
graph_traits<Graph>::edges_size_type boost::graph::distributed::hohberg_biconnected_components ( const Graph &  g,
ComponentMap  component,
InputIterator  first,
InputIterator  last 
)
template<typename Graph , typename ComponentMap , typename ParentMap >
graph_traits<Graph>::edges_size_type boost::graph::distributed::hohberg_biconnected_components ( const Graph &  g,
ComponentMap  component,
ParentMap  parent 
)
template<typename Graph , typename ComponentMap >
graph_traits<Graph>::edges_size_type boost::graph::distributed::hohberg_biconnected_components ( const Graph &  g,
ComponentMap  component 
)
template<typename DisplacementMap , typename Cooling >
distributed_cooling_proxy<DisplacementMap, Cooling> boost::graph::distributed::make_distributed_cooling ( const DisplacementMap &  displacement,
const Cooling &  cooling 
)
inline
template<typename PositionMap , typename DisplacementMap , typename LocalForces >
distributed_force_pairs_proxy<PositionMap, DisplacementMap, LocalForces> boost::graph::distributed::make_distributed_force_pairs ( const PositionMap &  position,
const DisplacementMap &  displacement,
const LocalForces &  local_forces 
)
inline
template<typename PositionMap , typename DisplacementMap , typename LocalForces , typename NonLocalForces >
distributed_force_pairs_proxy<PositionMap, DisplacementMap, LocalForces, NonLocalForces> boost::graph::distributed::make_distributed_force_pairs ( const PositionMap &  position,
const DisplacementMap &  displacement,
const LocalForces &  local_forces,
const NonLocalForces &  nonlocal_forces 
)
inline
template<typename ProcessGroup , typename OwnerMap , typename Buffer >
distributed_queue<ProcessGroup, OwnerMap, Buffer> boost::graph::distributed::make_distributed_queue ( const ProcessGroup &  process_group,
const OwnerMap &  owner,
const Buffer &  buffer,
bool  polling = false 
)
inline

Construct a new distributed queue.

References boost::polling().

template<typename PositionMap >
neighboring_tiles_force_pairs<PositionMap> boost::graph::distributed::make_neighboring_tiles_force_pairs ( PositionMap  position,
typename property_traits< PositionMap >::value_type  origin,
typename property_traits< PositionMap >::value_type  extent,
simple_tiling  tiling 
)
inline
template<typename Graph , typename VertexComponentMap , typename ComponentMap >
property_traits<ComponentMap>::value_type boost::graph::distributed::number_components ( const Graph &  g,
VertexComponentMap  r,
ComponentMap  c 
)
template<typename Graph , typename ParentMap , typename ComponentMap >
property_traits<ComponentMap>::value_type boost::graph::distributed::number_components_from_parents ( const Graph &  g,
ParentMap  p,
ComponentMap  c 
)
template<typename Graph , typename ParentMap >
int boost::graph::distributed::number_components_from_parents ( const Graph &  g,
ParentMap  p,
dummy_property_map   
)
template<typename Graph , typename RankMap , typename Done , typename RankMap2 >
void boost::graph::distributed::page_rank ( const Graph &  g,
RankMap  rank_map,
Done  done,
typename property_traits< RankMap >::value_type  damping,
typename graph_traits< Graph >::vertices_size_type  n,
RankMap2 rank_map2   BOOST_GRAPH_ENABLE_IF_MODELS_PARMGraph, distributed_graph_tag 
)

References page_rank_impl().

template<typename Graph , typename RankMap , typename Done , typename RankMap2 >
void boost::graph::distributed::page_rank_impl ( const Graph &  g,
RankMap  rank_map,
Done  done,
typename property_traits< RankMap >::value_type  damping,
typename graph_traits< Graph >::vertices_size_type  n,
RankMap2  rank_map2 
)

PageRank can implemented slightly more efficiently on a bidirectional graph than on an incidence graph. However, distributed PageRank requires that we have the rank of the source vertex available locally, so we force the incidence graph implementation, which pushes rank from source to target.

References BGL_FORALL_VERTICES_T, BOOST_ASSERT, boost::parallel::cm_flush, boost::parallel::cm_reset, boost::foreach_detail_::done(), boost::xpressive::first, boost::graph::num_vertices(), boost::graph::detail::page_rank_step(), boost::graph::parallel::process_group(), boost::process_group(), process_id(), boost::graph::put(), boost::graph::distributed::detail::synchronize(), boost::vertex_owner, boost::graph::vertices(), and boost::detail::void.

Referenced by page_rank().

mpi_process_group::process_id_type boost::graph::distributed::process_id ( const mpi_process_group &  pg)
inline

References boost::graph::distributed::mpi_process_group::rank.

Referenced by add_edge(), boman_et_al_graph_coloring(), build_reverse_graph(), boost::graph::distributed::named_graph< Graph, Vertex, Edge, Config >::lazy_add_vertex::commit(), boost::graph::distributed::named_graph< Graph, Vertex, Edge, Config >::lazy_add_edge::commit(), boost::graph::distributed::named_graph< Graph, Vertex, Edge, Config >::lazy_add_edge_with_property::commit(), connected_components_ps(), boost::graph::distributed::detail::crauser_et_al_dijkstra_queue< Graph, Combine, Compare, VertexIndexMap, DistanceMap, PredecessorMap, MinOutWeightMap, MinInWeightMap >::do_synchronize(), find_vertex(), fleischer_hendrickson_pinar_strong_components(), fleischer_hendrickson_pinar_strong_components_impl(), hohberg_biconnected_components(), number_components(), number_components_from_parents(), boost::graph::distributed::neighboring_tiles_force_pairs< PositionMap >::operator()(), boost::graph::distributed::maybe_named_graph< Graph, Vertex, Edge, Config, void >::owner_by_property(), page_rank_impl(), boost::graph::distributed::cc_detail::parallel_connected_components(), boost::graph::distributed::detail::crauser_et_al_dijkstra_queue< Graph, Combine, Compare, VertexIndexMap, DistanceMap, PredecessorMap, MinOutWeightMap, MinInWeightMap >::receive_update(), boost::graph::distributed::detail::parallel_dfs< DistributedGraph, ColorMap, ParentMap, ExploreMap, VertexIndexMap, DFSVisitor >::run(), boost::graph::distributed::delta_stepping_impl< Graph, PredecessorMap, DistanceMap, EdgeWeightMap >::run(), st_connected(), and boost::graph::distributed::named_graph< Graph, Vertex, Edge, Config >::lazy_add_vertex::~lazy_add_vertex().

template<typename InputIterator >
mpi_process_group boost::graph::distributed::process_subgroup ( const mpi_process_group &  pg,
InputIterator  first,
InputIterator  last 
)
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 
)
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 MutableGraph >
void boost::graph::distributed::remove_dangling_links ( MutableGraph &g   BOOST_GRAPH_ENABLE_IF_MODELS_PARMMutableGraph,distributed_graph_tag)
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 
)

Referenced by boost::adjacency_list< OutEdgeListS, distributedS< ProcessGroup, InVertexListS, InDistribution >, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::lazy_add_edge::add_local_edge(), boman_et_al_graph_coloring(), build_reverse_graph(), boost::graph::distributed::hohberg_vertex_processor< Graph >::echo_phase(), fleischer_hendrickson_pinar_strong_components(), boost::spirit::lex::lexertl::detail::generate_cpp_state_info(), boost::graph::distributed::hohberg_vertex_processor< Graph >::initialize_leader(), number_components(), number_components_from_parents(), boost::graph::distributed::neighboring_tiles_force_pairs< PositionMap >::operator()(), boost::graph::distributed::hohberg_vertex_processor< Graph >::operator()(), boost::graph::distributed::cc_detail::parallel_connected_components(), boost::graph::distributed::cc_detail::request_parent_map_entries(), send(), boost::adjacency_list< OutEdgeListS, distributedS< ProcessGroup, InVertexListS, InDistribution >, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::send_remove_edge_request(), st_connected(), boost::graph::distributed::hohberg_vertex_processor< Graph >::start_naming_phase(), boost::interprocess::message_queue_t< VoidPointer >::timed_send(), boost::write_graphviz(), boost::graph::distributed::named_graph< Graph, Vertex, Edge, Config >::lazy_add_edge::~lazy_add_edge(), boost::adjacency_list< OutEdgeListS, distributedS< ProcessGroup, InVertexListS, InDistribution >, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::lazy_add_edge::~lazy_add_edge(), boost::graph::distributed::named_graph< Graph, Vertex, Edge, Config >::lazy_add_edge_with_property::~lazy_add_edge_with_property(), boost::adjacency_list< OutEdgeListS, distributedS< ProcessGroup, InVertexListS, InDistribution >, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::lazy_add_edge_with_property::~lazy_add_edge_with_property(), boost::graph::distributed::named_graph< Graph, Vertex, Edge, Config >::lazy_add_vertex::~lazy_add_vertex(), and boost::adjacency_list< OutEdgeListS, distributedS< ProcessGroup, InVertexListS, InDistribution >, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::lazy_add_vertex_with_property::~lazy_add_vertex_with_property().

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

References send().

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

References send().

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 
)
template<typename DistributedGraph , typename ColorMap >
bool boost::graph::distributed::st_connected ( const DistributedGraph &  g,
typename graph_traits< DistributedGraph >::vertex_descriptor  s,
typename graph_traits< DistributedGraph >::vertex_descriptor  t,
ColorMap  color 
)
inline
template<typename DistributedGraph >
bool boost::graph::distributed::st_connected ( const DistributedGraph &  g,
typename graph_traits< DistributedGraph >::vertex_descriptor  s,
typename graph_traits< DistributedGraph >::vertex_descriptor  t 
)
inline
template<typename ProcessGroup , typename OwnerMap , typename Buffer , typename UnaryPredicate >
void boost::graph::distributed::synchronize ( const distributed_queue< ProcessGroup, OwnerMap, Buffer, UnaryPredicate > &  Q)
inline

Synchronize all processes involved with the given distributed queue.

This function will synchronize all of the local queues for a given distributed queue, by ensuring that no additional messages are in transit. It is rarely required by the user, because most synchronization of distributed queues occurs via the empty or size methods.

template<typename DistributedGraph , typename ColorMap , typename ParentMap , typename ExploreMap , typename VertexIndexMap , typename DFSVisitor >
void boost::graph::distributed::tsin_depth_first_visit ( const DistributedGraph &  g,
typename graph_traits< DistributedGraph >::vertex_descriptor  s,
DFSVisitor  vis,
ColorMap  color,
ParentMap  parent,
ExploreMap  explore,
VertexIndexMap  index_map 
)
template<typename DistributedGraph , typename DFSVisitor , typename VertexIndexMap >
void boost::graph::distributed::tsin_depth_first_visit ( const DistributedGraph &  g,
typename graph_traits< DistributedGraph >::vertex_descriptor  s,
DFSVisitor  vis,
VertexIndexMap  index_map 
)
template<typename DistributedGraph , typename DFSVisitor , typename VertexIndexMap >
void boost::graph::distributed::tsin_depth_first_visit ( const DistributedGraph &  g,
typename graph_traits< DistributedGraph >::vertex_descriptor  s,
DFSVisitor  vis 
)