Getting Started#

Supported indexes#

cuVS supports many of the standard index types with the list continuing to grow and stay current with the state-of-the-art. Please refer to our vector search index guide for to learn more about each individual index type, when they can be useful on the GPU, the tuning knobs they offer to trade off performance and quality.

The primary goal of cuVS is to enable speed, scale, and flexibility (in that order)- and one of the important value propositions is to enhance existing software deployments with extensible GPU capabilities to improve pain points while not interrupting parts of the system that work well today with CPU.

Using cuVS APIs#

cuVS is a C++ library at its core, which is wrapped with a C library and exposed further through various different languages. cuVS currently provides APIs and documentation for C, C++, Python, and Rust with more languages in the works. our API basics provides some background and context about the important paradigms and vocabulary types you’ll encounter when working with cuVS types.

Please refer to the guide on API interoperability for more information on how cuVS can work seamlessly with other libraries like numpy, cupy, tensorflow, and pytorch, even without having to copy device memory.

Where to next?#

cuVS is free and open source software, licesed under Apache 2.0 Once you are familiar with and/or have used cuVS, you can access the developer community most easily through Github. Please open Github issues for any bugs, questions or feature requests.

Social media#

You can access the RAPIDS community through Slack , Stack Overflow and X

Blogs#

We frequently publish blogs on GPU-enabled vector search, which can provide great deep dives into various important topics and breakthroughs:

  1. Accelerated Vector Search: Approximating with cuVS IVF-Flat

  2. Accelerating Vector Search with cuVS IVF-PQ

Research#

For the interested reader, many of the accelerated implementations in cuVS are also based on research papers which can provide a lot more background. We also ask you to please cite the corresponding algorithms by referencing them in your own research.

  1. CAGRA: Highly Parallel Graph Construction and Approximate Nearest Neighbor Search

  2. Top-K Algorithms on GPU: A Comprehensive Study and New Methods

  3. Fast K-NN Graph Construction by GPU Based NN-Descent

  4. cuSLINK: Single-linkage Agglomerative Clustering on the GPU

  5. GPU Semiring Primitives for Sparse Neighborhood Methods

Get involved#

We always welcome patches for new features and bug fixes. Please read our contributing guide for more information on contributing patches to cuVS.