Skip to content

Commit

Permalink
Merge branch 'branch-25.02' into bug_debug_run
Browse files Browse the repository at this point in the history
  • Loading branch information
ChuckHastings authored Jan 22, 2025
2 parents 071a289 + 378c56a commit 5aa717c
Show file tree
Hide file tree
Showing 16 changed files with 93 additions and 45 deletions.
6 changes: 6 additions & 0 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,9 @@ jobs:
with:
build_type: pull-request
script: ci/test_wheel_pylibcugraph.sh
# CUDA 11 wheel CI is disabled until
# https://github.com/rapidsai/build-planning/issues/137 is resolved.
matrix_filter: map(select(.CUDA_VER | startswith("11") | not))
wheel-build-cugraph:
needs: wheel-build-pylibcugraph
secrets: inherit
Expand All @@ -189,6 +192,9 @@ jobs:
with:
build_type: pull-request
script: ci/test_wheel_cugraph.sh
# CUDA 11 wheel CI is disabled until
# https://github.com/rapidsai/build-planning/issues/137 is resolved.
matrix_filter: map(select(.CUDA_VER | startswith("11") | not))
devcontainer:
secrets: inherit
needs: telemetry-setup
Expand Down
6 changes: 6 additions & 0 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,9 @@ jobs:
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
script: ci/test_wheel_pylibcugraph.sh
# CUDA 11 wheel CI is disabled until
# https://github.com/rapidsai/build-planning/issues/137 is resolved.
matrix_filter: map(select(.CUDA_VER | startswith("11") | not))
wheel-tests-cugraph:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
Expand All @@ -58,3 +61,6 @@ jobs:
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
script: ci/test_wheel_cugraph.sh
# CUDA 11 wheel CI is disabled until
# https://github.com/rapidsai/build-planning/issues/137 is resolved.
matrix_filter: map(select(.CUDA_VER | startswith("11") | not))
12 changes: 6 additions & 6 deletions ci/build_wheel.sh
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,12 @@ EXCLUDE_ARGS=(
# 'libraft' wheels are responsible for carrying a runtime dependency on
# these based on RAFT's needs.
EXCLUDE_ARGS+=(
--exclude "libcublas.so.12"
--exclude "libcublasLt.so.12"
--exclude "libcurand.so.10"
--exclude "libcusolver.so.11"
--exclude "libcusparse.so.12"
--exclude "libnvJitLink.so.12"
--exclude "libcublas.so.*"
--exclude "libcublasLt.so.*"
--exclude "libcurand.so.*"
--exclude "libcusolver.so.*"
--exclude "libcusparse.so.*"
--exclude "libnvJitLink.so.*"
)

if [[ "${package_dir}" != "python/libcugraph" ]]; then
Expand Down
2 changes: 1 addition & 1 deletion conda/environments/all_cuda-118_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ dependencies:
- networkx>=2.5.1
- ninja
- notebook>=0.5.0
- numba>=0.57
- numba>=0.59.1,<0.61.0a0
- numpy>=1.23,<3.0a0
- numpydoc
- nvcc_linux-64=11.8
Expand Down
2 changes: 1 addition & 1 deletion conda/environments/all_cuda-125_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ dependencies:
- networkx>=2.5.1
- ninja
- notebook>=0.5.0
- numba>=0.57
- numba>=0.59.1,<0.61.0a0
- numpy>=1.23,<3.0a0
- numpydoc
- ogb
Expand Down
4 changes: 2 additions & 2 deletions conda/recipes/cugraph-service/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2018-2024, NVIDIA CORPORATION.
# Copyright (c) 2018-2025, NVIDIA CORPORATION.

{% set version = environ['RAPIDS_PACKAGE_VERSION'].lstrip('v') + environ.get('VERSION_SUFFIX', '') %}
{% set minor_version = version.split('.')[0] + '.' + version.split('.')[1] %}
Expand Down Expand Up @@ -62,7 +62,7 @@ outputs:
- cupy >=12.0.0
- dask-cuda ={{ minor_version }}
- dask-cudf ={{ minor_version }}
- numba >=0.57
- numba >=0.59.1,<0.61.0a0
- numpy >=1.23,<3.0a0
- python
- rapids-dask-dependency ={{ minor_version }}
Expand Down
5 changes: 1 addition & 4 deletions cpp/include/cugraph/detail/collect_comm_wrapper.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,8 @@ namespace detail {
/** @defgroup collect_comm_wrapper_cpp C++ Shuffle Wrappers
*/

/** @ingroup collect_comm_wrapper_cpp
* @{
*/

/**
* @ingroup collect_comm_wrapper_cpp
* @brief Gather the span of data from all ranks and broadcast the combined data to all ranks.
*
* @param[in] handle RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator,
Expand Down
17 changes: 9 additions & 8 deletions cpp/include/cugraph/detail/shuffle_wrappers.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,8 @@ namespace detail {
/** @defgroup shuffle_wrappers_cpp C++ Shuffle Wrappers
*/

/** @ingroup shuffle_wrappers_cpp
* @{
*/

/**
* @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 @@ -82,6 +79,7 @@ shuffle_ext_vertex_pairs_with_values_to_local_gpu_by_edge_partitioning(
std::optional<rmm::device_uvector<edge_time_t>>&& edge_end_times);

/**
* @ingroup shuffle_wrappers_cpp
* @brief Shuffle internal (i.e. renumbered) vertex pairs (which can be edge end points) to their
* local GPUs based on edge partitioning.
*
Expand Down Expand Up @@ -135,6 +133,7 @@ shuffle_int_vertex_pairs_with_values_to_local_gpu_by_edge_partitioning(
std::vector<vertex_t> const& vertex_partition_range_lasts);

/**
* @ingroup shuffle_wrappers_cpp
* @brief Shuffle external (i.e. before renumbering) vertices to their local GPU based on vertex
* partitioning.
*
Expand All @@ -151,6 +150,7 @@ rmm::device_uvector<vertex_t> shuffle_ext_vertices_to_local_gpu_by_vertex_partit
raft::handle_t const& handle, rmm::device_uvector<vertex_t>&& vertices);

/**
* @ingroup shuffle_wrappers_cpp
* @brief Shuffle external (i.e. before renumbering) vertex & value pairs to their local GPU based
* on vertex partitioning.
*
Expand All @@ -172,6 +172,7 @@ shuffle_ext_vertex_value_pairs_to_local_gpu_by_vertex_partitioning(
rmm::device_uvector<value_t>&& values);

/**
* @ingroup shuffle_wrappers_cpp
* @brief Permute a range.
*
* @tparam vertex_t Type of vertex identifiers. Needs to be an integral type.
Expand All @@ -194,6 +195,7 @@ rmm::device_uvector<vertex_t> permute_range(raft::handle_t const& handle,
bool do_expensive_check = false);

/**
* @ingroup shuffle_wrappers_cpp
* @brief Shuffle internal (i.e. renumbered) vertices to their local GPUs based on vertex
* partitioning.
*
Expand All @@ -214,6 +216,7 @@ rmm::device_uvector<vertex_t> shuffle_int_vertices_to_local_gpu_by_vertex_partit
std::vector<vertex_t> const& vertex_partition_range_lasts);

/**
* @ingroup shuffle_wrappers_cpp
* @brief Shuffle vertices using the internal vertex key function which returns the target GPU ID.
*
* @tparam vertex_t Type of vertex identifiers. Needs to be an integral type.
Expand All @@ -236,6 +239,7 @@ shuffle_int_vertex_value_pairs_to_local_gpu_by_vertex_partitioning(
std::vector<vertex_t> const& vertex_partition_range_lasts);

/**
* @ingroup shuffle_wrappers_cpp
* @brief Groupby and count edgelist using the key function which returns the target local partition
* ID for an edge.
*
Expand Down Expand Up @@ -282,6 +286,7 @@ rmm::device_uvector<size_t> groupby_and_count_edgelist_by_local_partition_id(
bool groupby_and_count_local_partition_by_minor = false);

/**
* @ingroup shuffle_wrappers_cpp
* @brief Collect vertex values (represented as k/v pairs across cluster) and return
* local value arrays on the GPU responsible for each vertex.
*
Expand Down Expand Up @@ -317,7 +322,3 @@ rmm::device_uvector<value_t> collect_local_vertex_values_from_ext_vertex_value_p

} // namespace detail
} // namespace cugraph

/**
* @}
*/
18 changes: 17 additions & 1 deletion cpp/include/cugraph/detail/utility_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 @@ -26,7 +26,11 @@
namespace cugraph {
namespace detail {

/** @defgroup utility_wrappers_cpp C++ Utility Wrappers
*/

/**
* @ingroup utility_wrappers_cpp
* @brief Fill a buffer with uniformly distributed random values
*
* Fills a buffer with uniformly distributed random values between
Expand All @@ -51,6 +55,7 @@ void uniform_random_fill(rmm::cuda_stream_view const& stream_view,
raft::random::RngState& rng_state);

/**
* @ingroup utility_wrappers_cpp
* @brief Fill a buffer with a constant value
*
* @tparam value_t type of the value to operate on
Expand All @@ -66,6 +71,7 @@ template <typename value_t>
void scalar_fill(raft::handle_t const& handle, value_t* d_value, size_t size, value_t value);

/**
* @ingroup utility_wrappers_cpp
* @brief Sort a device span
*
* @tparam value_t type of the value to operate on. Must be either int32_t or int64_t.
Expand All @@ -79,6 +85,7 @@ template <typename value_t>
void sort_ints(raft::handle_t const& handle, raft::device_span<value_t> values);

/**
* @ingroup utility_wrappers_cpp
* @brief Keep unique element from a device span
*
* @tparam value_t type of the value to operate on. Must be either int32_t or int64_t.
Expand All @@ -93,6 +100,7 @@ template <typename value_t>
size_t unique_ints(raft::handle_t const& handle, raft::device_span<value_t> values);

/**
* @ingroup utility_wrappers_cpp
* @brief Increment the values of a device span by a constant value
*
* @tparam value_t type of the value to operate on. Must be either int32_t or int64_t.
Expand All @@ -108,6 +116,7 @@ void transform_increment_ints(raft::device_span<value_t> values,
rmm::cuda_stream_view const& stream_view);

/**
* @ingroup utility_wrappers_cpp
* @brief Fill a buffer with a sequence of values
*
* Fills the buffer with the sequence:
Expand All @@ -130,6 +139,7 @@ void sequence_fill(rmm::cuda_stream_view const& stream_view,
value_t start_value);

/**
* @ingroup utility_wrappers_cpp
* @brief Fill a buffer with a sequence of values with the input stride
*
* Fills the buffer with the sequence with the input stride:
Expand All @@ -152,6 +162,7 @@ void stride_fill(rmm::cuda_stream_view const& stream_view,
value_t stride);

/**
* @ingroup utility_wrappers_cpp
* @brief Compute the maximum vertex id of an edge list
*
* max(d_edgelist_srcs.max(), d_edgelist_dsts.max())
Expand All @@ -172,6 +183,7 @@ vertex_t compute_maximum_vertex_id(rmm::cuda_stream_view const& stream_view,
size_t num_edges);

/**
* @ingroup utility_wrappers_cpp
* @brief Compute the maximum vertex id of an edge list
*
* max(d_edgelist_srcs.max(), d_edgelist_dsts.max())
Expand All @@ -194,6 +206,7 @@ vertex_t compute_maximum_vertex_id(rmm::cuda_stream_view const& stream_view,
}

/**
* @ingroup utility_wrappers_cpp
* @brief Filter zero degree vertices from this frontier
*
* @tparam vertex_t vertex type
Expand All @@ -211,6 +224,7 @@ std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<edge_t>> filter_de
rmm::device_uvector<edge_t>&& d_out_degs);

/**
* @ingroup utility_wrappers_cpp
* @brief Check if device span is sorted
*
* @tparam data_t type of data in span
Expand All @@ -223,6 +237,7 @@ template <typename data_t>
bool is_sorted(raft::handle_t const& handle, raft::device_span<data_t> span);

/**
* @ingroup utility_wrappers_cpp
* @brief Check if two device spans are equal. Returns true if every element in the spans are
* equal.
*
Expand All @@ -239,6 +254,7 @@ bool is_equal(raft::handle_t const& handle,
raft::device_span<data_t> span2);

/**
* @ingroup utility_wrappers_cpp
* @brief Count the number of times a value appears in a span
*
* @tparam data_t type of data in span
Expand Down
Loading

0 comments on commit 5aa717c

Please sign in to comment.