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 repository: https://github.com/rapidsai/cuvs
- Inherited source version:
v26.10.00(from the trackedVERSIONfile) - Upstream baseline commit:
03fc8cad778652b87e02522866137ae6ecfb6c45
Moore Threads maintains this fork and retains the upstream C++, C, Python, Rust, Java, examples, and documentation structure.
cpp/cmake/musa/musa-toolchain.cmakeprovides the explicitmcctoolchain entry point.cpp/cmake/musa/ConfigureMUSAFrontier.cmakedefines 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.
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.
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 --parallelThe 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.
cpp/— C++ library, CMake modules, and public headersc/— C APIpython/,rust/, andjava/— language bindingsexamples/,cpp/tests/, andcpp/bench/— inherited examples and checkscpp/cmake/musa/— MUSA toolchain and adapter codeVERSION,CHANGELOG.md, anddocs/— release and documentation records
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.
See LICENSE for the Moore Threads project declaration and applicable upstream and component terms.