You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update API to leverage cuVS Spectral clustering (#5326)
This PR integrates cuVS spectral clustering from upstream into cuGraph while maintaining full backward compatibility. The integration deprecates the legacy balanced cut clustering C++ and Python APIs in favor of spectral_modularity_maximization. In fact, cuVS consolidated the spectral clustering API to assign vertices to clusters that by default maximizes the modularity score
**Static Linking with Conda Fallback:**
- cuGraph is configured to statically link libcuvs for optimal performance
- The build system first attempts to use conda-installed libcuvs if available
- If libcuvs is not present in the conda environment or static linking is required, the build system automatically clones the main cuVS repository (rapidsai/cuvs) and builds it from source
- Uses the standard RAPIDS release branch (${rapids-cmake-checkout-tag}) ensuring version compatibility
Note: The header files `raft/spectral/partition.cuh` and `raft/spectral/modularity_maximization.cuh` are still necessary in `spectraly_clustering.cu` because APIs (like `raft::spectral::analyzePartition`, `raft::spectral::analyzeModularity`) are still being called in cuGraph and are not supported in cuVS. This is not an issue because those APIs are not deprecated in raft in contrary to `kmeans` and `solvers`
Authors:
- Joseph Nke (https://github.com/jnke2016)
Approvers:
- Anupam (https://github.com/aamijar)
- Chuck Hastings (https://github.com/ChuckHastings)
- Rick Ratzel (https://github.com/rlratzel)
- Robert Maynard (https://github.com/robertmaynard)
- Bradley Dice (https://github.com/bdice)
URL: #5326
0 commit comments