boostorg / graph_parallel Goto Github PK
View Code? Open in Web Editor NEWBoost.org graph_parallel module
Home Page: http://boost.org/libs/graph_parallel
Boost.org graph_parallel module
Home Page: http://boost.org/libs/graph_parallel
Tried to run the provided example code for dijkstra shortest path. It does not compile on 1.72.0 with OS X. @27576714 lead me to think the following might fix it:
dijkstra_shortest_paths(g, start,
distance_map(boost::make_iterator_property_map(
d.begin(), get(boost::vertex_index, g))));
But that is not the case. Below is the error message:
In file included from /usr/local/include/boost/graph/distributed/mpi_process_group.hpp:22:
In file included from /usr/local/include/boost/optional.hpp:15:
In file included from /usr/local/include/boost/optional/optional.hpp:31:
In file included from /usr/local/include/boost/core/swap.hpp:27:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/algorithm:2495:5: error: static_assert failed due to requirement
'__is_forward_iterator<boost::detail::readable_pmap_iter<boost::iterators::transform_iterator<boost::detail::parallel::edge_descriptor<boost::detail::edge_desc_impl<boost::directed_tag,
unsigned long> >::out_generator<boost::adjacency_list<boost::vecS, boost::distributedS<boost::graph::distributed::mpi_process_group, boost::vecS, boost::defaultS>,
boost::undirectedS, boost::property<boost::vertex_distance_t, float, boost::no_property>, boost::property<boost::edge_weight_t, float, boost::no_property>,
boost::no_property, boost::listS> >, boost::detail::out_edge_iter<std::__1::__wrap_iter<boost::detail::stored_edge_property<unsigned long,
boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float,
boost::no_property> > > > *>, unsigned long, boost::detail::edge_desc_impl<boost::directed_tag, unsigned long>, long>, boost::use_default, boost::use_default>,
boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group,
boost::detail::parallel::edge_global_property_map<boost::detail::edge_desc_impl<boost::directed_tag, unsigned long> >,
boost::adj_list_edge_property_map<boost::directed_tag, float, const float &, unsigned long, const boost::property<boost::edge_locally_owned_t, bool,
boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float, boost::no_property> > >, boost::edge_weight_t> > > >::value'
"std::min_element requires a ForwardIterator"
static_assert(__is_forward_iterator<_ForwardIterator>::value,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__config:908:29: note: expanded from macro 'static_assert'
# define static_assert(...) _Static_assert(__VA_ARGS__)
^ ~~~~~~~~~~~
/usr/local/include/boost/graph/distributed/crauser_et_al_shortest_paths.hpp:518:19: note: in instantiation of function template specialization
'std::__1::min_element<boost::detail::readable_pmap_iter<boost::iterators::transform_iterator<boost::detail::parallel::edge_descriptor<boost::detail::edge_desc_impl<boost::directed_tag,
unsigned long> >::out_generator<boost::adjacency_list<boost::vecS, boost::distributedS<boost::graph::distributed::mpi_process_group, boost::vecS, boost::defaultS>,
boost::undirectedS, boost::property<boost::vertex_distance_t, float, boost::no_property>, boost::property<boost::edge_weight_t, float, boost::no_property>,
boost::no_property, boost::listS> >, boost::detail::out_edge_iter<std::__1::__wrap_iter<boost::detail::stored_edge_property<unsigned long,
boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float,
boost::no_property> > > > *>, unsigned long, boost::detail::edge_desc_impl<boost::directed_tag, unsigned long>, long>, boost::use_default, boost::use_default>,
boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group,
boost::detail::parallel::edge_global_property_map<boost::detail::edge_desc_impl<boost::directed_tag, unsigned long> >,
boost::adj_list_edge_property_map<boost::directed_tag, float, const float &, unsigned long, const boost::property<boost::edge_locally_owned_t, bool,
boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float, boost::no_property> > >, boost::edge_weight_t> > >,
std::__1::less<float> >' requested here
*std::min_element
^
/usr/local/include/boost/graph/distributed/crauser_et_al_shortest_paths.hpp:558:11: note: in instantiation of function template specialization
'boost::graph::distributed::detail::initialize_min_out_weights<boost::adjacency_list<boost::vecS, boost::distributedS<boost::graph::distributed::mpi_process_group,
boost::vecS, boost::defaultS>, boost::undirectedS, boost::property<boost::vertex_distance_t, float, boost::no_property>, boost::property<boost::edge_weight_t, float,
boost::no_property>, boost::no_property, boost::listS>, boost::iterator_property_map<float *, boost::local_property_map<boost::graph::distributed::mpi_process_group,
boost::detail::parallel::global_descriptor_property_map<unsigned long>, boost::vec_adj_list_vertex_id_map<boost::property<boost::vertex_distance_t, float,
boost::no_property>, unsigned long> >, float, float &>, boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group,
boost::detail::parallel::edge_global_property_map<boost::detail::edge_desc_impl<boost::directed_tag, unsigned long> >,
boost::adj_list_edge_property_map<boost::directed_tag, float, const float &, unsigned long, const boost::property<boost::edge_locally_owned_t, bool,
boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float, boost::no_property> > >, boost::edge_weight_t> >,
std::__1::less<float> >' requested here
detail::initialize_min_out_weights(g, min_out_weight, weight, compare);
^
/usr/local/include/boost/graph/distributed/dijkstra_shortest_paths.hpp:68:9: note: in instantiation of function template specialization
'boost::graph::distributed::crauser_et_al_shortest_paths<boost::adjacency_list<boost::vecS, boost::distributedS<boost::graph::distributed::mpi_process_group,
boost::vecS, boost::defaultS>, boost::undirectedS, boost::property<boost::vertex_distance_t, float, boost::no_property>, boost::property<boost::edge_weight_t, float,
boost::no_property>, boost::no_property, boost::listS>, boost::dijkstra_visitor<boost::null_visitor>, boost::dummy_property_map,
boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::global_descriptor_property_map<unsigned long>,
boost::vec_adj_list_vertex_property_map<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float,
boost::no_property>, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short,
boost::property<boost::edge_weight_t, float, boost::no_property> > >, boost::no_property, boost::listS>, boost::adjacency_list<boost::vecS, boost::vecS,
boost::directedS, boost::property<boost::vertex_distance_t, float, boost::no_property>, boost::property<boost::edge_locally_owned_t, bool,
boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float, boost::no_property> > >, boost::no_property, boost::listS> *,
float, float &, boost::vertex_distance_t> >, boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group,
boost::detail::parallel::edge_global_property_map<boost::detail::edge_desc_impl<boost::directed_tag, unsigned long> >,
boost::adj_list_edge_property_map<boost::directed_tag, float, const float &, unsigned long, const boost::property<boost::edge_locally_owned_t, bool,
boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float, boost::no_property> > >, boost::edge_weight_t> >,
boost::local_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::global_descriptor_property_map<unsigned long>,
boost::vec_adj_list_vertex_id_map<boost::property<boost::vertex_distance_t, float, boost::no_property>, unsigned long> >,
boost::iterator_property_map<std::__1::__wrap_iter<boost::default_color_type *>, boost::local_property_map<boost::graph::distributed::mpi_process_group,
boost::detail::parallel::global_descriptor_property_map<unsigned long>, boost::vec_adj_list_vertex_id_map<boost::property<boost::vertex_distance_t, float,
boost::no_property>, unsigned long> >, boost::default_color_type, boost::default_color_type &>, std::__1::less<float>, std::__1::plus<float>, float, float>' requested
here
crauser_et_al_shortest_paths(g, s, predecessor, distance, weight,
^
/usr/local/include/boost/graph/distributed/dijkstra_shortest_paths.hpp:119:13: note: in instantiation of function template specialization
'boost::graph::detail::parallel_dijkstra_impl2<boost::param_not_found>::run<boost::adjacency_list<boost::vecS,
boost::distributedS<boost::graph::distributed::mpi_process_group, boost::vecS, boost::defaultS>, boost::undirectedS, boost::property<boost::vertex_distance_t, float,
boost::no_property>, boost::property<boost::edge_weight_t, float, boost::no_property>, boost::no_property, boost::listS>,
boost::dijkstra_visitor<boost::null_visitor>, boost::dummy_property_map, boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group,
boost::detail::parallel::global_descriptor_property_map<unsigned long>, boost::vec_adj_list_vertex_property_map<boost::adjacency_list<boost::vecS, boost::vecS,
boost::directedS, boost::property<boost::vertex_distance_t, float, boost::no_property>, boost::property<boost::edge_locally_owned_t, bool,
boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float, boost::no_property> > >, boost::no_property, boost::listS>,
boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float, boost::no_property>,
boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float,
boost::no_property> > >, boost::no_property, boost::listS> *, float, float &, boost::vertex_distance_t> >,
boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group,
boost::detail::parallel::edge_global_property_map<boost::detail::edge_desc_impl<boost::directed_tag, unsigned long> >,
boost::adj_list_edge_property_map<boost::directed_tag, float, const float &, unsigned long, const boost::property<boost::edge_locally_owned_t, bool,
boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float, boost::no_property> > >, boost::edge_weight_t> >,
boost::local_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::global_descriptor_property_map<unsigned long>,
boost::vec_adj_list_vertex_id_map<boost::property<boost::vertex_distance_t, float, boost::no_property>, unsigned long> >,
boost::iterator_property_map<std::__1::__wrap_iter<boost::default_color_type *>, boost::local_property_map<boost::graph::distributed::mpi_process_group,
boost::detail::parallel::global_descriptor_property_map<unsigned long>, boost::vec_adj_list_vertex_id_map<boost::property<boost::vertex_distance_t, float,
boost::no_property>, unsigned long> >, boost::default_color_type, boost::default_color_type &>, std::__1::less<float>, std::__1::plus<float>, float, float>' requested
here
::run(g, s, predecessor, distance, lookahead, weight, index_map,
^
/usr/local/include/boost/graph/distributed/dijkstra_shortest_paths.hpp:144:9: note: in instantiation of function template specialization
'boost::graph::detail::parallel_dijkstra_impl<boost::param_not_found>::run_impl<boost::adjacency_list<boost::vecS,
boost::distributedS<boost::graph::distributed::mpi_process_group, boost::vecS, boost::defaultS>, boost::undirectedS, boost::property<boost::vertex_distance_t, float,
boost::no_property>, boost::property<boost::edge_weight_t, float, boost::no_property>, boost::no_property, boost::listS>,
boost::dijkstra_visitor<boost::null_visitor>, boost::dummy_property_map, boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group,
boost::detail::parallel::global_descriptor_property_map<unsigned long>, boost::vec_adj_list_vertex_property_map<boost::adjacency_list<boost::vecS, boost::vecS,
boost::directedS, boost::property<boost::vertex_distance_t, float, boost::no_property>, boost::property<boost::edge_locally_owned_t, bool,
boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float, boost::no_property> > >, boost::no_property, boost::listS>,
boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float, boost::no_property>,
boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float,
boost::no_property> > >, boost::no_property, boost::listS> *, float, float &, boost::vertex_distance_t> >, boost::param_not_found,
boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group,
boost::detail::parallel::edge_global_property_map<boost::detail::edge_desc_impl<boost::directed_tag, unsigned long> >,
boost::adj_list_edge_property_map<boost::directed_tag, float, const float &, unsigned long, const boost::property<boost::edge_locally_owned_t, bool,
boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float, boost::no_property> > >, boost::edge_weight_t> >,
boost::local_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::global_descriptor_property_map<unsigned long>,
boost::vec_adj_list_vertex_id_map<boost::property<boost::vertex_distance_t, float, boost::no_property>, unsigned long> >,
boost::iterator_property_map<std::__1::__wrap_iter<boost::default_color_type *>, boost::local_property_map<boost::graph::distributed::mpi_process_group,
boost::detail::parallel::global_descriptor_property_map<unsigned long>, boost::vec_adj_list_vertex_id_map<boost::property<boost::vertex_distance_t, float,
boost::no_property>, unsigned long> >, boost::default_color_type, boost::default_color_type &>, std::__1::less<float>, std::__1::plus<float>, float, float>' requested
here
run_impl(g, s, predecessor, distance, lookahead, weight, index_map,
^
/usr/local/include/boost/graph/distributed/dijkstra_shortest_paths.hpp:196:9: note: in instantiation of function template specialization
'boost::graph::detail::parallel_dijkstra_impl<boost::param_not_found>::run<boost::adjacency_list<boost::vecS,
boost::distributedS<boost::graph::distributed::mpi_process_group, boost::vecS, boost::defaultS>, boost::undirectedS, boost::property<boost::vertex_distance_t, float,
boost::no_property>, boost::property<boost::edge_weight_t, float, boost::no_property>, boost::no_property, boost::listS>,
boost::dijkstra_visitor<boost::null_visitor>, boost::dummy_property_map, boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group,
boost::detail::parallel::global_descriptor_property_map<unsigned long>, boost::vec_adj_list_vertex_property_map<boost::adjacency_list<boost::vecS, boost::vecS,
boost::directedS, boost::property<boost::vertex_distance_t, float, boost::no_property>, boost::property<boost::edge_locally_owned_t, bool,
boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float, boost::no_property> > >, boost::no_property, boost::listS>,
boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float, boost::no_property>,
boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float,
boost::no_property> > >, boost::no_property, boost::listS> *, float, float &, boost::vertex_distance_t> >, boost::param_not_found,
boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group,
boost::detail::parallel::edge_global_property_map<boost::detail::edge_desc_impl<boost::directed_tag, unsigned long> >,
boost::adj_list_edge_property_map<boost::directed_tag, float, const float &, unsigned long, const boost::property<boost::edge_locally_owned_t, bool,
boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float, boost::no_property> > >, boost::edge_weight_t> >,
boost::local_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::global_descriptor_property_map<unsigned long>,
boost::vec_adj_list_vertex_id_map<boost::property<boost::vertex_distance_t, float, boost::no_property>, unsigned long> >, std::__1::less<float>,
std::__1::plus<float>, float, float>' requested here
::run(g, s, predecessor, distance,
^
/usr/local/include/boost/graph/dijkstra_shortest_paths.hpp:536:7: note: in instantiation of function template specialization
'boost::dijkstra_shortest_paths<boost::adjacency_list<boost::vecS, boost::distributedS<boost::graph::distributed::mpi_process_group, boost::vecS, boost::defaultS>,
boost::undirectedS, boost::property<boost::vertex_distance_t, float, boost::no_property>, boost::property<boost::edge_weight_t, float, boost::no_property>,
boost::no_property, boost::listS>, boost::dijkstra_visitor<boost::null_visitor>, boost::dummy_property_map,
boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::global_descriptor_property_map<unsigned long>,
boost::vec_adj_list_vertex_property_map<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float,
boost::no_property>, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short,
boost::property<boost::edge_weight_t, float, boost::no_property> > >, boost::no_property, boost::listS>, boost::adjacency_list<boost::vecS, boost::vecS,
boost::directedS, boost::property<boost::vertex_distance_t, float, boost::no_property>, boost::property<boost::edge_locally_owned_t, bool,
boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float, boost::no_property> > >, boost::no_property, boost::listS> *,
float, float &, boost::vertex_distance_t> >, boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group,
boost::detail::parallel::edge_global_property_map<boost::detail::edge_desc_impl<boost::directed_tag, unsigned long> >,
boost::adj_list_edge_property_map<boost::directed_tag, float, const float &, unsigned long, const boost::property<boost::edge_locally_owned_t, bool,
boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float, boost::no_property> > >, boost::edge_weight_t> >,
boost::local_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::global_descriptor_property_map<unsigned long>,
boost::vec_adj_list_vertex_id_map<boost::property<boost::vertex_distance_t, float, boost::no_property>, unsigned long> >, std::__1::less<float>,
std::__1::plus<float>, float, float, boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group,
boost::detail::parallel::global_descriptor_property_map<unsigned long>, boost::vec_adj_list_vertex_property_map<boost::adjacency_list<boost::vecS, boost::vecS,
boost::directedS, boost::property<boost::vertex_distance_t, float, boost::no_property>, boost::property<boost::edge_locally_owned_t, bool,
boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float, boost::no_property> > >, boost::no_property, boost::listS>,
boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float, boost::no_property>,
boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float,
boost::no_property> > >, boost::no_property, boost::listS> *, float, float &, boost::vertex_distance_t> >, boost::vertex_distance_t, boost::no_property>' requested
here
dijkstra_shortest_paths
^
/usr/local/include/boost/graph/dijkstra_shortest_paths.hpp:567:15: note: in instantiation of function template specialization
'boost::detail::dijkstra_dispatch2<boost::adjacency_list<boost::vecS, boost::distributedS<boost::graph::distributed::mpi_process_group, boost::vecS, boost::defaultS>,
boost::undirectedS, boost::property<boost::vertex_distance_t, float, boost::no_property>, boost::property<boost::edge_weight_t, float, boost::no_property>,
boost::no_property, boost::listS>, boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group,
boost::detail::parallel::global_descriptor_property_map<unsigned long>, boost::vec_adj_list_vertex_property_map<boost::adjacency_list<boost::vecS, boost::vecS,
boost::directedS, boost::property<boost::vertex_distance_t, float, boost::no_property>, boost::property<boost::edge_locally_owned_t, bool,
boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float, boost::no_property> > >, boost::no_property, boost::listS>,
boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float, boost::no_property>,
boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float,
boost::no_property> > >, boost::no_property, boost::listS> *, float, float &, boost::vertex_distance_t> >,
boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group,
boost::detail::parallel::edge_global_property_map<boost::detail::edge_desc_impl<boost::directed_tag, unsigned long> >,
boost::adj_list_edge_property_map<boost::directed_tag, float, const float &, unsigned long, const boost::property<boost::edge_locally_owned_t, bool,
boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float, boost::no_property> > >, boost::edge_weight_t> >,
boost::local_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::global_descriptor_property_map<unsigned long>,
boost::vec_adj_list_vertex_id_map<boost::property<boost::vertex_distance_t, float, boost::no_property>, unsigned long> >,
boost::bgl_named_params<boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group,
boost::detail::parallel::global_descriptor_property_map<unsigned long>, boost::vec_adj_list_vertex_property_map<boost::adjacency_list<boost::vecS, boost::vecS,
boost::directedS, boost::property<boost::vertex_distance_t, float, boost::no_property>, boost::property<boost::edge_locally_owned_t, bool,
boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float, boost::no_property> > >, boost::no_property, boost::listS>,
boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float, boost::no_property>,
boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float,
boost::no_property> > >, boost::no_property, boost::listS> *, float, float &, boost::vertex_distance_t> >, boost::vertex_distance_t, boost::no_property> >' requested
here
detail::dijkstra_dispatch2
^
/usr/local/include/boost/graph/dijkstra_shortest_paths.hpp:585:13: note: in instantiation of function template specialization
'boost::detail::dijkstra_dispatch1<boost::adjacency_list<boost::vecS, boost::distributedS<boost::graph::distributed::mpi_process_group, boost::vecS, boost::defaultS>,
boost::undirectedS, boost::property<boost::vertex_distance_t, float, boost::no_property>, boost::property<boost::edge_weight_t, float, boost::no_property>,
boost::no_property, boost::listS>, boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group,
boost::detail::parallel::global_descriptor_property_map<unsigned long>, boost::vec_adj_list_vertex_property_map<boost::adjacency_list<boost::vecS, boost::vecS,
boost::directedS, boost::property<boost::vertex_distance_t, float, boost::no_property>, boost::property<boost::edge_locally_owned_t, bool,
boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float, boost::no_property> > >, boost::no_property, boost::listS>,
boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float, boost::no_property>,
boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float,
boost::no_property> > >, boost::no_property, boost::listS> *, float, float &, boost::vertex_distance_t> >,
boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group,
boost::detail::parallel::edge_global_property_map<boost::detail::edge_desc_impl<boost::directed_tag, unsigned long> >,
boost::adj_list_edge_property_map<boost::directed_tag, float, const float &, unsigned long, const boost::property<boost::edge_locally_owned_t, bool,
boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float, boost::no_property> > >, boost::edge_weight_t> >,
boost::local_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::global_descriptor_property_map<unsigned long>,
boost::vec_adj_list_vertex_id_map<boost::property<boost::vertex_distance_t, float, boost::no_property>, unsigned long> >,
boost::bgl_named_params<boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group,
boost::detail::parallel::global_descriptor_property_map<unsigned long>, boost::vec_adj_list_vertex_property_map<boost::adjacency_list<boost::vecS, boost::vecS,
boost::directedS, boost::property<boost::vertex_distance_t, float, boost::no_property>, boost::property<boost::edge_locally_owned_t, bool,
boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float, boost::no_property> > >, boost::no_property, boost::listS>,
boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float, boost::no_property>,
boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float,
boost::no_property> > >, boost::no_property, boost::listS> *, float, float &, boost::vertex_distance_t> >, boost::vertex_distance_t, boost::no_property> >' requested
here
detail::dijkstra_dispatch1
^
boost_mst.cxx:75:3: note: in instantiation of function template specialization 'boost::dijkstra_shortest_paths<boost::adjacency_list<boost::vecS,
boost::distributedS<boost::graph::distributed::mpi_process_group, boost::vecS, boost::defaultS>, boost::undirectedS, boost::property<boost::vertex_distance_t, float,
boost::no_property>, boost::property<boost::edge_weight_t, float, boost::no_property>, boost::no_property, boost::listS>,
boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::global_descriptor_property_map<unsigned long>,
boost::vec_adj_list_vertex_property_map<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float,
boost::no_property>, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short,
boost::property<boost::edge_weight_t, float, boost::no_property> > >, boost::no_property, boost::listS>, boost::adjacency_list<boost::vecS, boost::vecS,
boost::directedS, boost::property<boost::vertex_distance_t, float, boost::no_property>, boost::property<boost::edge_locally_owned_t, bool,
boost::property<boost::edge_target_processor_id_t, short, boost::property<boost::edge_weight_t, float, boost::no_property> > >, boost::no_property, boost::listS> *,
float, float &, boost::vertex_distance_t> >, boost::vertex_distance_t, boost::no_property>' requested here
dijkstra_shortest_paths(g, start,
The boost::graph::distributed::mpi_process_group
class spawns some non-blocking communication in its constructor, but the resulting requests are never handled. I have tracked this down to the global_trigger_launcher
, which has the following comment:
// TBD: do not forget to cancel any outstanding Irecv when deleted,
// if we decide to use Irecv
It looks like this was never done, but the default build configuration uses Irecv. To replicate this bug, simply create an mpi_process_group with any constructor, do nothing with it, and let it go out of scope. You will need some way to interact with the MPI profiling interface to detect leaked requests, such as LLNL's mpileaks:
We are in the process of making B2 build changes to all of the B2 build files
to support "modular" consumption of the Boost Libraries by users. See this list
post for some details: https://lists.boost.org/Archives/boost/2024/01/255704.php
The process requires making a variety of changes to make each Boost library
independent of the super-project structure. But the changes do not remove the
super-project structure or the comprehensive Boost release. The changes make
solely make it possible, optionally, for users, like package manages, to easily
consume libraries individually.
Generally the changes include:
Some examples of such changes:
We are asking how you would like us to handle the changes. We would prefer if
you allow the owners of the Boost.org GitHub project to make changes to B2
build files, as needed, to accomplish the changes. But understand
that you may want to manage the proposed changes yourself.
We previously sent emails to all known maintainers to fill out a form with their
preference. We are contacting you in this issue as we have not gotten a response
to that email. You can see the ongoing responses for that form and the responses
to these issues here https://github.com/users/grafikrobot/projects/1/views/6
We are now asking if you can reply directly to this issue to indicate your
preference of handling the changes. Please supply a response to this question
and close the issue (so that we can verify you are a maintainer).
How would you like the build changes to be processed?
Also please indicate any special instructions you want us to consider. Or other
information you want us to be aware of.
Thanks you, René
The documentation for distributed property maps is missing any mention of the GlobalMap
parameter of distributed property maps.
There is a complete example of how to use distributed property maps here.
To fix this issue, the documentation would need to be brought up to date with the actual use of distributed maps.
When creating an instance of uneven_block with the distribution [1, 0, 1] then the implementation incorrectly returns process id 1 (counting from 0) to be the owner of element id 1 (counting from zero), because the local starts of processes 1 and 2 are identical (local starts would be [0, 1, 1, 2] in this case).
In general, the implementation incorrectly assigns elements belonging to the first owner after one or more adjacent empty owners to the first of those empty ones.
I would suggest to change the implementation from
graph_parallel/include/boost/graph/parallel/distribution.hpp
Lines 225 to 226 in 22385cc
size_vector::const_iterator ub = std::upper_bound(local_starts.begin(), local_starts.end(), (std::size_t) i);
return (--ub) - local_starts.begin();
Edit: Corrected mistake as pointed out below.
When building with https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi most of the tests fail with failed assertions, and one (distributed_connected_components_test) seems to go into an infinite loop.
We could also use a way of running CI for this on Windows.
Environment:
VS 2019 + Windows Server 2016
Issue description:
One test fails after runtest graph_parallel submodule on x86 paltform. Could you please take a look?
Reproduce steps:
git clone https://github.com/boostorg/boost.git F:\gitP\boostorg\boost
git -C "F:\gitP\boostorg\boost" submodule update --init --recursive
.\b2 headers variant=release --build-dir=..\out\x86rel address-model=32
.\b2 -j16 variant=release --build-dir=..\out\x86rel libs\graph_parallel\test
test_38.log
ErrorMessage:
compile-c-c++ ..\out\x86rel\boost\bin.v2\libs\graph_parallel\example\msvc-14.2\release\threading-multi\breadth_first_search.obj
breadth_first_search.cpp
.\boost/mpi/config.hpp(22): fatal error C1083: Cannot open include file: 'mpi.h': No such file or directory (d:\a01_work\4\s\src\vctools\Compiler\CxxFE\sl\p1\c\p0prepro.c:1964)
...failed compile-c-c++ ..\out\x86rel\boost\bin.v2\libs\graph_parallel\example\msvc-14.2\release\threading-multi\breadth_first_search.obj...
compile-c-c++ ..\out\x86rel\boost\bin.v2\libs\graph_parallel\example\msvc-14.2\release\threading-multi\dijkstra_shortest_paths.obj
dijkstra_shortest_paths.cpp
.\boost/mpi/config.hpp(22): fatal error C1083: Cannot open include file: 'mpi.h': No such file or directory (d:\a01_work\4\s\src\vctools\Compiler\CxxFE\sl\p1\c\p0prepro.c:1964)
...failed compile-c-c++ ..\out\x86rel\boost\bin.v2\libs\graph_parallel\example\msvc-14.2\release\threading-multi\dijkstra_shortest_paths.obj...
====== BEGIN OUTPUT ======
libs/graph_parallel: warning: file not found; Did not find [project-root]/include/boost/[library].h* file. A single header for the library is suggested at [project-root]/include/boost/[library].h* if the library does not have a header directory at [project-root]/include/boost/[library].
libs/graph_parallel: error: directory not found; Missing [project-root]/meta directory. The [project-root]/meta directory is required for all libraries.
EXIT STATUS: 1
====== END OUTPUT ======
Headers were likely never supposed to live in boost/pending for a long time. At this point boost/pending should be retired and the headers moved into their rightful and normal place. Here are the pending headers for this repository:
graph_parallel/include/boost/pending/property_serialize.hpp
Hi. I am trying to compile the example file dijkstra_shortest_paths.cpp
, but it seems to fail. Is this a bug in the library, or is the example outdated? Or am I missing anything else?
I enter the directory libs/graph_parallel/example
, then:
$ cat user-config.jam
using mpi ;
$ b2 --user-config=user-config.jam
warning: mismatched versions of Boost.Build engine and core
warning: Boost.Build engine (b2) is 4.0.0
warning: Boost.Build core (at /home2/giovanni2/packages/boost/upstream2/tools/build/src) is 4.1-git
warning: No toolsets are configured.
warning: Configuring default toolset "gcc".
warning: If the default is wrong, your build may not work correctly.
warning: Use the "toolset=xxxxx" option to override our guess.
warning: For more configuration options, please consult
warning: http://boost.org/boost-build2/doc/html/bbv2/advanced/configuration.html
Performing configuration checks
- default address-model : 64-bit (cached)
- default architecture : x86 (cached)
- symlinks supported : yes (cached)
warning: non-free usage requirements <threading>multi ignored
warning: in main-target mpi at /home2/giovanni2/packages/boost/upstream2/libs/graph_parallel/example/user-config.jam:1
warning: non-free usage requirements <threading>multi ignored
warning: in main-target boost_mpi at ../../../libs/mpi/build/Jamfile.v2:120
...patience...
...patience...
...patience...
...found 8840 targets...
...updating 2 targets...
gcc.compile.c++ ../../../bin.v2/libs/graph_parallel/example/gcc-9/debug/threading-multi/visibility-hidden/dijkstra_shortest_paths.o
In file included from ../../../boost/graph/distributed/dijkstra_shortest_paths.hpp:20,
from ../../../boost/graph/dijkstra_shortest_paths.hpp:595,
from dijkstra_shortest_paths.cpp:19:
../../../boost/graph/distributed/crauser_et_al_shortest_paths.hpp:189:13: error: ‘relaxed_heap’ does not name a type
189 | typedef relaxed_heap<vertex_descriptor, dist_queue_compare_type,
| ^~~~~~~~~~~~
../../../boost/graph/distributed/crauser_et_al_shortest_paths.hpp:203:13: error: ‘relaxed_heap’ does not name a type
203 | typedef relaxed_heap<vertex_descriptor, out_queue_compare_type,
| ^~~~~~~~~~~~
../../../boost/graph/distributed/crauser_et_al_shortest_paths.hpp:217:13: error: ‘relaxed_heap’ does not name a type
217 | typedef relaxed_heap<vertex_descriptor, in_queue_compare_type,
| ^~~~~~~~~~~~
../../../boost/graph/distributed/crauser_et_al_shortest_paths.hpp:224:22: error: ‘dist_queue_type’ has not been declared
224 | typedef typename dist_queue_type::size_type size_type;
| ^~~~~~~~~~~~~~~
../../../boost/graph/distributed/crauser_et_al_shortest_paths.hpp:225:22: error: ‘dist_queue_type’ has not been declared
225 | typedef typename dist_queue_type::value_type value_type;
| ^~~~~~~~~~~~~~~
../../../boost/graph/distributed/crauser_et_al_shortest_paths.hpp:403:5: error: ‘dist_queue_type’ does not name a type; did you mean ‘distance_type’?
403 | dist_queue_type dist_queue;
| ^~~~~~~~~~~~~~~
| distance_type
../../../boost/graph/distributed/crauser_et_al_shortest_paths.hpp:404:5: error: ‘out_queue_type’ does not name a type
404 | out_queue_type out_queue;
| ^~~~~~~~~~~~~~
../../../boost/graph/distributed/crauser_et_al_shortest_paths.hpp:405:5: error: ‘in_queue_type’ does not name a type
405 | in_queue_type in_queue;
| ^~~~~~~~~~~~~
[many other error messages]
It seems that relaxed_heap
was deprecated. Maybe graph_parallel
should stop making use of them? Thanks for your help.
Specifically:
gcc.compile.c++ ../../../bin.v2/libs/graph_parallel/test/adjlist_build_test-2.test/gcc-10/debug/cxxstd-17-iso/threading-multi/visibility-hidden/adjlist_build_test.o
In file included from ../../../boost/smart_ptr/detail/sp_thread_sleep.hpp:22,
from ../../../boost/smart_ptr/detail/yield_k.hpp:23,
from ../../../boost/smart_ptr/detail/spinlock_gcc_atomic.hpp:14,
from ../../../boost/smart_ptr/detail/spinlock.hpp:42,
from ../../../boost/smart_ptr/detail/spinlock_pool.hpp:25,
from ../../../boost/smart_ptr/shared_ptr.hpp:29,
from ../../../boost/shared_ptr.hpp:17,
from ../../../boost/property_map/parallel/distributed_property_map.hpp:22,
from ../../../boost/property_map/parallel/parallel_property_maps.hpp:30,
from ../../../boost/property_map/property_map.hpp:602,
from ../../../boost/graph/adjacency_list.hpp:27,
from ../../../boost/graph/distributed/adjacency_list.hpp:18,
from adjlist_build_test.cpp:10:
../../../boost/config/pragma_message.hpp:24:34: note: ‘#pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use <boost/bind/bind.hpp> + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior.’
24 | # define BOOST_PRAGMA_MESSAGE(x) _Pragma(BOOST_STRINGIZE(message(x)))
| ^~~~~~~
../../../boost/bind.hpp:36:1: note: in expansion of macro ‘BOOST_PRAGMA_MESSAGE’
36 | BOOST_PRAGMA_MESSAGE(
| ^~~~~~~~~~~~~~~~~~~~
In file included from ../../../boost/graph/distributed/adjacency_list.hpp:53,
from adjlist_build_test.cpp:10:
../../../boost/graph/distributed/named_graph.hpp: In destructor ‘boost::graph::distributed::named_graph<Graph, Vertex, Edge, Config>::lazy_add_vertex::~lazy_add_vertex()’:
../../../boost/graph/distributed/named_graph.hpp:379:25: warning: ‘bool std::uncaught_exception()’ is deprecated [-Wdeprecated-declarations]
379 | if (committed || std::uncaught_exception())
| ^~~~~~~~~~~~~~~~~~
In file included from ../../../boost/throw_exception.hpp:27,
from adjlist_build_test.cpp:9:
/usr/include/c++/10/exception:106:8: note: declared here
106 | bool uncaught_exception() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__));
| ^~~~~~~~~~~~~~~~~~
In file included from ../../../boost/graph/distributed/adjacency_list.hpp:53,
from adjlist_build_test.cpp:10:
../../../boost/graph/distributed/named_graph.hpp:379:44: warning: ‘bool std::uncaught_exception()’ is deprecated [-Wdeprecated-declarations]
379 | if (committed || std::uncaught_exception())
| ^
In file included from ../../../boost/throw_exception.hpp:27,
from adjlist_build_test.cpp:9:
/usr/include/c++/10/exception:106:8: note: declared here
106 | bool uncaught_exception() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__));
| ^~~~~~~~~~~~~~~~~~
In file included from ../../../boost/graph/distributed/adjacency_list.hpp:53,
from adjlist_build_test.cpp:10:
../../../boost/graph/distributed/named_graph.hpp: In destructor ‘boost::graph::distributed::named_graph<Graph, Vertex, Edge, Config>::lazy_add_edge::~lazy_add_edge()’:
../../../boost/graph/distributed/named_graph.hpp:489:25: warning: ‘bool std::uncaught_exception()’ is deprecated [-Wdeprecated-declarations]
489 | if (committed || std::uncaught_exception())
| ^~~~~~~~~~~~~~~~~~
In file included from ../../../boost/throw_exception.hpp:27,
from adjlist_build_test.cpp:9:
/usr/include/c++/10/exception:106:8: note: declared here
106 | bool uncaught_exception() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__));
| ^~~~~~~~~~~~~~~~~~
In file included from ../../../boost/graph/distributed/adjacency_list.hpp:53,
from adjlist_build_test.cpp:10:
../../../boost/graph/distributed/named_graph.hpp:489:44: warning: ‘bool std::uncaught_exception()’ is deprecated [-Wdeprecated-declarations]
489 | if (committed || std::uncaught_exception())
| ^
In file included from ../../../boost/throw_exception.hpp:27,
from adjlist_build_test.cpp:9:
/usr/include/c++/10/exception:106:8: note: declared here
106 | bool uncaught_exception() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__));
| ^~~~~~~~~~~~~~~~~~
In file included from ../../../boost/graph/distributed/adjacency_list.hpp:53,
from adjlist_build_test.cpp:10:
../../../boost/graph/distributed/named_graph.hpp: In destructor ‘boost::graph::distributed::named_graph<Graph, Vertex, Edge, Config>::lazy_add_edge_with_property::~lazy_add_edge_with_property()’:
../../../boost/graph/distributed/named_graph.hpp:685:25: warning: ‘bool std::uncaught_exception()’ is deprecated [-Wdeprecated-declarations]
685 | if (committed || std::uncaught_exception())
| ^~~~~~~~~~~~~~~~~~
In file included from ../../../boost/throw_exception.hpp:27,
from adjlist_build_test.cpp:9:
/usr/include/c++/10/exception:106:8: note: declared here
106 | bool uncaught_exception() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__));
| ^~~~~~~~~~~~~~~~~~
In file included from ../../../boost/graph/distributed/adjacency_list.hpp:53,
from adjlist_build_test.cpp:10:
../../../boost/graph/distributed/named_graph.hpp:685:44: warning: ‘bool std::uncaught_exception()’ is deprecated [-Wdeprecated-declarations]
685 | if (committed || std::uncaught_exception())
| ^
In file included from ../../../boost/throw_exception.hpp:27,
from adjlist_build_test.cpp:9:
/usr/include/c++/10/exception:106:8: note: declared here
106 | bool uncaught_exception() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__));
| ^~~~~~~~~~~~~~~~~~
In file included from adjlist_build_test.cpp:10:
../../../boost/graph/distributed/adjacency_list.hpp: In destructor ‘boost::adjacency_list<OutEdgeListS, boost::distributedS<ProcessGroup, InVertexListS, InDistribution>, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS>::lazy_add_vertex_with_property::~lazy_add_vertex_with_property()’:
../../../boost/graph/distributed/adjacency_list.hpp:2289:27: warning: ‘bool std::uncaught_exception()’ is deprecated [-Wdeprecated-declarations]
2289 | if (committed || std::uncaught_exception())
| ^~~~~~~~~~~~~~~~~~
In file included from ../../../boost/throw_exception.hpp:27,
from adjlist_build_test.cpp:9:
/usr/include/c++/10/exception:106:8: note: declared here
106 | bool uncaught_exception() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__));
| ^~~~~~~~~~~~~~~~~~
In file included from adjlist_build_test.cpp:10:
../../../boost/graph/distributed/adjacency_list.hpp:2289:46: warning: ‘bool std::uncaught_exception()’ is deprecated [-Wdeprecated-declarations]
2289 | if (committed || std::uncaught_exception())
| ^
In file included from ../../../boost/throw_exception.hpp:27,
from adjlist_build_test.cpp:9:
/usr/include/c++/10/exception:106:8: note: declared here
106 | bool uncaught_exception() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__));
| ^~~~~~~~~~~~~~~~~~
In file included from adjlist_build_test.cpp:10:
../../../boost/graph/distributed/adjacency_list.hpp: In destructor ‘boost::adjacency_list<OutEdgeListS, boost::distributedS<ProcessGroup, InVertexListS, InDistribution>, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS>::lazy_add_edge::~lazy_add_edge()’:
../../../boost/graph/distributed/adjacency_list.hpp:2402:27: warning: ‘bool std::uncaught_exception()’ is deprecated [-Wdeprecated-declarations]
2402 | if (committed || std::uncaught_exception())
| ^~~~~~~~~~~~~~~~~~
In file included from ../../../boost/throw_exception.hpp:27,
from adjlist_build_test.cpp:9:
/usr/include/c++/10/exception:106:8: note: declared here
106 | bool uncaught_exception() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__));
| ^~~~~~~~~~~~~~~~~~
In file included from adjlist_build_test.cpp:10:
../../../boost/graph/distributed/adjacency_list.hpp:2402:46: warning: ‘bool std::uncaught_exception()’ is deprecated [-Wdeprecated-declarations]
2402 | if (committed || std::uncaught_exception())
| ^
In file included from ../../../boost/throw_exception.hpp:27,
from adjlist_build_test.cpp:9:
/usr/include/c++/10/exception:106:8: note: declared here
106 | bool uncaught_exception() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__));
| ^~~~~~~~~~~~~~~~~~
In file included from adjlist_build_test.cpp:10:
../../../boost/graph/distributed/adjacency_list.hpp: In destructor ‘boost::adjacency_list<OutEdgeListS, boost::distributedS<ProcessGroup, InVertexListS, InDistribution>, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS>::lazy_add_edge_with_property::~lazy_add_edge_with_property()’:
../../../boost/graph/distributed/adjacency_list.hpp:2587:33: warning: ‘bool std::uncaught_exception()’ is deprecated [-Wdeprecated-declarations]
2587 | if (this->committed || std::uncaught_exception())
| ^~~~~~~~~~~~~~~~~~
In file included from ../../../boost/throw_exception.hpp:27,
from adjlist_build_test.cpp:9:
/usr/include/c++/10/exception:106:8: note: declared here
106 | bool uncaught_exception() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__));
| ^~~~~~~~~~~~~~~~~~
In file included from adjlist_build_test.cpp:10:
../../../boost/graph/distributed/adjacency_list.hpp:2587:52: warning: ‘bool std::uncaught_exception()’ is deprecated [-Wdeprecated-declarations]
2587 | if (this->committed || std::uncaught_exception())
| ^
In file included from ../../../boost/throw_exception.hpp:27,
from adjlist_build_test.cpp:9:
/usr/include/c++/10/exception:106:8: note: declared here
106 | bool uncaught_exception() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__));
| ^~~~~~~~~~~~~~~~~~
In file included from ../../../boost/smart_ptr/detail/sp_thread_sleep.hpp:22,
from ../../../boost/smart_ptr/detail/yield_k.hpp:23,
from ../../../boost/smart_ptr/detail/spinlock_gcc_atomic.hpp:14,
from ../../../boost/smart_ptr/detail/spinlock.hpp:42,
from ../../../boost/smart_ptr/detail/spinlock_pool.hpp:25,
from ../../../boost/smart_ptr/shared_ptr.hpp:29,
from ../../../boost/shared_ptr.hpp:17,
from ../../../boost/property_map/parallel/distributed_property_map.hpp:22,
from ../../../boost/property_map/parallel/parallel_property_maps.hpp:30,
from ../../../boost/property_map/property_map.hpp:602,
from ../../../boost/graph/adjacency_list.hpp:27,
from ../../../boost/graph/distributed/adjacency_list.hpp:18,
from adjlist_build_test.cpp:10:
../../../boost/test/minimal.hpp: At global scope:
../../../boost/config/pragma_message.hpp:24:34: note: ‘#pragma message: This header is deprecated. Use <boost/test/included/unit_test.hpp> instead.’
24 | # define BOOST_PRAGMA_MESSAGE(x) _Pragma(BOOST_STRINGIZE(message(x)))
| ^~~~~~~
../../../boost/config/header_deprecated.hpp:23:37: note: in expansion of macro ‘BOOST_PRAGMA_MESSAGE’
23 | # define BOOST_HEADER_DEPRECATED(a) BOOST_PRAGMA_MESSAGE("This header is deprecated. Use " a " instead.")
| ^~~~~~~~~~~~~~~~~~~~
../../../boost/test/minimal.hpp:35:1: note: in expansion of macro ‘BOOST_HEADER_DEPRECATED’
35 | BOOST_HEADER_DEPRECATED( "<boost/test/included/unit_test.hpp>" )
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from adjlist_build_test.cpp:10:
../../../boost/graph/distributed/adjacency_list.hpp: In instantiation of ‘boost::adjacency_list<OutEdgeListS, boost::distributedS<ProcessGroup, InVertexListS, InDistribution>, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS>::lazy_add_edge::~lazy_add_edge() [with OutEdgeListS = boost::listS; ProcessGroup = boost::graph::distributed::mpi_process_group; InVertexListS = boost::vecS; InDistribution = boost::defaultS; DirectedS = boost::bidirectionalS; VertexProperty = boost::no_property; EdgeProperty = boost::no_property; GraphProperty = boost::no_property; EdgeListS = boost::listS]’:
adjlist_build_test.cpp:90:75: required from here
../../../boost/graph/distributed/adjacency_list.hpp:2402:45: warning: ‘bool std::uncaught_exception()’ is deprecated [-Wdeprecated-declarations]
2402 | if (committed || std::uncaught_exception())
| ~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from ../../../boost/throw_exception.hpp:27,
from adjlist_build_test.cpp:9:
/usr/include/c++/10/exception:106:8: note: declared here
106 | bool uncaught_exception() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__));
| ^~~~~~~~~~~~~~~~~~
In file included from adjlist_build_test.cpp:10:
../../../boost/graph/distributed/adjacency_list.hpp:2402:45: warning: ‘bool std::uncaught_exception()’ is deprecated [-Wdeprecated-declarations]
2402 | if (committed || std::uncaught_exception())
| ~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from ../../../boost/throw_exception.hpp:27,
from adjlist_build_test.cpp:9:
/usr/include/c++/10/exception:106:8: note: declared here
106 | bool uncaught_exception() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__));
| ^~~~~~~~~~~~~~~~~~
In file included from adjlist_build_test.cpp:10:
../../../boost/graph/distributed/adjacency_list.hpp:2402:45: warning: ‘bool std::uncaught_exception()’ is deprecated [-Wdeprecated-declarations]
2402 | if (committed || std::uncaught_exception())
| ~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from ../../../boost/throw_exception.hpp:27,
from adjlist_build_test.cpp:9:
/usr/include/c++/10/exception:106:8: note: declared here
106 | bool uncaught_exception() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__));
| ^~~~~~~~~~~~~~~~~~
In file included from adjlist_build_test.cpp:10:
../../../boost/graph/distributed/adjacency_list.hpp: In instantiation of ‘boost::adjacency_list<OutEdgeListS, boost::distributedS<ProcessGroup, InVertexListS, InDistribution>, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS>::lazy_add_edge_with_property::~lazy_add_edge_with_property() [with OutEdgeListS = boost::listS; ProcessGroup = boost::graph::distributed::mpi_process_group; InVertexListS = boost::vecS; InDistribution = boost::defaultS; DirectedS = boost::bidirectionalS; VertexProperty = boost::no_property; EdgeProperty = boost::no_property; GraphProperty = boost::no_property; EdgeListS = boost::listS]’:
../../../boost/graph/distributed/adjlist/handlers.hpp:107:11: required from ‘void boost::adjacency_list<OutEdgeListS, boost::distributedS<ProcessGroup, InVertexListS, InDistribution>, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS>::handle_add_edge_with_property(int, int, const msg_add_edge_with_property_data&, boost::adjacency_list<OutEdgeListS, boost::distributedS<ProcessGroup, InVertexListS, InDistribution>, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS>::trigger_receive_context) [with OutEdgeListS = boost::listS; ProcessGroup = boost::graph::distributed::mpi_process_group; InVertexListS = boost::vecS; InDistribution = boost::defaultS; DirectedS = boost::bidirectionalS; VertexProperty = boost::no_property; EdgeProperty = boost::no_property; GraphProperty = boost::no_property; EdgeListS = boost::listS; boost::adjacency_list<OutEdgeListS, boost::distributedS<ProcessGroup, InVertexListS, InDistribution>, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS>::msg_add_edge_with_property_data = boost::detail::parallel::msg_add_edge_with_property_data<boost::detail::parallel::global_descriptor<long unsigned int>, long unsigned int, boost::no_property>; boost::adjacency_list<OutEdgeListS, boost::distributedS<ProcessGroup, InVertexListS, InDistribution>, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS>::trigger_receive_context = boost::parallel::trigger_receive_context]’
../../../boost/graph/distributed/adjlist/handlers.hpp:38:18: required from ‘void boost::adjacency_list<OutEdgeListS, boost::distributedS<ProcessGroup, InVertexListS, InDistribution>, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS>::setup_triggers() [with OutEdgeListS = boost::listS; ProcessGroup = boost::graph::distributed::mpi_process_group; InVertexListS = boost::vecS; InDistribution = boost::defaultS; DirectedS = boost::bidirectionalS; VertexProperty = boost::no_property; EdgeProperty = boost::no_property; GraphProperty = boost::no_property; EdgeListS = boost::listS]’
../../../boost/graph/distributed/adjacency_list.hpp:1585:7: required from ‘boost::adjacency_list<OutEdgeListS, boost::distributedS<ProcessGroup, InVertexListS, InDistribution>, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS>::adjacency_list(EdgeIterator, EdgeIterator, boost::adjacency_list<OutEdgeListS, boost::distributedS<ProcessGroup, InVertexListS, InDistribution>, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS>::vertices_size_type, const ProcessGroup&, const GraphProperty&) [with EdgeIterator = boost::erdos_renyi_iterator<boost::random::linear_congruential_engine<unsigned int, 48271, 0, 2147483647>, boost::adjacency_list<boost::listS, boost::distributedS<boost::graph::distributed::mpi_process_group, boost::vecS>, boost::bidirectionalS> >; OutEdgeListS = boost::listS; ProcessGroup = boost::graph::distributed::mpi_process_group; InVertexListS = boost::vecS; InDistribution = boost::defaultS; DirectedS = boost::bidirectionalS; VertexProperty = boost::no_property; EdgeProperty = boost::no_property; GraphProperty = boost::no_property; EdgeListS = boost::listS; boost::adjacency_list<OutEdgeListS, boost::distributedS<ProcessGroup, InVertexListS, InDistribution>, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS>::vertices_size_type = long unsigned int]’
adjlist_build_test.cpp:71:47: required from here
../../../boost/graph/distributed/adjacency_list.hpp:2587:51: warning: ‘bool std::uncaught_exception()’ is deprecated [-Wdeprecated-declarations]
2587 | if (this->committed || std::uncaught_exception())
| ~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from ../../../boost/throw_exception.hpp:27,
from adjlist_build_test.cpp:9:
/usr/include/c++/10/exception:106:8: note: declared here
106 | bool uncaught_exception() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__));
| ^~~~~~~~~~~~~~~~~~
In file included from adjlist_build_test.cpp:10:
../../../boost/graph/distributed/adjacency_list.hpp:2587:51: warning: ‘bool std::uncaught_exception()’ is deprecated [-Wdeprecated-declarations]
2587 | if (this->committed || std::uncaught_exception())
| ~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from ../../../boost/throw_exception.hpp:27,
from adjlist_build_test.cpp:9:
/usr/include/c++/10/exception:106:8: note: declared here
106 | bool uncaught_exception() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__));
| ^~~~~~~~~~~~~~~~~~
In file included from adjlist_build_test.cpp:10:
../../../boost/graph/distributed/adjacency_list.hpp:2587:51: warning: ‘bool std::uncaught_exception()’ is deprecated [-Wdeprecated-declarations]
2587 | if (this->committed || std::uncaught_exception())
| ~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from ../../../boost/throw_exception.hpp:27,
from adjlist_build_test.cpp:9:
/usr/include/c++/10/exception:106:8: note: declared here
106 | bool uncaught_exception() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__));
| ^~~~~~~~~~~~~~~~~~
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.