编译faiss

发布于:2025-05-07 ⋅ 阅读:(37) ⋅ 点赞:(0)

编译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 build

cmake -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的编译过程。
在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到