AMD GPU 加速向量检索:seekdb × hipVS 学习笔记

2297 字
6 分钟

AMD GPU 加速向量检索:seekdb × hipVS 学习笔记

发布于

学习资料:OceanBase《2026 从 0 到 1 数据库实践教程》第二讲《AMD 赛题方向解析》
主讲人:母自豪(AMD ROCm 软件与解决方案架构师)
记录日期:2026 年 9 月 6 日
以下性能数据来自课程演示,尚未自行复现实验。

1. hipVS 与 seekdb 的关系

hipVS 将 cuVS 的向量检索能力移植到 AMD GPU 上,并保留兼容的接口。 cuVS 原本面向 NVIDIA GPU;hipVS 通过 HIP / ROCm 适配 AMD GPU,使上层软件可以复用已有的接入方式。

seekdb 可以通过这套接口使用 GPU 加速向量检索。课程中的调用链可以简记为:

seekdb SQL → 向量抽象层 → C 桥接层 → hipVS → ROCm → AMD GPU
seekdb 接入 hipVS 的关系,04:04
seekdb 接入 hipVS 的关系,04:04

课程按索引选择后端:lib=vsag 使用 CPU,lib=cuvs 使用 GPU。AMD 路径仍沿用 cuVS 接口名称,底层实际由 hipVS 执行。

我的理解是,seekdb 负责数据库接口与查询组织,hipVS 负责底层 GPU 检索计算,兼容接口降低了两者的对接成本。讲者说明,录制时相关接入仍在开发,后续会提供实现 PR 与更详细的材料。

2. CPU 与 GPU 的效率对比

课程使用 AMD Radeon PRO W7900(48 GB 显存)、ROCm 7.2.4,以及同源的一万条向量数据,对比 CPU 与 GPU 检索路径。

查询方式课程结果
单条查询CPU 8.17 ms,GPU 12.57 ms,CPU 更快
每批 100 个查询GPU 加速比 0.71 倍,仍慢于 CPU
每批 500 个查询GPU 加速比 2.73 倍
每批 1,000 个查询GPU 加速比 3.30 倍
每批 2,000 个查询GPU 加速比 7.39 倍
每批 4,000 个查询GPU 加速比 11.98 倍,约 12 倍

加速比为 CPU 耗时 ÷ GPU 耗时,数值越大表示 GPU 相对越快。

单查、批量与召回率结果,06:40
单查、批量与召回率结果,06:40

单查时,GPU 的固定调用开销会抵消计算优势;批量提交更多查询后,开销被分摊,GPU 的并行处理能力才更明显。 因此,这组实验中 CPU 更适合少量、低延迟查询,GPU 在大批量查询中体现出吞吐优势。这里降低的是每个查询的摊销成本,不代表整批总耗时随批次增加而一直下降。

课程还展示了 Recall@10:GPU 为 0.866,CPU 为 0.640。这个指标表示真实前十个近邻中被找回的比例,用来观察检索质量。

需要保留一个实验条件:CPU 使用 VSAG 逐个查询,GPU 使用 batch_knn 批量接口。因此,约 12 倍是这套算法、调用方式和硬件共同作用的演示结果,不能直接推广到所有查询场景。

3. AMD 算力资源领取与使用

课程涉及两个主要入口:AMD AI 开发者计划用于注册、完善资料和兑换算力;**Radeon Cloud(开发者云)**用于启动 GPU 实例、运行 Notebook 和远程开发。

领取算力

  1. 打开课程专属注册链接,注册或登录 AMD AI 开发者计划。保留链接中的课程来源后缀。
  2. 完善个人资料。讲者提示,如果账户只有 1 积分,需要先完成资料填写。
  3. 在“算力兑换”中将积分兑换为算力时间,再从首页进入 AMD 开发者云。

课件介绍了 150+ 小时免费算力,具体领取条件与额度以账户页面为准。

课程专属入口与算力说明,10:28
课程专属入口与算力说明,10:28

启动实例与运行 Notebook

  1. 在 Radeon Cloud 的模板页面找到 seekdb + hipVS 对应的 Notebook 模板。
  2. 点击 Launch 启动实例。平台已预先编译 seekdb 与 hipVS,并准备好实验镜像。
  3. 启动后通过实例页面或 Profile 中的 Jupyter 链接进入实验环境。
  4. 打开课程示例 Notebook,依次选中代码单元,按 Shift + Enter 运行并查看输出。

演示中的 Notebook 路径为:

seekdb_hipvs_notebook/seekdb_hipvs_batch_demo_executed.ipynb

其中包含环境检查、数据准备、单条查询、批量查询和召回率对比,可以按顺序复现课程结果。

seekdb + hipVS 模板入口,12:44
seekdb + hipVS 模板入口,12:44

SSH 连接与资源释放

如果需要从本地工具远程开发,先在账户 Profile 保存 SSH 公钥,再 Launch 实例,然后使用自己实例页面提供的 SSH 连接信息。如果实例启动时没有配置公钥,课程演示的处理方法是保存公钥后重建实例;提前配置好则无需重建。

平台还提供 TokenFactory 模型调用资源,可用于接入模型服务,与运行 GPU 实例的算力时间用途不同。

关闭浏览器不会停止实例。 使用结束后,先保存需要保留的实验记录,再通过 Destroy 释放实例,避免继续消耗算力时间。

云端实例的使用与释放流程,09:28
云端实例的使用与释放流程,09:28
Last updated on