Faiss教程:GPU

2023-05-16

Fassi通过CUDA支持GPU,要求3.5以上算力,float16要求CUDA7.5+

通过index_gpu_to_cpu可以将索引从GPU复制到CPU,index_cpu_to_gpu 和 index_cpu_to_gpu_multiple可以从CPU复制到GPU,并支持GpuClonerOptions来调整GPU存储对象的方式。

GpuIndexFlat, GpuIndexIVFFlat 和 GpuIndexIVFPQ分别是IndexFlat, IndexIVFFlat 和 IndexIVFPQ的GPU实现。它们除了算法需要的参数,还需要一个资源对象GpuResources,来避免无效的数据交互。

GPU下的限制:

  • 都所有索引 k 和nprobe 必须小于1024
  • GpuIndexIVFPQ,每个向量允许字节数:1, 2, 3, 4, 8, 12, 16, 20, 24, 28, 32, 48, 56, 64 和 96。超过56,可以使用 float16 IVFPQ 模式。
  • GpuIndexIVFPQ的预计算表占用显存较大,如果有cudaMalloc错误,禁止预计算表
  • indices_options = INDICES_CPU,设置倒排文件可以放在CPU
  • StandardGpuResources默认使用18%的GPU显存,并动态调整
  • add和search最好再batch的形式进行,见示例
  • I/O操作不支持GPU

benchs/bench_gpu_sift1m.py 下是Python的GPU使用示例

使用多卡
可以复制数据到多个GPU,分开查询IndexProxy;也可以通过IndexShards分割数据到多个GPU。

GPU在单卡下是CPU的5-10倍,多卡和单卡相比基本是线性的提升:8个卡可以提升6-7倍。推荐支持batch查询,且当最近邻k值很大时性能也会受影响。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Faiss教程:GPU 的相关文章

