lammps 怎么编译gpu版本_faiss-gpu近邻检索

环境准备:

双路CPU工作站

128G内存

英伟达1080Ti显卡两块

faiss源码包

centos7.2+python2.7+anaconda2(环境变量与openblas安装同GPU版)

centos7.2+python3.6+anaconda3(conda安装faiss环境)

1 显卡驱动安装

显卡安装有两种方式,一种是用yum从 ELRepo 源中安装,一种是从源码编译驱动。我们选用第一种方式来安装(简单)。

依赖环境安装

5ebcf054eb9be8450aae695ce600631d.png

导入ELRepo公钥

723450bf93c5ba77049171f14b31b20b.png

安装ELRepo

7940cb1ef7e2fa5a20ce5c0836b0f5c9.png

安装fastestmirror插件来加快下载速度

2e320b5911adebb8d644ab6376269a0e.png

屏蔽自带的显卡驱动

打开/lib/modprobe.d/dist-blacklist.conf,将nvidiafb注释掉。然后添加以下语句:blacklist nouveau

options nouveau modeset=0

76886ba698178ce71a3eee416a88c56f.png

重建initramfs image

e09660cbc8b59d0d19795b2cde958208.png

重启电脑,ls mod | grep nouveau查看nouveau是否已经禁用,若没有任何输出表示禁用成功。

安装检查显卡程序

sudo yum install nvidia-detect

检查显卡情况

8f1591c8c14a199fdcfa19b5e8cb1691.png

根据 nvidia-detect 的输出信息,可以知道显卡的型号,以及要使用的驱动版本 390.67

自动匹配驱动安装

yum -y install kmod-nvidia

重启电脑安装就完成啦!

2 cuda-8.0安装

cuda安装比较简单,只需要从英伟达官网下载对应cuda安装包,并运行即可,对应安装包如下:

43afd182750321988c00a8259a5eb0a9.png

运行安装

381720644f88d2c32e622588f615c7ea.png

配置环境变量

vim ~/.bashrc

3dba35f2ffeaee7b4f746fe11a8343b0.png

环境变量生效

source ~/.bashrc

查看安装结果

ff2d2d2de058d72fbcf3316083a91f4c.png

3 faiss-gpu源码包编译

faiss-gpu源码包编译前必须保证openblas已经安装并且软链接已经创建。

GPU源码编译

进入faiss目录,并运行 cd gpu

make

编译完成后,进行示例代码测试:

make test/demo_ivfpq_indexing_gpu

./test/demo_ivfpq_indexing_gpu

12a7e7861ba6c48adb2003414ffd0881.png

faiss-gpu python接口编译

cd gpu

make py

测试

python –c “import faiss”

4 conda安装faiss

Anaconda安装faiss的cpu和gpu版本比较简单,但是值得注意的是,经小编实测,在anconda仓库中安装的最新代码只能在anconda3上正常运行,在anconda2上面经测试不能正常运行。也就是说,最新的anconda上的faiss包对python2支持的并不好,所以这里我们安装anconda3并配置如下anconda环境变量。

fed88dfb433ea4984e8e13e50e5fb1fd.png

Openblas的安装和软链接创建同CPU版本,这里不再赘述。

faiss-cpu版本安装

conda install faiss-cpu -c pytorch

faiss-gpu版本安装(默认cuda-8.0版本)

conda install faiss-gpu -c pytorch

测试

8911a9b0bacea9e91e4d77db3c5205e5.png

经anconda安装后faiss可直接在python中像其他库一样使用,而不必像源码包编译完成后一样只能在faiss的编译文件目录下运行。

5 faiss-gpu入门实例

小编用如下代码测试faiss-gpu代码。

a2e67dbff6d2e85bbba5f68ea49cf324.png

在小编双显卡环境下,用IVFFlat检索图中所示数据,相似最近邻单次检索的平均时长仅为0.197ms,小编不得不感慨GPU强大的计算能力。

本篇内容在本人个人公众号上也已发布,欢迎关注本人微信公众号“勤菜鸟”。

Reference

  1. https://blog.csdn.net/u010641294/article/details/72820772
  2. https://github.com/facebookresearch/faiss/blob/master/INSTALL.md
  3. https://blog.csdn.net/u013378306/article/details/69229919
  4. https://github.com/facebookresearch/faiss/wiki/Running-on-GPUs
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值