From 270399d474c4a0f336b8dcbaf2404eed6267539e Mon Sep 17 00:00:00 2001 From: jnke2016 Date: Fri, 23 Aug 2024 18:17:01 -0700 Subject: [PATCH 01/10] call non detail nbr_intersection primitive in edge triangle count --- .../community/edge_triangle_count_impl.cuh | 15 +-- .../prims/per_v_pair_dst_nbr_intersection.cuh | 106 ++++++++++++++++++ 2 files changed, 112 insertions(+), 9 deletions(-) create mode 100644 cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh diff --git a/cpp/src/community/edge_triangle_count_impl.cuh b/cpp/src/community/edge_triangle_count_impl.cuh index 225687c4cf0..c3c6a85d5af 100644 --- a/cpp/src/community/edge_triangle_count_impl.cuh +++ b/cpp/src/community/edge_triangle_count_impl.cuh @@ -19,7 +19,7 @@ #include "detail/graph_partition_utils.cuh" #include "prims/edge_bucket.cuh" #include "prims/transform_e.cuh" -#include "prims/transform_reduce_dst_nbr_intersection_of_e_endpoints_by_v.cuh" +#include "prims/per_v_pair_dst_nbr_intersection.cuh" #include #include @@ -158,14 +158,11 @@ edge_property_t, edge_t> edge_t num_remaining_edges -= chunk_size; // Perform 'nbr_intersection' in chunks to reduce peak memory. auto [intersection_offsets, intersection_indices] = - detail::nbr_intersection(handle, - graph_view, - cugraph::edge_dummy_property_t{}.view(), - edge_first + prev_chunk_size, - edge_first + prev_chunk_size + chunk_size, - std::array{true, true}, - false /*FIXME: pass 'do_expensive_check' as argument*/); - + per_v_pair_dst_nbr_intersection(handle, + graph_view, + edge_first + prev_chunk_size, + edge_first + prev_chunk_size + chunk_size, + false /*FIXME: pass 'do_expensive_check' as argument*/); // Update the number of triangles of each (p, q) edges by looking at their intersection // size thrust::for_each( diff --git a/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh b/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh new file mode 100644 index 00000000000..646db6c6788 --- /dev/null +++ b/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh @@ -0,0 +1,106 @@ +/* + * Copyright (c) 2022-2024, NVIDIA CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#pragma once + +#include "detail/graph_partition_utils.cuh" +#include "prims/detail/nbr_intersection.cuh" +#include "prims/property_op_utils.cuh" +#include "utilities/collect_comm.cuh" +#include "utilities/error_check_utils.cuh" + +#include +#include +#include +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +namespace cugraph { + +namespace detail { + + +} // namespace detail + +/** + * @brief Iterate over each input vertex pair and return the common destination neighbor list + * pair in a CSR-like format + * + * Iterate over every vertex pair; intersect destination neighbor lists of the two vertices in the + * pair and store the result in a CSR-like format + * + * @tparam GraphViewType Type of the passed non-owning graph object. + * @tparam VertexPairIterator Type of the iterator for input vertex pairs. + * @param handle RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and + * handles to various CUDA libraries) to run graph algorithms. + * @param graph_view Non-owning graph object. + * @param vertex_pair_first Iterator pointing to the first (inclusive) input vertex pair. + * @param vertex_pair_last Iterator pointing to the last (exclusive) input vertex pair. + * @param A flag to run expensive checks for input arguments (if set to `true`). + */ +template +std::tuple, rmm::device_uvector> per_v_pair_dst_nbr_intersection( + raft::handle_t const& handle, + GraphViewType const& graph_view, + VertexPairIterator vertex_pair_first, + VertexPairIterator vertex_pair_last, + bool do_expensive_check = false) +{ + static_assert(!GraphViewType::is_storage_transposed); + + if (do_expensive_check) { + auto num_invalids = + detail::count_invalid_vertex_pairs(handle, graph_view, vertex_pair_first, vertex_pair_last); + CUGRAPH_EXPECTS(num_invalids == 0, + "Invalid input arguments: there are invalid input vertex pairs."); + } + + auto [intersection_offsets, intersection_indices] = + detail::nbr_intersection(handle, + graph_view, + cugraph::edge_dummy_property_t{}.view(), + vertex_pair_first, + vertex_pair_last, + std::array{true, true}, + false /*FIXME: pass 'do_expensive_check' as argument*/); + + return std::make_tuple(std::move(intersection_offsets), std::move(intersection_indices)); +} + +} // namespace cugraph From e3fc734f899fe3afe3d13ad9623ae103d6985590 Mon Sep 17 00:00:00 2001 From: jnke2016 Date: Fri, 23 Aug 2024 18:26:57 -0700 Subject: [PATCH 02/10] fix style --- .../community/edge_triangle_count_impl.cuh | 2 +- .../prims/per_v_pair_dst_nbr_intersection.cuh | 31 +++++++++---------- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/cpp/src/community/edge_triangle_count_impl.cuh b/cpp/src/community/edge_triangle_count_impl.cuh index c3c6a85d5af..acfc2229a50 100644 --- a/cpp/src/community/edge_triangle_count_impl.cuh +++ b/cpp/src/community/edge_triangle_count_impl.cuh @@ -18,8 +18,8 @@ #include "detail/graph_partition_utils.cuh" #include "prims/edge_bucket.cuh" -#include "prims/transform_e.cuh" #include "prims/per_v_pair_dst_nbr_intersection.cuh" +#include "prims/transform_e.cuh" #include #include diff --git a/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh b/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh index 646db6c6788..a683fae6dcc 100644 --- a/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh +++ b/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh @@ -55,11 +55,10 @@ namespace cugraph { namespace detail { - } // namespace detail /** - * @brief Iterate over each input vertex pair and return the common destination neighbor list + * @brief Iterate over each input vertex pair and returns the common destination neighbor list * pair in a CSR-like format * * Iterate over every vertex pair; intersect destination neighbor lists of the two vertices in the @@ -75,12 +74,12 @@ namespace detail { * @param A flag to run expensive checks for input arguments (if set to `true`). */ template -std::tuple, rmm::device_uvector> per_v_pair_dst_nbr_intersection( - raft::handle_t const& handle, - GraphViewType const& graph_view, - VertexPairIterator vertex_pair_first, - VertexPairIterator vertex_pair_last, - bool do_expensive_check = false) +std::tuple, rmm::device_uvector> +per_v_pair_dst_nbr_intersection(raft::handle_t const& handle, + GraphViewType const& graph_view, + VertexPairIterator vertex_pair_first, + VertexPairIterator vertex_pair_last, + bool do_expensive_check = false) { static_assert(!GraphViewType::is_storage_transposed); @@ -92,15 +91,15 @@ std::tuple, rmm::device_uvector{true, true}, - false /*FIXME: pass 'do_expensive_check' as argument*/); + detail::nbr_intersection(handle, + graph_view, + cugraph::edge_dummy_property_t{}.view(), + vertex_pair_first, + vertex_pair_last, + std::array{true, true}, + false /*FIXME: pass 'do_expensive_check' as argument*/); - return std::make_tuple(std::move(intersection_offsets), std::move(intersection_indices)); + return std::make_tuple(std::move(intersection_offsets), std::move(intersection_indices)); } } // namespace cugraph From 629fb7dc740f3a7e00146f2cb60d89ed119f279b Mon Sep 17 00:00:00 2001 From: jnke2016 Date: Tue, 27 Aug 2024 21:37:48 -0700 Subject: [PATCH 03/10] remove unused detail namespace --- cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh b/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh index a683fae6dcc..2f5868561e9 100644 --- a/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh +++ b/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh @@ -53,10 +53,6 @@ namespace cugraph { -namespace detail { - -} // namespace detail - /** * @brief Iterate over each input vertex pair and returns the common destination neighbor list * pair in a CSR-like format From 0d3d029966043f44e24963e4a18e81ba3009ba71 Mon Sep 17 00:00:00 2001 From: jnke2016 Date: Thu, 29 Aug 2024 10:15:02 -0700 Subject: [PATCH 04/10] remove unused import --- .../prims/per_v_pair_dst_nbr_intersection.cuh | 50 ++----------------- 1 file changed, 3 insertions(+), 47 deletions(-) diff --git a/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh b/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh index 2f5868561e9..a9864275604 100644 --- a/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh +++ b/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022-2024, NVIDIA CORPORATION. + * Copyright (c) 2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,41 +15,7 @@ */ #pragma once -#include "detail/graph_partition_utils.cuh" #include "prims/detail/nbr_intersection.cuh" -#include "prims/property_op_utils.cuh" -#include "utilities/collect_comm.cuh" -#include "utilities/error_check_utils.cuh" - -#include -#include -#include -#include -#include -#include - -#include - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include namespace cugraph { @@ -79,23 +45,13 @@ per_v_pair_dst_nbr_intersection(raft::handle_t const& handle, { static_assert(!GraphViewType::is_storage_transposed); - if (do_expensive_check) { - auto num_invalids = - detail::count_invalid_vertex_pairs(handle, graph_view, vertex_pair_first, vertex_pair_last); - CUGRAPH_EXPECTS(num_invalids == 0, - "Invalid input arguments: there are invalid input vertex pairs."); - } - - auto [intersection_offsets, intersection_indices] = - detail::nbr_intersection(handle, + return detail::nbr_intersection(handle, graph_view, cugraph::edge_dummy_property_t{}.view(), vertex_pair_first, vertex_pair_last, std::array{true, true}, - false /*FIXME: pass 'do_expensive_check' as argument*/); - - return std::make_tuple(std::move(intersection_offsets), std::move(intersection_indices)); + do_expensive_check /*FIXME: pass 'do_expensive_check' as argument*/); } } // namespace cugraph From 5294974870ec33f4d6f22ca3831c4b79f2a55259 Mon Sep 17 00:00:00 2001 From: jnke2016 Date: Thu, 29 Aug 2024 10:15:44 -0700 Subject: [PATCH 05/10] fix style --- cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh b/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh index a9864275604..3a18ed3fd0c 100644 --- a/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh +++ b/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh @@ -45,13 +45,14 @@ per_v_pair_dst_nbr_intersection(raft::handle_t const& handle, { static_assert(!GraphViewType::is_storage_transposed); - return detail::nbr_intersection(handle, - graph_view, - cugraph::edge_dummy_property_t{}.view(), - vertex_pair_first, - vertex_pair_last, - std::array{true, true}, - do_expensive_check /*FIXME: pass 'do_expensive_check' as argument*/); + return detail::nbr_intersection( + handle, + graph_view, + cugraph::edge_dummy_property_t{}.view(), + vertex_pair_first, + vertex_pair_last, + std::array{true, true}, + do_expensive_check /*FIXME: pass 'do_expensive_check' as argument*/); } } // namespace cugraph From c5ee00c1067c2f89ff1435e12a881443c56d6b5a Mon Sep 17 00:00:00 2001 From: jnke2016 Date: Fri, 6 Sep 2024 10:47:31 -0700 Subject: [PATCH 06/10] resolve fixme --- cpp/include/cugraph/algorithms.hpp | 5 ++++- cpp/src/community/edge_triangle_count_impl.cuh | 11 +++++++---- cpp/src/community/edge_triangle_count_mg_v32_e32.cu | 3 ++- cpp/src/community/edge_triangle_count_mg_v32_e64.cu | 3 ++- cpp/src/community/edge_triangle_count_mg_v64_e64.cu | 3 ++- cpp/src/community/edge_triangle_count_sg_v32_e32.cu | 3 ++- cpp/src/community/edge_triangle_count_sg_v32_e64.cu | 3 ++- cpp/src/community/edge_triangle_count_sg_v64_e64.cu | 3 ++- cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh | 2 +- 9 files changed, 24 insertions(+), 12 deletions(-) diff --git a/cpp/include/cugraph/algorithms.hpp b/cpp/include/cugraph/algorithms.hpp index faeb7ad8f83..bc514cfe9ad 100644 --- a/cpp/include/cugraph/algorithms.hpp +++ b/cpp/include/cugraph/algorithms.hpp @@ -1873,12 +1873,15 @@ void triangle_count(raft::handle_t const& handle, * @param handle RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and * handles to various CUDA libraries) to run graph algorithms. * @param graph_view Graph view object. + * * @param do_expensive_check A flag to run expensive checks for input arguments (if set to `true`). * * @return edge_property_t containing the edge triangle count */ template edge_property_t, edge_t> edge_triangle_count( - raft::handle_t const& handle, graph_view_t const& graph_view); + raft::handle_t const& handle, + graph_view_t const& graph_view, + bool do_expensive_check = false); /* * @brief Compute K-Truss. diff --git a/cpp/src/community/edge_triangle_count_impl.cuh b/cpp/src/community/edge_triangle_count_impl.cuh index acfc2229a50..e3501065008 100644 --- a/cpp/src/community/edge_triangle_count_impl.cuh +++ b/cpp/src/community/edge_triangle_count_impl.cuh @@ -124,7 +124,8 @@ struct extract_q_r { template edge_property_t, edge_t> edge_triangle_count_impl( raft::handle_t const& handle, - graph_view_t const& graph_view) + graph_view_t const& graph_view, + bool do_expensive_check) { using weight_t = float; rmm::device_uvector edgelist_srcs(0, handle.get_stream()); @@ -162,7 +163,7 @@ edge_property_t, edge_t> edge_t graph_view, edge_first + prev_chunk_size, edge_first + prev_chunk_size + chunk_size, - false /*FIXME: pass 'do_expensive_check' as argument*/); + do_expensive_check); // Update the number of triangles of each (p, q) edges by looking at their intersection // size thrust::for_each( @@ -362,9 +363,11 @@ edge_property_t, edge_t> edge_t template edge_property_t, edge_t> edge_triangle_count( - raft::handle_t const& handle, graph_view_t const& graph_view) + raft::handle_t const& handle, + graph_view_t const& graph_view, + bool do_expensive_check) { - return detail::edge_triangle_count_impl(handle, graph_view); + return detail::edge_triangle_count_impl(handle, graph_view, do_expensive_check); } } // namespace cugraph diff --git a/cpp/src/community/edge_triangle_count_mg_v32_e32.cu b/cpp/src/community/edge_triangle_count_mg_v32_e32.cu index 1212a13323b..5e333139ddf 100644 --- a/cpp/src/community/edge_triangle_count_mg_v32_e32.cu +++ b/cpp/src/community/edge_triangle_count_mg_v32_e32.cu @@ -20,6 +20,7 @@ namespace cugraph { // SG instantiation template edge_property_t, int32_t> edge_triangle_count( raft::handle_t const& handle, - cugraph::graph_view_t const& graph_view); + cugraph::graph_view_t const& graph_view, + bool do_expensive_check); } // namespace cugraph diff --git a/cpp/src/community/edge_triangle_count_mg_v32_e64.cu b/cpp/src/community/edge_triangle_count_mg_v32_e64.cu index 64ee195c7ee..adab2d1fede 100644 --- a/cpp/src/community/edge_triangle_count_mg_v32_e64.cu +++ b/cpp/src/community/edge_triangle_count_mg_v32_e64.cu @@ -20,6 +20,7 @@ namespace cugraph { // SG instantiation template edge_property_t, int64_t> edge_triangle_count( raft::handle_t const& handle, - cugraph::graph_view_t const& graph_view); + cugraph::graph_view_t const& graph_view, + bool do_expensive_check); } // namespace cugraph diff --git a/cpp/src/community/edge_triangle_count_mg_v64_e64.cu b/cpp/src/community/edge_triangle_count_mg_v64_e64.cu index 67c19e5ac52..1f321b2149f 100644 --- a/cpp/src/community/edge_triangle_count_mg_v64_e64.cu +++ b/cpp/src/community/edge_triangle_count_mg_v64_e64.cu @@ -20,6 +20,7 @@ namespace cugraph { // SG instantiation template edge_property_t, int64_t> edge_triangle_count( raft::handle_t const& handle, - cugraph::graph_view_t const& graph_view); + cugraph::graph_view_t const& graph_view, + bool do_expensive_check); } // namespace cugraph diff --git a/cpp/src/community/edge_triangle_count_sg_v32_e32.cu b/cpp/src/community/edge_triangle_count_sg_v32_e32.cu index d6a215aa456..3e16a2cf7ef 100644 --- a/cpp/src/community/edge_triangle_count_sg_v32_e32.cu +++ b/cpp/src/community/edge_triangle_count_sg_v32_e32.cu @@ -20,6 +20,7 @@ namespace cugraph { // SG instantiation template edge_property_t, int32_t> edge_triangle_count( raft::handle_t const& handle, - cugraph::graph_view_t const& graph_view); + cugraph::graph_view_t const& graph_view, + bool do_expensive_check); } // namespace cugraph diff --git a/cpp/src/community/edge_triangle_count_sg_v32_e64.cu b/cpp/src/community/edge_triangle_count_sg_v32_e64.cu index e70fa45c257..24a8de868e0 100644 --- a/cpp/src/community/edge_triangle_count_sg_v32_e64.cu +++ b/cpp/src/community/edge_triangle_count_sg_v32_e64.cu @@ -20,6 +20,7 @@ namespace cugraph { // SG instantiation template edge_property_t, int64_t> edge_triangle_count( raft::handle_t const& handle, - cugraph::graph_view_t const& graph_view); + cugraph::graph_view_t const& graph_view, + bool do_expensive_check); } // namespace cugraph diff --git a/cpp/src/community/edge_triangle_count_sg_v64_e64.cu b/cpp/src/community/edge_triangle_count_sg_v64_e64.cu index 849603f781b..81f814df713 100644 --- a/cpp/src/community/edge_triangle_count_sg_v64_e64.cu +++ b/cpp/src/community/edge_triangle_count_sg_v64_e64.cu @@ -20,6 +20,7 @@ namespace cugraph { // SG instantiation template edge_property_t, int64_t> edge_triangle_count( raft::handle_t const& handle, - cugraph::graph_view_t const& graph_view); + cugraph::graph_view_t const& graph_view, + bool do_expensive_check); } // namespace cugraph diff --git a/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh b/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh index 3a18ed3fd0c..4648ef67ec1 100644 --- a/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh +++ b/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh @@ -52,7 +52,7 @@ per_v_pair_dst_nbr_intersection(raft::handle_t const& handle, vertex_pair_first, vertex_pair_last, std::array{true, true}, - do_expensive_check /*FIXME: pass 'do_expensive_check' as argument*/); + do_expensive_check); } } // namespace cugraph From 0d600aff7bf16c2e4740e2a18a6b2d72eddd95c8 Mon Sep 17 00:00:00 2001 From: jnke2016 Date: Fri, 6 Sep 2024 11:08:07 -0700 Subject: [PATCH 07/10] udpate include --- cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh b/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh index 4648ef67ec1..f81d5269ed4 100644 --- a/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh +++ b/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh @@ -17,6 +17,10 @@ #include "prims/detail/nbr_intersection.cuh" +#include +#include +#include + namespace cugraph { /** From 2f4c820b0192bb220640abbdcd21e07394b87d60 Mon Sep 17 00:00:00 2001 From: jnke2016 Date: Fri, 6 Sep 2024 11:15:27 -0700 Subject: [PATCH 08/10] fix style --- cpp/include/cugraph/algorithms.hpp | 3 ++- .../prims/per_v_pair_dst_nbr_intersection.cuh | 17 +++++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/cpp/include/cugraph/algorithms.hpp b/cpp/include/cugraph/algorithms.hpp index bc514cfe9ad..ed42460ed8e 100644 --- a/cpp/include/cugraph/algorithms.hpp +++ b/cpp/include/cugraph/algorithms.hpp @@ -1873,7 +1873,8 @@ void triangle_count(raft::handle_t const& handle, * @param handle RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and * handles to various CUDA libraries) to run graph algorithms. * @param graph_view Graph view object. - * * @param do_expensive_check A flag to run expensive checks for input arguments (if set to `true`). + * * @param do_expensive_check A flag to run expensive checks for input arguments (if set to + * `true`). * * @return edge_property_t containing the edge triangle count */ diff --git a/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh b/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh index f81d5269ed4..6656b6661a4 100644 --- a/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh +++ b/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh @@ -18,7 +18,9 @@ #include "prims/detail/nbr_intersection.cuh" #include + #include + #include namespace cugraph { @@ -49,14 +51,13 @@ per_v_pair_dst_nbr_intersection(raft::handle_t const& handle, { static_assert(!GraphViewType::is_storage_transposed); - return detail::nbr_intersection( - handle, - graph_view, - cugraph::edge_dummy_property_t{}.view(), - vertex_pair_first, - vertex_pair_last, - std::array{true, true}, - do_expensive_check); + return detail::nbr_intersection(handle, + graph_view, + cugraph::edge_dummy_property_t{}.view(), + vertex_pair_first, + vertex_pair_last, + std::array{true, true}, + do_expensive_check); } } // namespace cugraph From 2e5b0ff008a225dfc6a4ba9f795d75199d32c08b Mon Sep 17 00:00:00 2001 From: jnke2016 Date: Fri, 6 Sep 2024 11:32:58 -0700 Subject: [PATCH 09/10] update docstrings --- cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh | 1 + 1 file changed, 1 insertion(+) diff --git a/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh b/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh index 6656b6661a4..690aa0d5427 100644 --- a/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh +++ b/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh @@ -40,6 +40,7 @@ namespace cugraph { * @param vertex_pair_first Iterator pointing to the first (inclusive) input vertex pair. * @param vertex_pair_last Iterator pointing to the last (exclusive) input vertex pair. * @param A flag to run expensive checks for input arguments (if set to `true`). + * @return std::tuple Tuple of intersection offsets and indices. */ template std::tuple, rmm::device_uvector> From 75ed1d0fe3e0fe7ba830f284c9c0ae5a9c00c790 Mon Sep 17 00:00:00 2001 From: jnke2016 Date: Mon, 9 Sep 2024 17:18:38 -0700 Subject: [PATCH 10/10] update documentation --- cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh b/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh index 690aa0d5427..01c76e5085a 100644 --- a/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh +++ b/cpp/src/prims/per_v_pair_dst_nbr_intersection.cuh @@ -39,7 +39,7 @@ namespace cugraph { * @param graph_view Non-owning graph object. * @param vertex_pair_first Iterator pointing to the first (inclusive) input vertex pair. * @param vertex_pair_last Iterator pointing to the last (exclusive) input vertex pair. - * @param A flag to run expensive checks for input arguments (if set to `true`). + * @param do_expensive_check A flag to run expensive checks for input arguments (if set to `true`). * @return std::tuple Tuple of intersection offsets and indices. */ template