NVIDIA cuVS provides APIs for C, C++, Python, Java, Go, and Rust. Start with the language you plan to use; each guide separates package installation from source builds and calls out any language-specific setup.
All NVIDIA cuVS routine implementations live in the C++ core. For every non-C++ language binding, install both the C library (libcuvs_c) and the C++ library (libcuvs) unless the selected package explicitly bundles them.
Pre-compiled NVIDIA cuVS packages are available for Linux on x86_64 and aarch64. Native Windows support is not available at this time. On Windows, use WSL2 with GPU passthrough. See the RAPIDS WSL2 guide.
Source builds and package installs require a supported NVIDIA GPU. For current source builds, use CUDA Toolkit 12.2 or newer and an Ampere architecture GPU or newer, which means compute capability 8.0 or higher.
libcuvs_c.libcuvs.Most source builds use the repository build.sh script. The script wraps CMake, prepares install targets, and provides language-specific build targets. Each language guide shows the target most users need.
The common source-build prerequisites are:
The recommended way to construct an environment with the dependencies required to build NVIDIA cuVS is to use conda with the repository environment YAML file:
You may prefer mamba over conda for faster environment solves. The conda/environments directory also contains language-specific environment YAML files for narrower development environments. Conda is not required, but if you do not use it, install all required build dependencies explicitly before running build.sh.
The NVIDIA cuVS documentation is a Fern project in the repository’s fern directory. Fern requires Node.js 22 or newer. If the docs fail with an error such as SyntaxError: Unexpected token '.', check node --version and activate a newer Node.js runtime.
Run the local preview from the repository root:
Fern serves the preview at http://localhost:3000 by default.
Run the Fern checks before publishing documentation changes: