On Apr 26, 2016, at 2:01 PM, Belcourt, Kenneth
wrote: On Apr 26, 2016, at 1:31 PM, Vladimir Prus
wrote: On 4/26/2016 10:24 PM, Belcourt, Kenneth wrote:
Yes, I’m running tests for both develop and master right now and they’ll post results here in a couple of hours.
What about graph and graph_parallel? Are they also broken in current master?
Graph should be fine in master. graph_parallel that depends on MPI is broken due to the serialization issue. There’s also an issue with graph_parallel where some examples don’t compile in master due, apparently, to some un-merged changes from develop. This issue was reported by Eisuke Kawashima.
The upshot is that fixing MPI serialization in master will fix both MPI and graph_parallel. The graph_parallel/example breakage is less critical though at least one user is impacted by it.
Given that MPI and graph_parallel are entirely broken on master right now, please cherry-pick the serialization fix to master, either now or when the tests finish - it can't be worse for sure. We'll include the change in release.
Just cherry-picked these two commits into master to fix the serialization issue:
commit 0dce8d2c2ab273c488d708fb3e66dbb9c4298a79 Author: Jürgen Hunold
commit 7d33e519b3daa01e9bb4a5545d5d084c45875e4f Author: K. Noel Belcourt
MPI tests are clean on master. Graph_parallel is mostly clean, there’s one issue:
clang-darwin.compile.c++ ../bin.v2/libs/graph_parallel/test/distributed_csr_algorithm_test-1.test/clang-darwin-4.2.1/debug/distributed_csr_algorithm_test.o
In file included from ../libs/graph_parallel/test/distributed_csr_algorithm_test.cpp:25: In file included from ../boost/graph/dijkstra_shortest_paths.hpp:25: ../boost/pending/relaxed_heap.hpp:194:53: error: no viable conversion from returned value of type 'const value_type' (aka 'const boost::optional<unsigned long>') to function return type 'bool' bool contains(const value_type& x) const { return groups[get(id, x)]; } ^~~~~~~~~~~~~~~~~~ which looks like a dependency on an un-merged change from graph develop. I’ll have to track this down.
There’s a small change to graph develop: include/boost/pending/relaxed_heap.hpp, that fixes the graph and graph_parallel results on master, here’s the diff (haven’t found a commit to cherry-pick yet). diff --git a/include/boost/pending/relaxed_heap.hpp b/include/boost/pending/relaxed_heap.hpp index 13f7af4..8be4484 100644 --- a/include/boost/pending/relaxed_heap.hpp +++ b/include/boost/pending/relaxed_heap.hpp @@ -191,7 +191,9 @@ public: return !smallest_value || (smallest_value->kind == largest_key); } - bool contains(const value_type& x) const { return groups[get(id, x)]; } + bool contains(const value_type& x) const { + return static_cast<bool>(groups[get(id, x)]); + } Okay to apply this change to master, we should be all green for graph, graph_parallel, and MPI on master? — Noel