编译Faiss-gpu C++
基本介绍
使用Faiss版本【1.7.4】
该项目依赖于BLAS 组件 OpenBLAS 和 IntelMKL BLAS 【官方支持】
IntelMKL 会比 OpenBLAS 快的多。 【来自官方结论】
本机环境
Cuda :11.1
Cuda-Driver: 515
InterMKL: 2021.2.0
Faiss :1.7.4
注意:faiss仅适用于 CPU 的faiss-cpu
conda 软件包目前可在 Linux、OSX 和 Windows 上使用。包含faiss-gpu
CPU 和 GPU 索引,可在 Linux 系统上使用,适用于各种版本的 CUDA。【来自官方】
1. 安装InterMKL
使用apt安装
# 添加密钥
wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \ | gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null# 添加源
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list# 更新源
sudo apt update# 查找想要安装的版本
apt list -a intel-basekit# 安装InterMKL 2021版本
apt-get install intel-basekit=2021.2.0-2883 # 配置MKL-ROOT 环境变量
export MKL_ROOT=/opt/intel/oneapi/mkl/2021.0# 配置InterMKL运行的环境变量
source /opt/intel/oneapi/setvars.sh intel64
2.执行Cmake
执行Cmake 命令,python 请将 FAISS_ENABLE_PYTHON改为ON
cmake -B build
-DFAISS_ENABLE_GPU=ON
-DFAISS_ENABLE_PYTHON=OFF