Boost logo

Boost :

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.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk