Skip to content

Commit

Permalink
Silence spurious compiler warnings (#3913)
Browse files Browse the repository at this point in the history
We see compiler warnings basically saying some internal data member in `std::optional` may be used uninitialized. This lengthy warnings are very annoying and can hide important warnings/errors.

Seeing https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80635, it seems like this warning is not valid and due to the fact that the compiler cannot perfectly track when an `std::optional` object is valid or not in every code path.

Anyways, this PR tweaks the code to silence the warnings. There is very little practical difference between the old and new code, but I don't see the annoying warnings anymore with this update.

See the below for the actual warnings.
```
[1/1] Building CUDA object CMakeFiles/cugraph.dir/src/structure/graph_view_mg.cu.o
In member function 'cugraph::detail::edge_minor_property_t<int, int>& cugraph::detail::edge_minor_property_t<int, int>::operator=(cugraph::detail::edge_minor_property_t<int, int>&&)',
    inlined from 'cugraph::edge_src_property_t<GraphViewType, T>::edge_src_property_t(const raft::handle_t&, const GraphViewType&) [with GraphViewType = cugraph::graph_view_t<int, int, true, true>; T = int]' at /home/seunghwak/RAPIDS/development/cugraph/cpp/include/cugraph/edge_src_dst_property.hpp:425:13,
    inlined from 'void cugraph::detail::per_v_transform_reduce_e(const raft::handle_t&, const GraphViewType&, EdgeSrcValueInputWrapper, EdgeDstValueInputWrapper, EdgeValueInputWrapper, EdgeOp, T, ReduceOp, VertexValueOutputIterator) [with bool incoming = false; GraphViewType = cugraph::graph_view_t<int, int, true, true>; EdgeSrcValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeDstValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeValueInputWrapper = cugraph::edge_dummy_property_view_t; EdgeOp = __nv_dl_wrapper_t<__nv_dl_tag<rmm::device_uvector<int> (*)(const raft::handle_t&, const cugraph::graph_view_t<int, int, true, true>&), cugraph::_GLOBAL__N__fbd7e12b_16_graph_view_mg_cu_854a5764_83484::compute_minor_degrees<int, int, true, true>, 1> >; ReduceOp = cugraph::reduce_op::plus<int>; T = int; VertexValueOutputIterator = int*]' at /home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh:522:20:
/home/seunghwak/RAPIDS/development/cugraph/cpp/include/cugraph/edge_src_dst_property.hpp:285:7: warning: '((const std::size_t*)((char*)&<unnamed> + offsetof(cugraph::edge_src_property_t<cugraph::graph_view_t<int, int, true, true, void>, int>,cugraph::edge_src_property_t<cugraph::graph_view_t<int, int, true, true, void>, int>::property_.cugraph::detail::edge_minor_property_t<int, int>::keys_.std::optional<raft::span<const int, true, 18446744073709551615> >::<unnamed>.std::_Optional_base<raft::span<const int, true, 18446744073709551615>, true, true>::_M_payload.std::_Optional_payload<raft::span<const int, true, 18446744073709551615>, true, true, true>::<unnamed>.std::_Optional_payload_base<raft::span<const int, true, 18446744073709551615> >::_M_payload)))[1]' may be used uninitialized [-Wmaybe-uninitialized]
  285 | class edge_minor_property_t {
      |       ^~~~~~~~~~~~~~~~~~~~~
/home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh: In function 'void cugraph::detail::per_v_transform_reduce_e(const raft::handle_t&, const GraphViewType&, EdgeSrcValueInputWrapper, EdgeDstValueInputWrapper, EdgeValueInputWrapper, EdgeOp, T, ReduceOp, VertexValueOutputIterator) [with bool incoming = false; GraphViewType = cugraph::graph_view_t<int, int, true, true>; EdgeSrcValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeDstValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeValueInputWrapper = cugraph::edge_dummy_property_view_t; EdgeOp = __nv_dl_wrapper_t<__nv_dl_tag<rmm::device_uvector<int> (*)(const raft::handle_t&, const cugraph::graph_view_t<int, int, true, true>&), cugraph::_GLOBAL__N__fbd7e12b_16_graph_view_mg_cu_854a5764_83484::compute_minor_degrees<int, int, true, true>, 1> >; ReduceOp = cugraph::reduce_op::plus<int>; T = int; VertexValueOutputIterator = int*]':
/home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh:522:20: note: '<anonymous>' declared here
  522 |       minor_tmp_buffer = edge_src_property_t<GraphViewType, T>(handle, graph_view);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'cugraph::detail::edge_minor_property_t<int, int>& cugraph::detail::edge_minor_property_t<int, int>::operator=(cugraph::detail::edge_minor_property_t<int, int>&&)',
    inlined from 'cugraph::edge_src_property_t<GraphViewType, T>::edge_src_property_t(const raft::handle_t&, const GraphViewType&) [with GraphViewType = cugraph::graph_view_t<int, int, true, true>; T = int]' at /home/seunghwak/RAPIDS/development/cugraph/cpp/include/cugraph/edge_src_dst_property.hpp:425:13,
    inlined from 'void cugraph::detail::per_v_transform_reduce_e(const raft::handle_t&, const GraphViewType&, EdgeSrcValueInputWrapper, EdgeDstValueInputWrapper, EdgeValueInputWrapper, EdgeOp, T, ReduceOp, VertexValueOutputIterator) [with bool incoming = false; GraphViewType = cugraph::graph_view_t<int, int, true, true>; EdgeSrcValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeDstValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeValueInputWrapper = cugraph::edge_dummy_property_view_t; EdgeOp = __nv_dl_wrapper_t<__nv_dl_tag<rmm::device_uvector<int> (*)(const raft::handle_t&, const cugraph::graph_view_t<int, int, true, true>&), cugraph::_GLOBAL__N__fbd7e12b_16_graph_view_mg_cu_854a5764_83484::compute_minor_degrees<int, int, true, true>, 1> >; ReduceOp = cugraph::reduce_op::plus<int>; T = int; VertexValueOutputIterator = int*]' at /home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh:522:20:
/home/seunghwak/RAPIDS/development/cugraph/cpp/include/cugraph/edge_src_dst_property.hpp:285:7: warning: '*(long unsigned int*)((char*)&<unnamed> + offsetof(cugraph::edge_src_property_t<cugraph::graph_view_t<int, int, true, true, void>, int>,cugraph::edge_src_property_t<cugraph::graph_view_t<int, int, true, true, void>, int>::property_.cugraph::detail::edge_minor_property_t<int, int>::key_chunk_size_.std::optional<long unsigned int>::<unnamed>.std::_Optional_base<long unsigned int, true, true>::<unnamed>))' may be used uninitialized [-Wmaybe-uninitialized]
  285 | class edge_minor_property_t {
      |       ^~~~~~~~~~~~~~~~~~~~~
/home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh: In function 'void cugraph::detail::per_v_transform_reduce_e(const raft::handle_t&, const GraphViewType&, EdgeSrcValueInputWrapper, EdgeDstValueInputWrapper, EdgeValueInputWrapper, EdgeOp, T, ReduceOp, VertexValueOutputIterator) [with bool incoming = false; GraphViewType = cugraph::graph_view_t<int, int, true, true>; EdgeSrcValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeDstValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeValueInputWrapper = cugraph::edge_dummy_property_view_t; EdgeOp = __nv_dl_wrapper_t<__nv_dl_tag<rmm::device_uvector<int> (*)(const raft::handle_t&, const cugraph::graph_view_t<int, int, true, true>&), cugraph::_GLOBAL__N__fbd7e12b_16_graph_view_mg_cu_854a5764_83484::compute_minor_degrees<int, int, true, true>, 1> >; ReduceOp = cugraph::reduce_op::plus<int>; T = int; VertexValueOutputIterator = int*]':
/home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh:522:20: note: '<anonymous>' declared here
  522 |       minor_tmp_buffer = edge_src_property_t<GraphViewType, T>(handle, graph_view);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'cugraph::detail::edge_minor_property_t<int, int>& cugraph::detail::edge_minor_property_t<int, int>::operator=(cugraph::detail::edge_minor_property_t<int, int>&&)',
    inlined from 'cugraph::edge_src_property_t<cugraph::graph_view_t<int, int, true, true>, int>& cugraph::edge_src_property_t<cugraph::graph_view_t<int, int, true, true>, int>::operator=(cugraph::edge_src_property_t<cugraph::graph_view_t<int, int, true, true>, int>&&)' at /home/seunghwak/RAPIDS/development/cugraph/cpp/include/cugraph/edge_src_dst_property.hpp:375:7,
    inlined from 'void cugraph::detail::per_v_transform_reduce_e(const raft::handle_t&, const GraphViewType&, EdgeSrcValueInputWrapper, EdgeDstValueInputWrapper, EdgeValueInputWrapper, EdgeOp, T, ReduceOp, VertexValueOutputIterator) [with bool incoming = false; GraphViewType = cugraph::graph_view_t<int, int, true, true>; EdgeSrcValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeDstValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeValueInputWrapper = cugraph::edge_dummy_property_view_t; EdgeOp = __nv_dl_wrapper_t<__nv_dl_tag<rmm::device_uvector<int> (*)(const raft::handle_t&, const cugraph::graph_view_t<int, int, true, true>&), cugraph::_GLOBAL__N__fbd7e12b_16_graph_view_mg_cu_854a5764_83484::compute_minor_degrees<int, int, true, true>, 1> >; ReduceOp = cugraph::reduce_op::plus<int>; T = int; VertexValueOutputIterator = int*]' at /home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh:522:18:
/home/seunghwak/RAPIDS/development/cugraph/cpp/include/cugraph/edge_src_dst_property.hpp:285:7: warning: '*(const int**)((char*)&<unnamed> + offsetof(cugraph::edge_src_property_t<cugraph::graph_view_t<int, int, true, true, void>, int>,cugraph::edge_src_property_t<cugraph::graph_view_t<int, int, true, true, void>, int>::property_.cugraph::detail::edge_minor_property_t<int, int>::keys_.std::optional<raft::span<const int, true, 18446744073709551615> >::<unnamed>.std::_Optional_base<raft::span<const int, true, 18446744073709551615>, true, true>::<unnamed>))' may be used uninitialized [-Wmaybe-uninitialized]
  285 | class edge_minor_property_t {
      |       ^~~~~~~~~~~~~~~~~~~~~
/home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh: In function 'void cugraph::detail::per_v_transform_reduce_e(const raft::handle_t&, const GraphViewType&, EdgeSrcValueInputWrapper, EdgeDstValueInputWrapper, EdgeValueInputWrapper, EdgeOp, T, ReduceOp, VertexValueOutputIterator) [with bool incoming = false; GraphViewType = cugraph::graph_view_t<int, int, true, true>; EdgeSrcValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeDstValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeValueInputWrapper = cugraph::edge_dummy_property_view_t; EdgeOp = __nv_dl_wrapper_t<__nv_dl_tag<rmm::device_uvector<int> (*)(const raft::handle_t&, const cugraph::graph_view_t<int, int, true, true>&), cugraph::_GLOBAL__N__fbd7e12b_16_graph_view_mg_cu_854a5764_83484::compute_minor_degrees<int, int, true, true>, 1> >; ReduceOp = cugraph::reduce_op::plus<int>; T = int; VertexValueOutputIterator = int*]':
/home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh:522:20: note: '<anonymous>' declared here
  522 |       minor_tmp_buffer = edge_src_property_t<GraphViewType, T>(handle, graph_view);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'cugraph::detail::edge_minor_property_t<int, int>& cugraph::detail::edge_minor_property_t<int, int>::operator=(cugraph::detail::edge_minor_property_t<int, int>&&)',
    inlined from 'cugraph::edge_src_property_t<cugraph::graph_view_t<int, int, true, true>, int>& cugraph::edge_src_property_t<cugraph::graph_view_t<int, int, true, true>, int>::operator=(cugraph::edge_src_property_t<cugraph::graph_view_t<int, int, true, true>, int>&&)' at /home/seunghwak/RAPIDS/development/cugraph/cpp/include/cugraph/edge_src_dst_property.hpp:375:7,
    inlined from 'void cugraph::detail::per_v_transform_reduce_e(const raft::handle_t&, const GraphViewType&, EdgeSrcValueInputWrapper, EdgeDstValueInputWrapper, EdgeValueInputWrapper, EdgeOp, T, ReduceOp, VertexValueOutputIterator) [with bool incoming = false; GraphViewType = cugraph::graph_view_t<int, int, true, true>; EdgeSrcValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeDstValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeValueInputWrapper = cugraph::edge_dummy_property_view_t; EdgeOp = __nv_dl_wrapper_t<__nv_dl_tag<rmm::device_uvector<int> (*)(const raft::handle_t&, const cugraph::graph_view_t<int, int, true, true>&), cugraph::_GLOBAL__N__fbd7e12b_16_graph_view_mg_cu_854a5764_83484::compute_minor_degrees<int, int, true, true>, 1> >; ReduceOp = cugraph::reduce_op::plus<int>; T = int; VertexValueOutputIterator = int*]' at /home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh:522:18:
/home/seunghwak/RAPIDS/development/cugraph/cpp/include/cugraph/edge_src_dst_property.hpp:285:7: warning: '*(const int**)((char*)&<unnamed> + offsetof(cugraph::edge_src_property_t<cugraph::graph_view_t<int, int, true, true, void>, int>,cugraph::edge_src_property_t<cugraph::graph_view_t<int, int, true, true, void>, int>::property_.cugraph::detail::edge_minor_property_t<int, int>::key_chunk_start_offsets_.std::optional<raft::span<const int, true, 18446744073709551615> >::<unnamed>.std::_Optional_base<raft::span<const int, true, 18446744073709551615>, true, true>::<unnamed>))' may be used uninitialized [-Wmaybe-uninitialized]
  285 | class edge_minor_property_t {
      |       ^~~~~~~~~~~~~~~~~~~~~
/home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh: In function 'void cugraph::detail::per_v_transform_reduce_e(const raft::handle_t&, const GraphViewType&, EdgeSrcValueInputWrapper, EdgeDstValueInputWrapper, EdgeValueInputWrapper, EdgeOp, T, ReduceOp, VertexValueOutputIterator) [with bool incoming = false; GraphViewType = cugraph::graph_view_t<int, int, true, true>; EdgeSrcValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeDstValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeValueInputWrapper = cugraph::edge_dummy_property_view_t; EdgeOp = __nv_dl_wrapper_t<__nv_dl_tag<rmm::device_uvector<int> (*)(const raft::handle_t&, const cugraph::graph_view_t<int, int, true, true>&), cugraph::_GLOBAL__N__fbd7e12b_16_graph_view_mg_cu_854a5764_83484::compute_minor_degrees<int, int, true, true>, 1> >; ReduceOp = cugraph::reduce_op::plus<int>; T = int; VertexValueOutputIterator = int*]':
/home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh:522:20: note: '<anonymous>' declared here
  522 |       minor_tmp_buffer = edge_src_property_t<GraphViewType, T>(handle, graph_view);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'cugraph::detail::edge_minor_property_t<int, int>& cugraph::detail::edge_minor_property_t<int, int>::operator=(cugraph::detail::edge_minor_property_t<int, int>&&)',
    inlined from 'cugraph::edge_src_property_t<cugraph::graph_view_t<int, int, true, true>, int>& cugraph::edge_src_property_t<cugraph::graph_view_t<int, int, true, true>, int>::operator=(cugraph::edge_src_property_t<cugraph::graph_view_t<int, int, true, true>, int>&&)' at /home/seunghwak/RAPIDS/development/cugraph/cpp/include/cugraph/edge_src_dst_property.hpp:375:7,
    inlined from 'void cugraph::detail::per_v_transform_reduce_e(const raft::handle_t&, const GraphViewType&, EdgeSrcValueInputWrapper, EdgeDstValueInputWrapper, EdgeValueInputWrapper, EdgeOp, T, ReduceOp, VertexValueOutputIterator) [with bool incoming = false; GraphViewType = cugraph::graph_view_t<int, int, true, true>; EdgeSrcValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeDstValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeValueInputWrapper = cugraph::edge_dummy_property_view_t; EdgeOp = __nv_dl_wrapper_t<__nv_dl_tag<rmm::device_uvector<int> (*)(const raft::handle_t&, const cugraph::graph_view_t<int, int, true, true>&), cugraph::_GLOBAL__N__fbd7e12b_16_graph_view_mg_cu_854a5764_83484::compute_minor_degrees<int, int, true, true>, 1> >; ReduceOp = cugraph::reduce_op::plus<int>; T = int; VertexValueOutputIterator = int*]' at /home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh:522:18:
/home/seunghwak/RAPIDS/development/cugraph/cpp/include/cugraph/edge_src_dst_property.hpp:285:7: warning: '((std::size_t*)((char*)&<unnamed> + offsetof(cugraph::edge_src_property_t<cugraph::graph_view_t<int, int, true, true, void>, int>,cugraph::edge_src_property_t<cugraph::graph_view_t<int, int, true, true, void>, int>::property_.cugraph::detail::edge_minor_property_t<int, int>::key_chunk_start_offsets_.std::optional<raft::span<const int, true, 18446744073709551615> >::<unnamed>.std::_Optional_base<raft::span<const int, true, 18446744073709551615>, true, true>::_M_payload.std::_Optional_payload<raft::span<const int, true, 18446744073709551615>, true, true, true>::<unnamed>.std::_Optional_payload_base<raft::span<const int, true, 18446744073709551615> >::_M_payload)))[1]' may be used uninitialized [-Wmaybe-uninitialized]
  285 | class edge_minor_property_t {
      |       ^~~~~~~~~~~~~~~~~~~~~
/home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh: In function 'void cugraph::detail::per_v_transform_reduce_e(const raft::handle_t&, const GraphViewType&, EdgeSrcValueInputWrapper, EdgeDstValueInputWrapper, EdgeValueInputWrapper, EdgeOp, T, ReduceOp, VertexValueOutputIterator) [with bool incoming = false; GraphViewType = cugraph::graph_view_t<int, int, true, true>; EdgeSrcValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeDstValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeValueInputWrapper = cugraph::edge_dummy_property_view_t; EdgeOp = __nv_dl_wrapper_t<__nv_dl_tag<rmm::device_uvector<int> (*)(const raft::handle_t&, const cugraph::graph_view_t<int, int, true, true>&), cugraph::_GLOBAL__N__fbd7e12b_16_graph_view_mg_cu_854a5764_83484::compute_minor_degrees<int, int, true, true>, 1> >; ReduceOp = cugraph::reduce_op::plus<int>; T = int; VertexValueOutputIterator = int*]':
/home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh:522:20: note: '<anonymous>' declared here
  522 |       minor_tmp_buffer = edge_src_property_t<GraphViewType, T>(handle, graph_view);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'cugraph::detail::edge_minor_property_t<int, int>& cugraph::detail::edge_minor_property_t<int, int>::operator=(cugraph::detail::edge_minor_property_t<int, int>&&)',
    inlined from 'cugraph::edge_dst_property_t<GraphViewType, T>::edge_dst_property_t(const raft::handle_t&, const GraphViewType&) [with GraphViewType = cugraph::graph_view_t<int, int, false, true>; T = int]' at /home/seunghwak/RAPIDS/development/cugraph/cpp/include/cugraph/edge_src_dst_property.hpp:527:13,
    inlined from 'void cugraph::detail::per_v_transform_reduce_e(const raft::handle_t&, const GraphViewType&, EdgeSrcValueInputWrapper, EdgeDstValueInputWrapper, EdgeValueInputWrapper, EdgeOp, T, ReduceOp, VertexValueOutputIterator) [with bool incoming = true; GraphViewType = cugraph::graph_view_t<int, int, false, true>; EdgeSrcValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeDstValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeValueInputWrapper = cugraph::edge_dummy_property_view_t; EdgeOp = __nv_dl_wrapper_t<__nv_dl_tag<rmm::device_uvector<int> (*)(const raft::handle_t&, const cugraph::graph_view_t<int, int, false, true>&), cugraph::_GLOBAL__N__fbd7e12b_16_graph_view_mg_cu_854a5764_83484::compute_minor_degrees<int, int, false, true>, 2> >; ReduceOp = cugraph::reduce_op::plus<int>; T = int; VertexValueOutputIterator = int*]' at /home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh:524:20:
/home/seunghwak/RAPIDS/development/cugraph/cpp/include/cugraph/edge_src_dst_property.hpp:285:7: warning: '((const std::size_t*)((char*)&<unnamed> + offsetof(cugraph::edge_dst_property_t<cugraph::graph_view_t<int, int, false, true, void>, int>,cugraph::edge_dst_property_t<cugraph::graph_view_t<int, int, false, true, void>, int>::property_.cugraph::detail::edge_minor_property_t<int, int>::keys_.std::optional<raft::span<const int, true, 18446744073709551615> >::<unnamed>.std::_Optional_base<raft::span<const int, true, 18446744073709551615>, true, true>::_M_payload.std::_Optional_payload<raft::span<const int, true, 18446744073709551615>, true, true, true>::<unnamed>.std::_Optional_payload_base<raft::span<const int, true, 18446744073709551615> >::_M_payload)))[1]' may be used uninitialized [-Wmaybe-uninitialized]
  285 | class edge_minor_property_t {
      |       ^~~~~~~~~~~~~~~~~~~~~
/home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh: In function 'void cugraph::detail::per_v_transform_reduce_e(const raft::handle_t&, const GraphViewType&, EdgeSrcValueInputWrapper, EdgeDstValueInputWrapper, EdgeValueInputWrapper, EdgeOp, T, ReduceOp, VertexValueOutputIterator) [with bool incoming = true; GraphViewType = cugraph::graph_view_t<int, int, false, true>; EdgeSrcValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeDstValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeValueInputWrapper = cugraph::edge_dummy_property_view_t; EdgeOp = __nv_dl_wrapper_t<__nv_dl_tag<rmm::device_uvector<int> (*)(const raft::handle_t&, const cugraph::graph_view_t<int, int, false, true>&), cugraph::_GLOBAL__N__fbd7e12b_16_graph_view_mg_cu_854a5764_83484::compute_minor_degrees<int, int, false, true>, 2> >; ReduceOp = cugraph::reduce_op::plus<int>; T = int; VertexValueOutputIterator = int*]':
/home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh:524:20: note: '<anonymous>' declared here
  524 |       minor_tmp_buffer = edge_dst_property_t<GraphViewType, T>(handle, graph_view);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'cugraph::detail::edge_minor_property_t<int, int>& cugraph::detail::edge_minor_property_t<int, int>::operator=(cugraph::detail::edge_minor_property_t<int, int>&&)',
    inlined from 'cugraph::edge_dst_property_t<GraphViewType, T>::edge_dst_property_t(const raft::handle_t&, const GraphViewType&) [with GraphViewType = cugraph::graph_view_t<int, int, false, true>; T = int]' at /home/seunghwak/RAPIDS/development/cugraph/cpp/include/cugraph/edge_src_dst_property.hpp:527:13,
    inlined from 'void cugraph::detail::per_v_transform_reduce_e(const raft::handle_t&, const GraphViewType&, EdgeSrcValueInputWrapper, EdgeDstValueInputWrapper, EdgeValueInputWrapper, EdgeOp, T, ReduceOp, VertexValueOutputIterator) [with bool incoming = true; GraphViewType = cugraph::graph_view_t<int, int, false, true>; EdgeSrcValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeDstValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeValueInputWrapper = cugraph::edge_dummy_property_view_t; EdgeOp = __nv_dl_wrapper_t<__nv_dl_tag<rmm::device_uvector<int> (*)(const raft::handle_t&, const cugraph::graph_view_t<int, int, false, true>&), cugraph::_GLOBAL__N__fbd7e12b_16_graph_view_mg_cu_854a5764_83484::compute_minor_degrees<int, int, false, true>, 2> >; ReduceOp = cugraph::reduce_op::plus<int>; T = int; VertexValueOutputIterator = int*]' at /home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh:524:20:
/home/seunghwak/RAPIDS/development/cugraph/cpp/include/cugraph/edge_src_dst_property.hpp:285:7: warning: '*(long unsigned int*)((char*)&<unnamed> + offsetof(cugraph::edge_dst_property_t<cugraph::graph_view_t<int, int, false, true, void>, int>,cugraph::edge_dst_property_t<cugraph::graph_view_t<int, int, false, true, void>, int>::property_.cugraph::detail::edge_minor_property_t<int, int>::key_chunk_size_.std::optional<long unsigned int>::<unnamed>.std::_Optional_base<long unsigned int, true, true>::<unnamed>))' may be used uninitialized [-Wmaybe-uninitialized]
  285 | class edge_minor_property_t {
      |       ^~~~~~~~~~~~~~~~~~~~~
/home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh: In function 'void cugraph::detail::per_v_transform_reduce_e(const raft::handle_t&, const GraphViewType&, EdgeSrcValueInputWrapper, EdgeDstValueInputWrapper, EdgeValueInputWrapper, EdgeOp, T, ReduceOp, VertexValueOutputIterator) [with bool incoming = true; GraphViewType = cugraph::graph_view_t<int, int, false, true>; EdgeSrcValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeDstValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeValueInputWrapper = cugraph::edge_dummy_property_view_t; EdgeOp = __nv_dl_wrapper_t<__nv_dl_tag<rmm::device_uvector<int> (*)(const raft::handle_t&, const cugraph::graph_view_t<int, int, false, true>&), cugraph::_GLOBAL__N__fbd7e12b_16_graph_view_mg_cu_854a5764_83484::compute_minor_degrees<int, int, false, true>, 2> >; ReduceOp = cugraph::reduce_op::plus<int>; T = int; VertexValueOutputIterator = int*]':
/home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh:524:20: note: '<anonymous>' declared here
  524 |       minor_tmp_buffer = edge_dst_property_t<GraphViewType, T>(handle, graph_view);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'cugraph::detail::edge_minor_property_t<int, int>& cugraph::detail::edge_minor_property_t<int, int>::operator=(cugraph::detail::edge_minor_property_t<int, int>&&)',
    inlined from 'cugraph::edge_dst_property_t<cugraph::graph_view_t<int, int, false, true>, int>& cugraph::edge_dst_property_t<cugraph::graph_view_t<int, int, false, true>, int>::operator=(cugraph::edge_dst_property_t<cugraph::graph_view_t<int, int, false, true>, int>&&)' at /home/seunghwak/RAPIDS/development/cugraph/cpp/include/cugraph/edge_src_dst_property.hpp:467:7,
    inlined from 'void cugraph::detail::per_v_transform_reduce_e(const raft::handle_t&, const GraphViewType&, EdgeSrcValueInputWrapper, EdgeDstValueInputWrapper, EdgeValueInputWrapper, EdgeOp, T, ReduceOp, VertexValueOutputIterator) [with bool incoming = true; GraphViewType = cugraph::graph_view_t<int, int, false, true>; EdgeSrcValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeDstValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeValueInputWrapper = cugraph::edge_dummy_property_view_t; EdgeOp = __nv_dl_wrapper_t<__nv_dl_tag<rmm::device_uvector<int> (*)(const raft::handle_t&, const cugraph::graph_view_t<int, int, false, true>&), cugraph::_GLOBAL__N__fbd7e12b_16_graph_view_mg_cu_854a5764_83484::compute_minor_degrees<int, int, false, true>, 2> >; ReduceOp = cugraph::reduce_op::plus<int>; T = int; VertexValueOutputIterator = int*]' at /home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh:524:18:
/home/seunghwak/RAPIDS/development/cugraph/cpp/include/cugraph/edge_src_dst_property.hpp:285:7: warning: '*(const int**)((char*)&<unnamed> + offsetof(cugraph::edge_dst_property_t<cugraph::graph_view_t<int, int, false, true, void>, int>,cugraph::edge_dst_property_t<cugraph::graph_view_t<int, int, false, true, void>, int>::property_.cugraph::detail::edge_minor_property_t<int, int>::keys_.std::optional<raft::span<const int, true, 18446744073709551615> >::<unnamed>.std::_Optional_base<raft::span<const int, true, 18446744073709551615>, true, true>::<unnamed>))' may be used uninitialized [-Wmaybe-uninitialized]
  285 | class edge_minor_property_t {
      |       ^~~~~~~~~~~~~~~~~~~~~
/home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh: In function 'void cugraph::detail::per_v_transform_reduce_e(const raft::handle_t&, const GraphViewType&, EdgeSrcValueInputWrapper, EdgeDstValueInputWrapper, EdgeValueInputWrapper, EdgeOp, T, ReduceOp, VertexValueOutputIterator) [with bool incoming = true; GraphViewType = cugraph::graph_view_t<int, int, false, true>; EdgeSrcValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeDstValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeValueInputWrapper = cugraph::edge_dummy_property_view_t; EdgeOp = __nv_dl_wrapper_t<__nv_dl_tag<rmm::device_uvector<int> (*)(const raft::handle_t&, const cugraph::graph_view_t<int, int, false, true>&), cugraph::_GLOBAL__N__fbd7e12b_16_graph_view_mg_cu_854a5764_83484::compute_minor_degrees<int, int, false, true>, 2> >; ReduceOp = cugraph::reduce_op::plus<int>; T = int; VertexValueOutputIterator = int*]':
/home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh:524:20: note: '<anonymous>' declared here
  524 |       minor_tmp_buffer = edge_dst_property_t<GraphViewType, T>(handle, graph_view);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'cugraph::detail::edge_minor_property_t<int, int>& cugraph::detail::edge_minor_property_t<int, int>::operator=(cugraph::detail::edge_minor_property_t<int, int>&&)',
    inlined from 'cugraph::edge_dst_property_t<cugraph::graph_view_t<int, int, false, true>, int>& cugraph::edge_dst_property_t<cugraph::graph_view_t<int, int, false, true>, int>::operator=(cugraph::edge_dst_property_t<cugraph::graph_view_t<int, int, false, true>, int>&&)' at /home/seunghwak/RAPIDS/development/cugraph/cpp/include/cugraph/edge_src_dst_property.hpp:467:7,
    inlined from 'void cugraph::detail::per_v_transform_reduce_e(const raft::handle_t&, const GraphViewType&, EdgeSrcValueInputWrapper, EdgeDstValueInputWrapper, EdgeValueInputWrapper, EdgeOp, T, ReduceOp, VertexValueOutputIterator) [with bool incoming = true; GraphViewType = cugraph::graph_view_t<int, int, false, true>; EdgeSrcValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeDstValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeValueInputWrapper = cugraph::edge_dummy_property_view_t; EdgeOp = __nv_dl_wrapper_t<__nv_dl_tag<rmm::device_uvector<int> (*)(const raft::handle_t&, const cugraph::graph_view_t<int, int, false, true>&), cugraph::_GLOBAL__N__fbd7e12b_16_graph_view_mg_cu_854a5764_83484::compute_minor_degrees<int, int, false, true>, 2> >; ReduceOp = cugraph::reduce_op::plus<int>; T = int; VertexValueOutputIterator = int*]' at /home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh:524:18:
/home/seunghwak/RAPIDS/development/cugraph/cpp/include/cugraph/edge_src_dst_property.hpp:285:7: warning: '*(const int**)((char*)&<unnamed> + offsetof(cugraph::edge_dst_property_t<cugraph::graph_view_t<int, int, false, true, void>, int>,cugraph::edge_dst_property_t<cugraph::graph_view_t<int, int, false, true, void>, int>::property_.cugraph::detail::edge_minor_property_t<int, int>::key_chunk_start_offsets_.std::optional<raft::span<const int, true, 18446744073709551615> >::<unnamed>.std::_Optional_base<raft::span<const int, true, 18446744073709551615>, true, true>::<unnamed>))' may be used uninitialized [-Wmaybe-uninitialized]
  285 | class edge_minor_property_t {
      |       ^~~~~~~~~~~~~~~~~~~~~
/home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh: In function 'void cugraph::detail::per_v_transform_reduce_e(const raft::handle_t&, const GraphViewType&, EdgeSrcValueInputWrapper, EdgeDstValueInputWrapper, EdgeValueInputWrapper, EdgeOp, T, ReduceOp, VertexValueOutputIterator) [with bool incoming = true; GraphViewType = cugraph::graph_view_t<int, int, false, true>; EdgeSrcValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeDstValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeValueInputWrapper = cugraph::edge_dummy_property_view_t; EdgeOp = __nv_dl_wrapper_t<__nv_dl_tag<rmm::device_uvector<int> (*)(const raft::handle_t&, const cugraph::graph_view_t<int, int, false, true>&), cugraph::_GLOBAL__N__fbd7e12b_16_graph_view_mg_cu_854a5764_83484::compute_minor_degrees<int, int, false, true>, 2> >; ReduceOp = cugraph::reduce_op::plus<int>; T = int; VertexValueOutputIterator = int*]':
/home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh:524:20: note: '<anonymous>' declared here
  524 |       minor_tmp_buffer = edge_dst_property_t<GraphViewType, T>(handle, graph_view);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In member function 'cugraph::detail::edge_minor_property_t<int, int>& cugraph::detail::edge_minor_property_t<int, int>::operator=(cugraph::detail::edge_minor_property_t<int, int>&&)',
    inlined from 'cugraph::edge_dst_property_t<cugraph::graph_view_t<int, int, false, true>, int>& cugraph::edge_dst_property_t<cugraph::graph_view_t<int, int, false, true>, int>::operator=(cugraph::edge_dst_property_t<cugraph::graph_view_t<int, int, false, true>, int>&&)' at /home/seunghwak/RAPIDS/development/cugraph/cpp/include/cugraph/edge_src_dst_property.hpp:467:7,
    inlined from 'void cugraph::detail::per_v_transform_reduce_e(const raft::handle_t&, const GraphViewType&, EdgeSrcValueInputWrapper, EdgeDstValueInputWrapper, EdgeValueInputWrapper, EdgeOp, T, ReduceOp, VertexValueOutputIterator) [with bool incoming = true; GraphViewType = cugraph::graph_view_t<int, int, false, true>; EdgeSrcValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeDstValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeValueInputWrapper = cugraph::edge_dummy_property_view_t; EdgeOp = __nv_dl_wrapper_t<__nv_dl_tag<rmm::device_uvector<int> (*)(const raft::handle_t&, const cugraph::graph_view_t<int, int, false, true>&), cugraph::_GLOBAL__N__fbd7e12b_16_graph_view_mg_cu_854a5764_83484::compute_minor_degrees<int, int, false, true>, 2> >; ReduceOp = cugraph::reduce_op::plus<int>; T = int; VertexValueOutputIterator = int*]' at /home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh:524:18:
/home/seunghwak/RAPIDS/development/cugraph/cpp/include/cugraph/edge_src_dst_property.hpp:285:7: warning: '((std::size_t*)((char*)&<unnamed> + offsetof(cugraph::edge_dst_property_t<cugraph::graph_view_t<int, int, false, true, void>, int>,cugraph::edge_dst_property_t<cugraph::graph_view_t<int, int, false, true, void>, int>::property_.cugraph::detail::edge_minor_property_t<int, int>::key_chunk_start_offsets_.std::optional<raft::span<const int, true, 18446744073709551615> >::<unnamed>.std::_Optional_base<raft::span<const int, true, 18446744073709551615>, true, true>::_M_payload.std::_Optional_payload<raft::span<const int, true, 18446744073709551615>, true, true, true>::<unnamed>.std::_Optional_payload_base<raft::span<const int, true, 18446744073709551615> >::_M_payload)))[1]' may be used uninitialized [-Wmaybe-uninitialized]
  285 | class edge_minor_property_t {
      |       ^~~~~~~~~~~~~~~~~~~~~
/home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh: In function 'void cugraph::detail::per_v_transform_reduce_e(const raft::handle_t&, const GraphViewType&, EdgeSrcValueInputWrapper, EdgeDstValueInputWrapper, EdgeValueInputWrapper, EdgeOp, T, ReduceOp, VertexValueOutputIterator) [with bool incoming = true; GraphViewType = cugraph::graph_view_t<int, int, false, true>; EdgeSrcValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeDstValueInputWrapper = cugraph::detail::edge_endpoint_dummy_property_view_t; EdgeValueInputWrapper = cugraph::edge_dummy_property_view_t; EdgeOp = __nv_dl_wrapper_t<__nv_dl_tag<rmm::device_uvector<int> (*)(const raft::handle_t&, const cugraph::graph_view_t<int, int, false, true>&), cugraph::_GLOBAL__N__fbd7e12b_16_graph_view_mg_cu_854a5764_83484::compute_minor_degrees<int, int, false, true>, 2> >; ReduceOp = cugraph::reduce_op::plus<int>; T = int; VertexValueOutputIterator = int*]':
/home/seunghwak/RAPIDS/development/cugraph/cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh:524:20: note: '<anonymous>' declared here
  524 |       minor_tmp_buffer = edge_dst_property_t<GraphViewType, T>(handle, graph_view);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```

Authors:
  - Seunghwa Kang (https://github.com/seunghwak)
  - Chuck Hastings (https://github.com/ChuckHastings)

Approvers:
  - Chuck Hastings (https://github.com/ChuckHastings)
  - Naim (https://github.com/naimnv)

URL: #3913
  • Loading branch information
seunghwak authored Oct 14, 2023
1 parent ba648ff commit 89e884a
Showing 1 changed file with 12 additions and 16 deletions.
28 changes: 12 additions & 16 deletions cpp/src/prims/per_v_transform_reduce_incoming_outgoing_e.cuh
Original file line number Diff line number Diff line change
Expand Up @@ -513,24 +513,20 @@ void per_v_transform_reduce_e(raft::handle_t const& handle,

static_assert(is_arithmetic_or_thrust_tuple_of_arithmetic<T>::value);

[[maybe_unused]] std::conditional_t<GraphViewType::is_storage_transposed,
edge_src_property_t<GraphViewType, T>,
edge_dst_property_t<GraphViewType, T>>
minor_tmp_buffer(handle); // relevant only when (GraphViewType::is_multi_gpu && !update_major
using minor_tmp_buffer_type = std::conditional_t<GraphViewType::is_storage_transposed,
edge_src_property_t<GraphViewType, T>,
edge_dst_property_t<GraphViewType, T>>;
[[maybe_unused]] std::unique_ptr<minor_tmp_buffer_type> minor_tmp_buffer{};
if constexpr (GraphViewType::is_multi_gpu && !update_major) {
if constexpr (GraphViewType::is_storage_transposed) {
minor_tmp_buffer = edge_src_property_t<GraphViewType, T>(handle, graph_view);
} else {
minor_tmp_buffer = edge_dst_property_t<GraphViewType, T>(handle, graph_view);
}
minor_tmp_buffer = std::make_unique<minor_tmp_buffer_type>(handle, graph_view);
}

using edge_partition_minor_output_device_view_t =
std::conditional_t<update_major,
void /* dummy */,
std::conditional_t<GraphViewType::is_multi_gpu && !update_major,
detail::edge_partition_endpoint_property_device_view_t<
vertex_t,
decltype(minor_tmp_buffer.mutable_view().value_first())>>;
decltype(minor_tmp_buffer->mutable_view().value_first())>,
void /* dummy */>;

if constexpr (update_major) {
size_t partition_idx = 0;
Expand All @@ -549,7 +545,7 @@ void per_v_transform_reduce_e(raft::handle_t const& handle,
} else {
if constexpr (GraphViewType::is_multi_gpu) {
auto minor_init = init;
auto view = minor_tmp_buffer.view();
auto view = minor_tmp_buffer->view();
if (view.keys()) { // defer applying the initial value to the end as minor_tmp_buffer may not
// store values for the entire minor range
minor_init = ReduceOp::identity_element;
Expand All @@ -558,7 +554,7 @@ void per_v_transform_reduce_e(raft::handle_t const& handle,
auto const major_comm_rank = major_comm.get_rank();
minor_init = (major_comm_rank == 0) ? init : ReduceOp::identity_element;
}
fill_edge_minor_property(handle, graph_view, minor_init, minor_tmp_buffer.mutable_view());
fill_edge_minor_property(handle, graph_view, minor_init, minor_tmp_buffer->mutable_view());
} else {
thrust::fill(handle.get_thrust_policy(),
vertex_value_output_first,
Expand Down Expand Up @@ -699,7 +695,7 @@ void per_v_transform_reduce_e(raft::handle_t const& handle,
if constexpr (update_major) {
output_buffer = major_buffer_first;
} else {
output_buffer = edge_partition_minor_output_device_view_t(minor_tmp_buffer.mutable_view());
output_buffer = edge_partition_minor_output_device_view_t(minor_tmp_buffer->mutable_view());
}
} else {
output_buffer = vertex_value_output_first;
Expand Down Expand Up @@ -913,7 +909,7 @@ void per_v_transform_reduce_e(raft::handle_t const& handle,
auto const minor_comm_rank = minor_comm.get_rank();
auto const minor_comm_size = minor_comm.get_size();

auto view = minor_tmp_buffer.view();
auto view = minor_tmp_buffer->view();
if (view.keys()) { // applying the initial value is deferred to here
vertex_t max_vertex_partition_size{0};
for (int i = 0; i < major_comm_size; ++i) {
Expand Down

0 comments on commit 89e884a

Please sign in to comment.