Subject: Re: [boost] [EXTERNAL] [1.61.0] Master branch is closed
From: Belcourt, Kenneth (kbelco_at_[hidden])
Date: 2016-04-27 07:48:03



> On Apr 27, 2016, at 12:33 AM, Vladimir Prus <vladimir.prus_at_[hidden]> wrote:
>
> On 4/26/2016 11:59 PM, Belcourt, Kenneth wrote:
>>
>>> On Apr 26, 2016, at 2:26 PM, Belcourt, Kenneth <kbelco_at_[hidden]> wrote:
>>>
>>>
>>>> On Apr 26, 2016, at 2:01 PM, Belcourt, Kenneth <kbelco_at_[hidden]> wrote:
>>>>
>>>>
>>>>> On Apr 26, 2016, at 1:31 PM, Vladimir Prus <vladimir.prus_at_[hidden]> 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 <jhunold_at_gmx.eu>
>>>>
>>>> commit 7d33e519b3daa01e9bb4a5545d5d084c45875e4f
>>>> Author: K. Noel Belcourt <kbelco_at_[hidden]>
>>>>
>>>> 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)]);
>>> + }
>>
>> and this change to graph/develop to fix one last issue.
>>
>> s988329:graph kbelco$ git diff
>> diff --git a/include/boost/graph/adjacency_matrix.hpp b/include/boost/graph/adjacency_matrix.hpp
>> index b1078d9..ade7351 100644
>> --- a/include/boost/graph/adjacency_matrix.hpp
>> +++ b/include/boost/graph/adjacency_matrix.hpp
>> @@ -443,7 +443,7 @@ namespace boost {
>> // graph type. Instead, use directedS, which also provides the
>> // functionality required for a Bidirectional Graph (in_edges,
>> // in_degree, etc.).
>> - BOOST_STATIC_ASSERT(type_traits::ice_not<(is_same<Directed, bidirectionalS>::value)>::value);
>> + BOOST_STATIC_ASSERT(!(is_same<Directed, bidirectionalS>::value));
>>
>> typedef typename mpl::if_<is_directed,
>> bidirectional_tag, undirected_tag>::type
>>
>> These tests all pass on master with the above changes:
>>
>> graph/test # test-suite graph
>> graph_parallel/test # test-suite graph/parallel
>> mpi/test # test-suite mpi
>
> Noel,
>
> if you're still around, please commit these patches too.

Sorry about the delay, just pushed this commit to graph master.

commit ed989311185caf8384dd7e42315f58dcd349d3eb
Author: K. Noel Belcourt <kbelco_at_[hidden]>
Date: Wed Apr 27 05:42:03 2016 -0600

    Fixes to clear graph and graph_parallel for 1.61 release.

Graph, graph_parallel, and MPI all pass on master. Let me know when the super project has updated and I’ll kick off the Sandia testers.