编译faiss
编译faiss-1.10.0
首先确保自己cmake的版本:
cmake --version
确保其版本至少为CMake 3.24.0 or higher is required。
其次安装OpenBLAS:
https://github.com/OpenMathLib/OpenBLAS 去这里去安转Openblas内容,然后确保自己的CPU的指令集是存在AVX512的内容,之后使用下面的内容进行编译Openblas:
make clean
make -j$(nproc) TARGET=SKYLAKEX CC="gcc -mavx512f -mavx512cd -mavx512dq -mavx512bw -mavx512vl"
make PREFIX=$HOME/.local/openblas install
使用下面的内容进行Openblas验证,有输出就是安装成功。
nm $HOME/.local/openblas/lib/libopenblas.a | grep cblas_sgemm
下载相关的Boost内容:
进入到这里面:
https://github.com/boostorg/boost/releases?page=2,下载boost-1.81.0.tar.gz.
# 重新bootstrap(注意去掉 interprocess)
./bootstrap.sh --prefix=$HOME/.local/boost --with-libraries=system,thread,filesystem,serialization,program_options,regex,date_time,chrono,atomic,test# 然后编译+安装
./b2 install -j$(nproc)
ls $HOME/.local/boost/include/boost
ls $HOME/.local/boost/include/boost/interprocess
使用上面的内容进行检测,会发现提供一些目录,就表明安装boost成功。
进入到faiss-1.10.0目录下,
rm -rf build # 清理旧的
mkdir buildcmake -B build . \-DFAISS_ENABLE_GPU=OFF \-DFAISS_ENABLE_PYTHON=OFF \-DBUILD_TESTING=OFF \-DCMAKE_BUILD_TYPE=Debug \-DFAISS_ENABLE_C_API=ON \-DBUILD_SHARED_LIBS=ON \-DBLAS_LIBRARIES=$HOME/.local/openblas/lib/libopenblas.so \-DCMAKE_CXX_FLAGS="-I$HOME/.local/boost/include"cmake --build build -j$(nproc)
完成Faiss的编译过程。