Skip to content
 
 

Latest commit

 

History

1,376 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cuvs-musa

cuvs-musa is the Moore Threads MUSA maintenance fork of cuVS, a C++/Python/C library for GPU vector search, nearest-neighbor graph construction, and clustering. It preserves the upstream RAPIDS cuVS organization while adding explicit MUSA integration seams.

Upstream and version

  • Upstream repository: https://github.com/rapidsai/cuvs
  • Inherited source version: v26.10.00 (from the tracked VERSION file)
  • Upstream baseline commit: 03fc8cad778652b87e02522866137ae6ecfb6c45

Moore Threads maintains this fork and retains the upstream C++, C, Python, Rust, Java, examples, and documentation structure.

MUSA integration

  • cpp/cmake/musa/musa-toolchain.cmake provides the explicit mcc toolchain entry point.
  • cpp/cmake/musa/ConfigureMUSAFrontier.cmake defines the guarded MUSA dependency frontier and its RAFT/RMM integration inputs.
  • MUSA stream, runtime, BLAS, and sparse-library adapters live under cpp/cmake/musa/ and are kept separate from the inherited CUDA configuration.
  • The upstream CUDA-oriented algorithms and wrappers remain in the tree; MUSA enablement is opt-in and does not rewrite their public interfaces.

Dependencies

The upstream project uses CMake, a C++ toolchain, RAFT, RMM, CCCL, CUTLASS, cuco, and the language bindings listed in dependencies.yaml. The MUSA frontier additionally requires a Moore Threads MUSA SDK with mcc, MUSA BLAS and sparse libraries, and compatible MUSA ports of the pinned RAFT/RMM inputs. Python, C, Rust, and Java bindings remain separate build surfaces.

Build and usage

Use the upstream build.sh for standard builds. To configure the explicit MUSA frontier from a fresh build directory, provide the checked-in toolchain and the task-owned dependency roots required by ConfigureMUSAFrontier.cmake:

cmake -S cpp -B build-musa \
  -DCMAKE_TOOLCHAIN_FILE=cpp/cmake/musa/musa-toolchain.cmake \
  -DCUVS_BUILD_MUSA_FRONTIER=ON \
  -DCUVS_MUSA_RAFT_ROOT=/path/to/raft \
  -DCUVS_MUSA_RMM_ROOT=/path/to/rmm \
  -DCUVS_MUSA_RAPIDS_LOGGER_ROOT=/path/to/rapids-logger \
  -DBUILD_TESTS=OFF
cmake --build build-musa --parallel

The C++, C, Python, Rust, and Java examples under their respective directories show the corresponding public API entry points. Select a MUSA device through the runtime configuration supplied by the MUSA platform.

Repository layout

  • cpp/ — C++ library, CMake modules, and public headers
  • c/ — C API
  • python/, rust/, and java/ — language bindings
  • examples/, cpp/tests/, and cpp/bench/ — inherited examples and checks
  • cpp/cmake/musa/ — MUSA toolchain and adapter code
  • VERSION, CHANGELOG.md, and docs/ — release and documentation records

Contributing and attribution

Keep MUSA-specific changes behind explicit CMake options and preserve the upstream RAFT/RMM contracts. Document new adapter assumptions and dependency versions in the relevant public source files. Retain RAPIDS/cuVS attribution and citations from the upstream project.

License

See LICENSE for the Moore Threads project declaration and applicable upstream and component terms.

About

cuVS - a library for vector search and clustering on the GPU

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages