~~~~~~~~~~~~~~~ Getting Started ~~~~~~~~~~~~~~~ - `New to vector search?`_ * :doc:`Primer on vector search ` * :doc:`Vector search indexes vs vector databases ` * :doc:`Index tuning guide ` * :doc:`Comparing vector search index performance ` - `Supported indexes`_ * :doc:`Vector search index guide ` - `Using cuVS APIs`_ * :doc:`C API Docs ` * :doc:`C++ API Docs ` * :doc:`Python API Docs ` * :doc:`Rust API Docs ` * :doc:`API basics ` * :doc:`API interoperability ` - `Where to next?`_ * `Social media`_ * `Blogs`_ * `Research`_ * `Get involved`_ New to vector search? ===================== If you are unfamiliar with the basics of vector search or how vector search differs from vector databases, then :doc:`this primer on vector search guide ` should provide some good insight. Another good resource for the uninitiated is our :doc:`vector databases vs vector search ` guide. As outlined in the primer, vector search as used in vector databases is often closer to machine learning than to traditional databases. This means that while traditional databases can often be slow without any performance tuning, they will usually still yield the correct results. Unfortunately, vector search indexes, like other machine learning models, can yield garbage results of not tuned correctly. Fortunately, this opens up the whole world of hyperparamer optimization to improve vector search performance and quality. Please see our :doc:`index tuning guide ` for more information. When comparing the performance of vector search indexes, it is important that considerations are made with respect to three main dimensions: #. Build time #. Search quality #. Search performance Please see the :doc:`primer on comparing vector search index performance ` for more information on methodologies and how to make a fair apples-to-apples comparison during your evaluations. 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 :doc:`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 :doc:`C `, :doc:`C++ `, :doc:`Python `, and :doc:`Rust ` with more languages in the works. our :doc:`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 :doc:`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: #. `Accelerated Vector Search: Approximating with cuVS IVF-Flat `_ #. `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. #. `CAGRA: Highly Parallel Graph Construction and Approximate Nearest Neighbor Search `_ #. `Top-K Algorithms on GPU: A Comprehensive Study and New Methods `_ #. `Fast K-NN Graph Construction by GPU Based NN-Descent `_ #. `cuSLINK: Single-linkage Agglomerative Clustering on the GPU `_ #. `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. .. toctree:: :hidden: choosing_and_configuring_indexes.rst vector_databases_vs_vector_search.rst tuning_guide.rst comparing_indexes.rst indexes/indexes.rst api_basics.rst api_interoperability.rst