入门指南#

支持的索引#

cuVS支持许多标准索引类型,并且列表不断增长,保持与最新技术同步。请参阅我们的向量搜索索引指南,以了解更多关于每种索引类型的信息,了解它们在GPU上的适用场景,以及它们提供的用于权衡性能和质量的可调参数。

cuVS的主要目标是实现速度、规模和灵活性(按此顺序)——其中一个重要的价值主张是通过可扩展的GPU功能增强现有软件部署,以改善痛点,同时不中断当前在CPU上运行良好的系统部分。

使用 cuVS API#

cuVS 是一个核心为 C++ 的库,它通过 C 库进行封装,并通过各种不同的语言进一步暴露。cuVS 目前为 CC++PythonRust 提供了 API 和文档,更多语言正在开发中。我们的 API 基础 提供了一些背景和上下文,关于你在使用 cuVS 类型时会遇到的重要范例和词汇类型。

请参考API互操作性指南,了解更多关于cuVS如何与numpy、cupy、tensorflow和pytorch等其他库无缝协作的信息,甚至无需复制设备内存。

接下来去哪里?#

cuVS 是免费且开源的软件,遵循 Apache 2.0 许可证。一旦您熟悉并/或使用过 cuVS,您可以通过 Github 最方便地访问开发者社区。请为任何错误、问题或功能请求在 Github 上提交问题。

社交媒体#

您可以通过SlackStack OverflowX访问RAPIDS社区

博客#

我们经常发布关于支持GPU的向量搜索的博客,这些博客可以深入探讨各种重要主题和突破:

  1. 加速向量搜索:使用 cuVS IVF-Flat 进行近似

  2. 使用 cuVS IVF-PQ 加速向量搜索

研究#

对于感兴趣的读者,cuVS中的许多加速实现也基于研究论文,这些论文可以提供更多的背景信息。我们也请您在自己的研究中引用相应的算法。

  1. CAGRA: 高度并行的图构建和近似最近邻搜索

  2. GPU上的Top-K算法:全面研究和新方法

  3. 基于GPU的NN-Descent快速K-NN图构建

  4. cuSLINK: GPU上的单链接层次聚类

  5. GPU 半环原语用于稀疏邻域方法

参与进来#

我们始终欢迎新功能和错误修复的补丁。请阅读我们的贡献指南以获取有关向cuVS贡献补丁的更多信息。