随机推荐

  • 执行truffle unbox react报错,出现Error: connect ECONNREFUSED 0.0.0.0:443问题的解决办法

    前提 xff1a 我是用的是MAC系统 xff0c 不知道使用windows系统是否也可以 react box 项目构建 localhost ReactDapp liyuechun truffle unbox react box Start
  • 如何合并PDF文件?教你几种超简单的方法

    如何合并PDF文件呢 xff1f 我们在工作中会遇到很多难以处理的文件 xff0c 比如PDF文件就是一种 xff0c 尤其是将多个PDF文件合并成一个PDF文件 xff0c xff0c 其实大多数人都不知道将其合并 xff0c 盲目的在网
  • not a valid identifier解决

    not a valid identifier不是有效的标识符 因为在 usr的 多加了一个空格 xff0c 导致JAVA Home 无法识别 转载于 https www cnblogs com wxd136 p 10332040 html
  • asp链接数据库[转]

    1 ASP连接Access数据库语句 Set Conn 61 Server CreateObject 34 ADODB Connection 34 Connstr 61 34 DBQ 61 34 43 server mappath 34 w
  • OpenGL纹理映射

    GLfloat xrot X 旋转量 GLfloat yrot Y 旋转量 GLfloat zrot Z 旋转量 GLuint texture 1 存储一个纹理 AUX RGBImageRec LoadBMP char Filename 载
  • 【转】设置Qt应用程序图标及应用程序名

    一直以来很纠结给qt应用程序添加图标问题 xff0c 在网上收过一次 xff0c 但是感觉不够完整 xff0c 现将自己的实现过程记录下 xff0c 以便以后查看 xff1a 通过网上的例子知道qt助手中有相关说明 xff1a Settin
  • studioone机架效果模板_贾爽的分享-贾爽:带你认识StudioOne机架自带的两个混响效果器!...

    作者姓名 xff1a 贾爽 xff0c 现居河南省南阳市 xff0c 音视频软硬件产品的意见领袖 xff0c 网络主播培训指导讲师 xff0c 爽哥KX驱动工具 制作者 xff0c 南阳标题网络技术有限公司创始人 xff0c 河南省流行音乐
  • HTTP认证用户名密码 php

    header 39 HTTP 1 1 401 Authorization Required 39 header 39 WWW Authenticate Basic realm 61 34 PHP Secured 34 39 用户名和口令列表
  • C++ 存储类

    C 43 43 存储类 存储类定义 C 43 43 程序中变量 函数的范围 xff08 可见性 xff09 和生命周期 这些说明符放置在它们所修饰的类型之前 下面列出 C 43 43 程序中可用的存储类 xff1a auto registe
  • 怎么在VS监视DataSet类型的数据

    旧版本 先监视DataSet xff0c 打开dataset dataset下面有一个tables Tables打开有一个非公共成员 xff0c 然后下面有一个List xff0c List中存储了每一张表的信息 下图所示的List下面的
  • Python网络爬虫5 - 爬取QQ空间相册

    自毕业后 xff0c 就再也没有用过QQ xff0c QQ空间里记录的是些并不精彩的青葱岁月 xff0c 但好歹也是份回忆 xff0c 近日想着学以致用 xff0c 用Python把QQ空间相册的所有照片爬取下来 xff0c 以作备份 分析
  • C++学习笔记 简单部分

    C 43 43 数据类型 使用变量来存储各种信息 xff0c 变量保留的是它所存储的值的内存位置 这意味着 xff0c 当创建一个变量时 xff0c 就会在内存中保留一些空间 这段内存空间可以用于存储各种数据类型 xff08 比如字符型 宽
  • springboot 2 Hikari 多数据源配置问题(dataSourceClassName or jdbcUrl is required)

    最近在项目中想试一下使用 Hikari 连接池 xff0c 以前用的是阿里的 Druid xff0c 框架是 Spring MVC xff0c xml配置文件方式注入的 Bean xff0c 现在换成 Spring Boot 之后 xff0
  • 完美解决 开机无法启动 提示0xc000000e 问题

    完美解决 开机无法启动 提示0xc000000e 问题 原文链接 xff1a http bbs ruanmei com thread 186874 1 1 html 摘要 xff1a 本文提供0xc000000e问题的解决方法和原理解释 x
  • 使用Jmeter输出错误响应结果到日志

    性能测试过程中 xff0c 我们经常需要知道高并发性能测试情况下 xff0c 系统报错 xff0c 返回的结果是什么 xff0c 帮助开发具体定位问题 一 操作步骤 xff1a 正确响应结果 我们可以自定义断言语句 xff0c 自动判断断言
  • 控制台报错 index:0,size:0

    源代码 xff1a service实现类 xff1a String select sql 61 34 select cguid case isrz when 1 then 39 PASS 39 when 0 then 39 FAIL 39
  • Ubuntu11.04上tftp服务的配置

    Ubuntu11 04 上tftp 服务的配置 2011 06 17 15 01 以前ubuntu 版本上的tftp 已经配置很多遍了 xff0c 详情可以参见 xff1a www mcuos com thread 646 1 2 html
  • 九套常规报表模型(转)

    九套常规报表模型 我们可以通过九大报表模型的组合 xff0c 快速完成大多数报表的设计 这九大模型分别为 xff1a 列表 分组 主从 嵌套 交叉 图形 套打 分栏 填报 本文将重点对这九大模型的特征及适用范围进行阐述 1 列表 列表是报表
  • 利用for循环打印实心棱形和空心棱形

    一 要求 xff1a 提示用户输入棱形的行数 xff0c 比如输入5时 xff0c 打印如下实心棱形和空心棱形 xff08 由于排版问题 xff0c 可能显示会有变形 xff09 xff1a 二 分析 xff1a A 图形是上下对称的 B
  • Faiss教程:GPU

    Fassi通过CUDA支持GPU xff0c 要求3 5以上算力 xff0c float16要求CUDA7 5 43 通过index gpu to cpu可以将索引从GPU复制到CPU xff0c index cpu to gpu 和 in