Skip to content

Commit

Permalink
added doxygen instrumentation to various cpp include files to use in …
Browse files Browse the repository at this point in the history
…doxygen (#4864)

Adding doxygen groups in cpp to show api

Authors:
  - Don Acosta (https://github.com/acostadon)

Approvers:
  - Brad Rees (https://github.com/BradReesWork)
  - Chuck Hastings (https://github.com/ChuckHastings)
  - Seunghwa Kang (https://github.com/seunghwak)

URL: #4864
  • Loading branch information
acostadon authored Jan 15, 2025
1 parent 6b5db94 commit 303a053
Show file tree
Hide file tree
Showing 8 changed files with 121 additions and 19 deletions.
7 changes: 2 additions & 5 deletions cpp/include/cugraph/algorithms.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,6 @@
/** @defgroup traversal_cpp C++ traversal algorithms
*/

/** @defgroup labeling_cpp C++ labeling algorithms
*/

/** @defgroup linear_cpp C++ linear assignment algorithms
*/

Expand All @@ -63,7 +60,7 @@
/** @defgroup layout_cpp C++ layout algorithms
*/

/** @defgroup component_cpp C++ component algorithms
/** @defgroup components_cpp C++ component algorithms
*/

/** @defgroup tree_cpp C++ tree algorithms
Expand Down Expand Up @@ -127,7 +124,7 @@ void jaccard_list(legacy::GraphCSRView<VT, ET, WT> const& graph,
WT* result);

/**
.* @ingroup similarity_cpp
* @ingroup similarity_cpp
* @brief Compute overlap coefficient for all vertices in the graph
*
* Computes the Overlap Coefficient for every pair of vertices in the graph which are
Expand Down
12 changes: 11 additions & 1 deletion cpp/include/cugraph/detail/collect_comm_wrapper.hpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2023-2024, NVIDIA CORPORATION.
* Copyright (c) 2023-2025, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand All @@ -25,6 +25,13 @@
namespace cugraph {
namespace detail {

/** @defgroup collect_comm_wrapper_cpp C++ Shuffle Wrappers
*/

/** @ingroup collect_comm_wrapper_cpp
* @{
*/

/**
* @brief Gather the span of data from all ranks and broadcast the combined data to all ranks.
*
Expand All @@ -42,3 +49,6 @@ rmm::device_uvector<T> device_allgatherv(raft::handle_t const& handle,

} // namespace detail
} // namespace cugraph
/**
* @}
*/
13 changes: 12 additions & 1 deletion cpp/include/cugraph/detail/shuffle_wrappers.hpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2021-2024, NVIDIA CORPORATION.
* Copyright (c) 2021-2025, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand All @@ -25,6 +25,13 @@
namespace cugraph {
namespace detail {

/** @defgroup shuffle_wrappers_cpp C++ Shuffle Wrappers
*/

/** @ingroup shuffle_wrappers_cpp
* @{
*/

/**
* @brief Shuffle external (i.e. before renumbering) vertex pairs (which can be edge end points) to
* their local GPUs based on edge partitioning.
Expand Down Expand Up @@ -276,3 +283,7 @@ rmm::device_uvector<value_t> collect_local_vertex_values_from_ext_vertex_value_p

} // namespace detail
} // namespace cugraph

/**
* @}
*/
35 changes: 34 additions & 1 deletion cpp/include/cugraph/graph_functions.hpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2020-2024, NVIDIA CORPORATION.
* Copyright (c) 2020-2025, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -30,6 +30,9 @@
#include <tuple>
#include <vector>

/** @defgroup graph_functions_cpp C++ Graph Funtions
*/

namespace cugraph {

template <typename vertex_t, typename edge_t, bool multi_gpu, typename Enable = void>
Expand All @@ -51,6 +54,7 @@ struct renumber_meta_t<vertex_t, edge_t, multi_gpu, std::enable_if_t<!multi_gpu>
};

/**
* @ingroup graph_functions_cpp
* @brief renumber edgelist (multi-GPU)
*
* This function assumes that vertices are pre-shuffled to their target processes and edges are
Expand Down Expand Up @@ -113,6 +117,7 @@ renumber_edgelist(
bool do_expensive_check = false);

/**
* @ingroup graph_functions_cpp
* @brief renumber edgelist (single-GPU)
*
* @tparam vertex_t Type of vertex identifiers. Needs to be an integral type.
Expand Down Expand Up @@ -151,6 +156,7 @@ renumber_edgelist(raft::handle_t const& handle,
bool do_expensive_check = false);

/**
* @ingroup graph_functions_cpp
* @brief Renumber external vertices to internal vertices based on the provided @p
* renumber_map_labels.
*
Expand Down Expand Up @@ -182,6 +188,7 @@ void renumber_ext_vertices(raft::handle_t const& handle,
bool do_expensive_check = false);

/**
* @ingroup graph_functions_cpp
* @brief Unrenumber local internal vertices to external vertices based on the providied @p
* renumber_map_labels.
*
Expand Down Expand Up @@ -213,6 +220,7 @@ void unrenumber_local_int_vertices(
bool do_expensive_check = false);

/**
* @ingroup graph_functions_cpp
* @brief Unrenumber (possibly non-local) internal vertices to external vertices based on the
* providied @p renumber_map_labels.
*
Expand Down Expand Up @@ -241,6 +249,7 @@ void unrenumber_int_vertices(raft::handle_t const& handle,
bool do_expensive_check = false);

/**
* @ingroup graph_functions_cpp
* @brief Unrenumber local edges' internal source & destination IDs to external IDs based on the
* provided @p renumber_map_labels (multi-GPU).
*
Expand Down Expand Up @@ -281,6 +290,7 @@ std::enable_if_t<multi_gpu, void> unrenumber_local_int_edges(
bool do_expensive_check = false);

/**
* @ingroup graph_functions_cpp
* @brief Unrenumber local edges' internal source & destination IDs to external IDs based on the
* provided @p renumber_map_labels (single-GPU).
*
Expand Down Expand Up @@ -311,6 +321,7 @@ std::enable_if_t<!multi_gpu, void> unrenumber_local_int_edges(raft::handle_t con
bool do_expensive_check = false);

/**
* @ingroup graph_functions_cpp
* @brief Renumber local external vertices to internal vertices based on the provided @p
* renumber_map_labels.
*
Expand Down Expand Up @@ -341,6 +352,7 @@ void renumber_local_ext_vertices(raft::handle_t const& handle,
vertex_t local_int_vertex_last,
bool do_expensive_check = false);
/**
* @ingroup graph_functions_cpp
* @brief Construct the edge list from the graph view object.
*
* @tparam vertex_t Type of vertex identifiers. Needs to be an integral type.
Expand Down Expand Up @@ -385,6 +397,7 @@ decompress_to_edgelist(
bool do_expensive_check = false);

/**
* @ingroup graph_functions_cpp
* @brief Symmetrize edgelist.
*
* @tparam vertex_t Type of vertex identifiers. Needs to be an integral type.
Expand Down Expand Up @@ -417,6 +430,7 @@ symmetrize_edgelist(raft::handle_t const& handle,
bool reciprocal);

/**
* @ingroup graph_functions_cpp
* @brief Symmetrize the input graph.
*
* @tparam vertex_t Type of vertex identifiers. Needs to be an integral type.
Expand Down Expand Up @@ -459,6 +473,7 @@ symmetrize_graph(
bool do_expensive_check = false);

/**
* @ingroup graph_functions_cpp
* @brief Transpose the input graph.
*
* @tparam vertex_t Type of vertex identifiers. Needs to be an integral type.
Expand Down Expand Up @@ -498,6 +513,7 @@ transpose_graph(
bool do_expensive_check = false);

/**
* @ingroup graph_functions_cpp
* @brief Transpose the storage format (no change in an actual graph topology).
*
* In SG, convert between CSR and CSC. In multi-GPU, currently convert between CSR + DCSR hybrid
Expand Down Expand Up @@ -541,6 +557,7 @@ transpose_graph_storage(
bool do_expensive_check = false);

/**
* @ingroup graph_functions_cpp
* @brief Compute the coarsened graph.
*
* Aggregates the vertices with the same label to a new vertex in the output coarsened graph.
Expand Down Expand Up @@ -588,6 +605,7 @@ coarsen_graph(raft::handle_t const& handle,
bool do_expensive_check = false);

/**
* @ingroup graph_functions_cpp
* @brief Relabel old labels to new labels.
*
* @tparam vertex_t Type of vertex identifiers. Needs to be an integral type.
Expand Down Expand Up @@ -621,6 +639,7 @@ void relabel(raft::handle_t const& handle,
// FIXME: the first two elements of the returned tuple should be source & destination instead of
// major & minor. Major & minor shouldn't be used in the non-detail public API.
/**
* @ingroup graph_functions_cpp
* @brief extract induced subgraph(s).
*
* @tparam vertex_t Type of vertex identifiers. Needs to be an integral type.
Expand Down Expand Up @@ -670,6 +689,7 @@ extract_induced_subgraphs(
// implementation) to support different types (arithmetic types or thrust tuple of arithmetic types)
// of edge properties.
/**
* @ingroup graph_functions_cpp
* @brief create a graph from (the optional vertex list and) the given edge list (with optional edge
* IDs and types).
*
Expand Down Expand Up @@ -733,6 +753,7 @@ create_graph_from_edgelist(raft::handle_t const& handle,
bool do_expensive_check = false);

/**
* @ingroup graph_functions_cpp
* @brief create a graph from (the optional vertex list and) the given edge list (with optional edge
* IDs and types).
*
Expand Down Expand Up @@ -799,6 +820,7 @@ create_graph_from_edgelist(
bool do_expensive_check = false);

/**
* @ingroup graph_functions_cpp
* @brief Find all 2-hop neighbors in the graph
*
* Find pairs of vertices in the input graph such that each pair is connected by
Expand All @@ -825,6 +847,7 @@ std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>> get_two
std::optional<raft::device_span<vertex_t const>> start_vertices);

/**
* @ingroup graph_functions_cpp
* @brief Compute per-vertex incoming edge weight sums.
*
* @tparam vertex_t Type of vertex identifiers. Needs to be an integral type.
Expand Down Expand Up @@ -852,6 +875,7 @@ rmm::device_uvector<weight_t> compute_in_weight_sums(
edge_property_view_t<edge_t, weight_t const*> edge_weight_view);

/**
* @ingroup graph_functions_cpp
* @brief Compute per-vertex outgoing edge weight sums.
*
* @tparam vertex_t Type of vertex identifiers. Needs to be an integral type.
Expand Down Expand Up @@ -879,6 +903,7 @@ rmm::device_uvector<weight_t> compute_out_weight_sums(
edge_property_view_t<edge_t, weight_t const*> edge_weight_view);

/**
* @ingroup graph_functions_cpp
* @brief Compute maximum per-vertex incoming edge weight sums.
*
* @tparam vertex_t Type of vertex identifiers. Needs to be an integral type.
Expand Down Expand Up @@ -906,6 +931,7 @@ weight_t compute_max_in_weight_sum(
edge_property_view_t<edge_t, weight_t const*> edge_weight_view);

/**
* @ingroup graph_functions_cpp
* @brief Compute maximum per-vertex outgoing edge weight sums.
*
* @tparam vertex_t Type of vertex identifiers. Needs to be an integral type.
Expand Down Expand Up @@ -933,6 +959,7 @@ weight_t compute_max_out_weight_sum(
edge_property_view_t<edge_t, weight_t const*> edge_weight_view);

/**
* @ingroup graph_functions_cpp
* @brief Sum the weights of the entire set of edges.
*
* @tparam vertex_t Type of vertex identifiers. Needs to be an integral type.
Expand All @@ -959,6 +986,7 @@ weight_t compute_total_edge_weight(
edge_property_view_t<edge_t, weight_t const*> edge_weight_view);

/**
* @ingroup graph_functions_cpp
* @brief Select random vertices
*
* @tparam vertex_t Type of vertex identifiers. Needs to be an integral type.
Expand Down Expand Up @@ -991,6 +1019,7 @@ rmm::device_uvector<vertex_t> select_random_vertices(
bool do_expensive_check = false);

/**
* @ingroup graph_functions_cpp
* @brief Remove self loops from an edge list
*
* @tparam vertex_t Type of vertex identifiers. Needs to be an integral type.
Expand Down Expand Up @@ -1022,6 +1051,7 @@ remove_self_loops(raft::handle_t const& handle,
std::optional<rmm::device_uvector<edge_type_t>>&& edgelist_edge_types);

/**
* @ingroup graph_functions_cpp
* @brief Remove all but one edge when a multi-edge exists.
*
* When a multi-edge exists, one of the edges will remain. If @p keep_min_value_edge is false, an
Expand Down Expand Up @@ -1069,6 +1099,7 @@ remove_multi_edges(raft::handle_t const& handle,
bool keep_min_value_edge = false);

/**
* @ingroup graph_functions_cpp
* @brief Shuffle external vertex ids to the proper GPU.
*
* @tparam vertex_t Type of vertex identifiers. Needs to be an integral type.
Expand All @@ -1083,6 +1114,7 @@ rmm::device_uvector<vertex_t> shuffle_external_vertices(raft::handle_t const& ha
rmm::device_uvector<vertex_t>&& vertices);

/**
* @ingroup graph_functions_cpp
* @brief Shuffle external vertex ids and values to the proper GPU.
*
* @tparam vertex_t Type of vertex identifiers. Needs to be an integral type.
Expand All @@ -1102,6 +1134,7 @@ shuffle_external_vertex_value_pairs(raft::handle_t const& handle,
rmm::device_uvector<value_t>&& values);

/**
* @ingroup graph_functions_cpp
* @brief Shuffle external edges to the proper GPU.
*
* @tparam vertex_t Type of vertex identifiers. Needs to be an integral type.
Expand Down
13 changes: 12 additions & 1 deletion cpp/include/cugraph/graph_generators.hpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2021-2023, NVIDIA CORPORATION.
* Copyright (c) 2021-2025, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand All @@ -24,6 +24,13 @@
#include <optional>
#include <tuple>

/** @defgroup graph_generators_cpp C++ Graph Generators
*/

/** @ingroup graph_generators_cpp
* @{
*/

namespace cugraph {

/**
Expand Down Expand Up @@ -536,3 +543,7 @@ combine_edgelists(raft::handle_t const& handle,
bool remove_multi_edges = true);

} // namespace cugraph

/**
* @}
*/
13 changes: 12 additions & 1 deletion cpp/include/cugraph/legacy/functions.hpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2020-2024, NVIDIA CORPORATION.
* Copyright (c) 2020-2025, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand All @@ -24,6 +24,13 @@

namespace cugraph {

/** @defgroup legacy_functions_cpp C++ Shuffle Wrappers
*/

/** @ingroup shuffle_wrappers_cpp
* @{
*/

/**
* @brief Convert COO to CSR
*
Expand Down Expand Up @@ -68,3 +75,7 @@ void comms_bcast(const raft::handle_t& handle, value_t* value, size_t count)
}

} // namespace cugraph

/**
* @}
*/
Loading

0 comments on commit 303a053

Please sign in to comment.