[关闭]
@CrazyHenry 2018-04-20T19:24:04.000000Z 字数 2445 阅读 2386

install faiss

hhhhfaiss


安装官方:https://github.com/facebookresearch/faiss/blob/master/INSTALL.md
OpenBlas:http://www.openblas.net/

1.查看安装的cuda版本

  1. cat /usr/local/cuda/version.txt
  2. 发现是7.5.18
  3. 查看机器型号
  4. lsb_release -a
  5. free -m
  6. df -h
  7. cat /proc/cpuinfo
  8. lspci | grep VGA
  9. #mem 127795

image_1cbcccfnn1up1pnnkt71e0ld3n9.png-185.8kB

image_1cbccdfm11dvq1qtc1h7jkq0utfm.png-21.5kB

2.尝试使用anaconda安装

  1. scp Anaconda3-5.1.0-Linux-x86_64.sh yingmin.li@yz-gpu023.hogpu.cc:/home/users/yingmin.li/install
  2. scp -r Anaconda3-5.1.0-Linux-x86_64.sh yingmin.li@yz-gpu023.hogpu.cc:/home/users/yingmin.li/install
  3. wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.1.0-Linux-x86_64.sh
  4. bash Anaconda3-5.1.0-Linux-x86_64.sh
  1. echo 'export PATH="/home/users/yingmin.li/anaconda3/bin:$PATH"' >> ~/.bashrc
  2. source ~/.bashrc

继续使用Ubuntu优化anaconda那一套即可。

安装mkl和numpy

  1. conda install mkl
  2. conda install numpy
  3. # CPU version only
  4. conda install faiss-cpu -c pytorch
  5. # Make sure you have CUDA installed before installing faiss-gpu, otherwise it falls back to CPU version
  6. conda install faiss-gpu -c pytorch# [DEFAULT]For CUDA8.0, comes with cudatoolkit8.0

疑问:查找机子上安装的是cuda7.5,直接使用这个安装应该用的是cudatoolkit8.0?

疑似还是需要源码编译。

3.尝试使用源码安装

  1. conda install mkl numpy openblas openmp

发现conda安装的openblas似乎不完整,换用其他方式安装。

4.安装openblas

  1. sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
  2. yum search openblas
  3. yum install openblas-devel #开发版

5.再次安装faiss成功

  1. cp example_makefile/Makefile.inc.Linux Makefile.inc #Makefile.inc用来辅助Makefile
  2. make

6.尝试在GPU机子上install CPU

因为openblas需要权限,因此可能只有采用源码安装方式。

  1. yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
  2. 确实需要权限

然而,GPU机子上都已经安装好了需要的软件源!而且openblas已经装好了!不需要再安装了!

  1. cp example_makefile/Makefile.inc.Linux makefile.inc #makefile.inc用来辅助Makefile,注意makefile.inc小写
  2. make

7测试demo

  1. scp sift.tar.gz yingmin.li@yz-gpu023.hogpu.cc:/home/users/yingmin.li/proj/faiss_proj/faiss
  2. tar -zxf sift.tar.gz
  3. mv sift sift1M
  4. make demos/sif..
  5. ./demos/demo_sift1M

image_1cbegs4ii1feh2318o21narsiv6m.png-436.6kB

8.install GPU版本

  1. cd gpu
  2. make -j10

test:

  1. make gpu/test/demo_ivfpq_indexing_gpu
  2. ./gpu/test/demo_ivfpq_indexing_gpu

发现缺少libcublas.so文件

  1. export PATH=$PATH:/usr/local/cuda-8.0/bin
  2. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64
  3. export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda-8.0/lib64
  4. source /etc/profile

以上似乎不持久:

  1. echo 'export PATH="/usr/local/cuda-8.0/bin:$PATH"' >> ~/.bashrc
  2. echo 'export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH"' >> ~/.bashrc
  3. echo 'export LIBRARY_PATH="/usr/local/cuda-8.0/lib64:$LIBRARY_PATH"' >> ~/.bashrc
  4. source ~/.bashrc

然后就可以了!

image_1cbego7vp1uakpubnui1d6919869.png-453.5kB

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注