From fb480437b3d2a92fe44f7de851f4068a9dfdc443 Mon Sep 17 00:00:00 2001 From: divyegala Date: Wed, 12 Feb 2025 10:30:17 -0800 Subject: [PATCH] cugraph sparse updates --- .../detail/modularity_maximization.hpp | 25 +++++++++++-------- .../raft/spectral/modularity_maximization.cuh | 16 +++++++----- 2 files changed, 25 insertions(+), 16 deletions(-) diff --git a/cpp/include/raft/spectral/detail/modularity_maximization.hpp b/cpp/include/raft/spectral/detail/modularity_maximization.hpp index a4e504883a..e33c55b68c 100644 --- a/cpp/include/raft/spectral/detail/modularity_maximization.hpp +++ b/cpp/include/raft/spectral/detail/modularity_maximization.hpp @@ -64,10 +64,14 @@ namespace detail { * performed. * @return error flag. */ -template +template std::tuple modularity_maximization( raft::resources const& handle, - raft::spectral::matrix::sparse_matrix_t const& csr_m, + raft::spectral::matrix::sparse_matrix_t const& csr_m, EigenSolver const& eigen_solver, ClusterSolver const& cluster_solver, vertex_t* __restrict__ clusters, @@ -89,7 +93,7 @@ std::tuple modularity_maximization( // Compute eigenvectors of Modularity Matrix // Initialize Modularity Matrix - raft::spectral::matrix::modularity_matrix_t B{handle, csr_m}; + raft::spectral::matrix::modularity_matrix_t B{handle, csr_m}; auto eigen_config = eigen_solver.get_config(); auto nEigVecs = eigen_config.n_eigVecs; @@ -125,12 +129,13 @@ std::tuple modularity_maximization( * @param clusters (Input, device memory, n entries) Cluster assignments. * @param modularity On exit, modularity */ -template -void analyzeModularity(raft::resources const& handle, - raft::spectral::matrix::sparse_matrix_t const& csr_m, - vertex_t nClusters, - vertex_t const* __restrict__ clusters, - weight_t& modularity) +template +void analyzeModularity( + raft::resources const& handle, + raft::spectral::matrix::sparse_matrix_t const& csr_m, + vertex_t nClusters, + vertex_t const* __restrict__ clusters, + weight_t& modularity) { RAFT_EXPECTS(clusters != nullptr, "Null clusters buffer."); @@ -149,7 +154,7 @@ void analyzeModularity(raft::resources const& handle, RAFT_CUBLAS_TRY(linalg::detail::cublassetpointermode(cublas_h, CUBLAS_POINTER_MODE_HOST, stream)); // Initialize Modularity - raft::spectral::matrix::modularity_matrix_t B{handle, csr_m}; + raft::spectral::matrix::modularity_matrix_t B{handle, csr_m}; // Initialize output modularity = 0; diff --git a/cpp/include/raft/spectral/modularity_maximization.cuh b/cpp/include/raft/spectral/modularity_maximization.cuh index 6514f7ef21..2ea4ac9fab 100644 --- a/cpp/include/raft/spectral/modularity_maximization.cuh +++ b/cpp/include/raft/spectral/modularity_maximization.cuh @@ -43,10 +43,14 @@ namespace spectral { * @param eigVecs Output eigenvector array pointer on device * @return statistics: number of eigensolver iterations, . */ -template +template std::tuple modularity_maximization( raft::resources const& handle, - matrix::sparse_matrix_t const& csr_m, + matrix::sparse_matrix_t const& csr_m, EigenSolver const& eigen_solver, ClusterSolver const& cluster_solver, vertex_t* __restrict__ clusters, @@ -54,7 +58,7 @@ std::tuple modularity_maximization( weight_t* eigVecs) { return raft::spectral::detail:: - modularity_maximization( + modularity_maximization( handle, csr_m, eigen_solver, cluster_solver, clusters, eigVals, eigVecs); } //=================================================== @@ -69,14 +73,14 @@ std::tuple modularity_maximization( * @param clusters (Input, device memory, n entries) Cluster assignments. * @param modularity On exit, modularity */ -template +template void analyzeModularity(raft::resources const& handle, - matrix::sparse_matrix_t const& csr_m, + matrix::sparse_matrix_t const& csr_m, vertex_t nClusters, vertex_t const* __restrict__ clusters, weight_t& modularity) { - raft::spectral::detail::analyzeModularity( + raft::spectral::detail::analyzeModularity( handle, csr_m, nClusters, clusters, modularity); }