This header defines facilities to support MPI communicators with graph topologies, using the graph interface defined by the Boost Graph Library. More...
#include <boost/mpi/communicator.hpp>
#include <vector>
#include <utility>
#include <boost/graph/graph_traits.hpp>
#include <boost/graph/properties.hpp>
#include <boost/property_map/property_map.hpp>
#include <boost/iterator/counting_iterator.hpp>
#include <boost/graph/iteration_macros.hpp>
#include <boost/shared_array.hpp>
#include <boost/assert.hpp>
Classes | |
class | boost::mpi::graph_communicator |
An MPI communicator with a graph topology. More... | |
class | boost::mpi::detail::comm_out_edge_iterator |
INTERNAL ONLY. More... | |
class | boost::mpi::detail::comm_adj_iterator |
INTERNAL ONLY. More... | |
class | boost::mpi::detail::comm_edge_iterator |
INTERNAL ONLY. More... | |
struct | boost::graph_traits< mpi::graph_communicator > |
Traits structure that allows a communicator with graph topology to be view as a graph by the Boost Graph Library. More... | |
struct | boost::graph_traits< mpi::graph_communicator >::traversal_category |
INTERNAL ONLY. More... | |
struct | boost::property_map< mpi::graph_communicator, vertex_index_t > |
INTERNAL ONLY. More... | |
Namespaces | |
boost | |
Duration formatting facet for input. | |
boost::mpi | |
boost::mpi::detail | |
Functions | |
int | boost::mpi::source (const std::pair< int, int > &edge, const graph_communicator &) |
Returns the source vertex from an edge in the graph topology of a communicator. More... | |
int | boost::mpi::target (const std::pair< int, int > &edge, const graph_communicator &) |
Returns the target vertex from an edge in the graph topology of a communicator. More... | |
std::pair < detail::comm_out_edge_iterator, detail::comm_out_edge_iterator > | boost::mpi::out_edges (int vertex, const graph_communicator &comm) |
Returns an iterator range containing all of the edges outgoing from the given vertex in a graph topology of a communicator. More... | |
int | boost::mpi::out_degree (int vertex, const graph_communicator &comm) |
Returns the out-degree of a vertex in the graph topology of a communicator. More... | |
std::pair < detail::comm_adj_iterator, detail::comm_adj_iterator > | boost::mpi::adjacent_vertices (int vertex, const graph_communicator &comm) |
Returns an iterator range containing all of the neighbors of the given vertex in the communicator's graph topology. More... | |
std::pair< counting_iterator < int >, counting_iterator < int > > | boost::mpi::vertices (const graph_communicator &comm) |
Returns an iterator range that contains all of the vertices with the communicator's graph topology, i.e., all of the process ranks in the communicator. More... | |
int | boost::mpi::num_vertices (const graph_communicator &comm) |
Returns the number of vertices within the graph topology of the communicator, i.e., the number of processes in the communicator. More... | |
std::pair < detail::comm_edge_iterator, detail::comm_edge_iterator > | boost::mpi::edges (const graph_communicator &comm) |
Returns an iterator range that contains all of the edges with the communicator's graph topology. More... | |
int | boost::mpi::num_edges (const graph_communicator &comm) |
Returns the number of edges in the communicator's graph topology. More... | |
identity_property_map | boost::mpi::get (vertex_index_t, const graph_communicator &) |
Returns a property map that maps from vertices in a communicator's graph topology to their index values. More... | |
int | boost::mpi::get (vertex_index_t, const graph_communicator &, int vertex) |
Returns the index of a vertex in the communicator's graph topology. More... | |
This header defines facilities to support MPI communicators with graph topologies, using the graph interface defined by the Boost Graph Library.
One can construct a communicator whose topology is described by any graph meeting the requirements of the Boost Graph Library's graph concepts. Likewise, any communicator that has a graph topology can be viewed as a graph by the Boost Graph Library, permitting one to use the BGL's graph algorithms on the process topology.