From 9132224dedfdc355bfadf04b2b9545d748b286e6 Mon Sep 17 00:00:00 2001 From: aamijar Date: Mon, 29 Jun 2026 15:59:32 +0000 Subject: [PATCH] fix-FastIntDiv-tparam --- .../detail/kernels/soft_clustering.cuh | 6 +-- cpp/src/hdbscan/detail/soft_clustering.cuh | 40 ++++++++++--------- 2 files changed, 24 insertions(+), 22 deletions(-) diff --git a/cpp/src/hdbscan/detail/kernels/soft_clustering.cuh b/cpp/src/hdbscan/detail/kernels/soft_clustering.cuh index 7c45dfaf2b..4f3a32bb20 100644 --- a/cpp/src/hdbscan/detail/kernels/soft_clustering.cuh +++ b/cpp/src/hdbscan/detail/kernels/soft_clustering.cuh @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2022-2024, NVIDIA CORPORATION. + * SPDX-FileCopyrightText: Copyright (c) 2022-2026, NVIDIA CORPORATION. * SPDX-License-Identifier: Apache-2.0 */ #pragma once @@ -18,7 +18,7 @@ CUML_KERNEL void merge_height_kernel(value_t* heights, value_idx* parents, size_t m, value_idx n_selected_clusters, - raft::util::FastIntDiv n, + raft::util::FastIntDiv n, value_idx* selected_clusters) { value_idx idx = blockDim.x * blockIdx.x + threadIdx.x; @@ -62,7 +62,7 @@ CUML_KERNEL void merge_height_kernel(value_t* heights, value_idx* parents, size_t n_prediction_points, value_idx n_selected_clusters, - raft::util::FastIntDiv n, + raft::util::FastIntDiv n, value_idx* selected_clusters) { value_idx idx = blockDim.x * blockIdx.x + threadIdx.x; diff --git a/cpp/src/hdbscan/detail/soft_clustering.cuh b/cpp/src/hdbscan/detail/soft_clustering.cuh index 3ac177aadf..e9c747f8fb 100644 --- a/cpp/src/hdbscan/detail/soft_clustering.cuh +++ b/cpp/src/hdbscan/detail/soft_clustering.cuh @@ -99,7 +99,7 @@ void dist_membership_vector(const raft::handle_t& handle, auto reduction_op = [dist = dist.data(), batch_offset, - divisor = raft::util::FastIntDiv(n_selected_clusters), + divisor = raft::util::FastIntDiv(n_selected_clusters), n_selected_clusters, n_exemplars, exemplar_label_offsets] __device__(auto idx) { @@ -172,14 +172,15 @@ void all_points_outlier_membership_vector( auto n_leaves = condensed_tree.get_n_leaves(); int n_blocks = raft::ceildiv(int(m * n_selected_clusters), tpb); - merge_height_kernel<<>>(merge_heights, - lambdas, - index_into_children, - parents, - m, - static_cast(n_selected_clusters), - raft::util::FastIntDiv(n_selected_clusters), - selected_clusters); + merge_height_kernel<<>>( + merge_heights, + lambdas, + index_into_children, + parents, + m, + static_cast(n_selected_clusters), + raft::util::FastIntDiv(static_cast(n_selected_clusters)), + selected_clusters); auto leaf_max_lambdas = raft::make_device_vector(handle, n_leaves); @@ -277,16 +278,17 @@ void outlier_membership_vector(const raft::handle_t& handle, // Using the nearest neighbor indices, compute outlier membership int n_blocks = raft::ceildiv(int(n_prediction_points * n_selected_clusters), tpb); - merge_height_kernel<<>>(merge_heights, - lambdas, - prediction_lambdas, - min_mr_inds, - index_into_children, - parents, - n_prediction_points, - static_cast(n_selected_clusters), - raft::util::FastIntDiv(n_selected_clusters), - selected_clusters); + merge_height_kernel<<>>( + merge_heights, + lambdas, + prediction_lambdas, + min_mr_inds, + index_into_children, + parents, + n_prediction_points, + static_cast(n_selected_clusters), + raft::util::FastIntDiv(static_cast(n_selected_clusters)), + selected_clusters); // fetch the max lambda of the cluster to which the nearest MR neighbor belongs in the condensed // hierarchy