1. 搭建环境

Ubuntu 22.04

faiss 1.7.3

  1. 依赖库(以下二选一)

1)openBLAS+Lopack

使用apt-get install 直接安装

2)intelMKL(官方推荐,但是对gcc,g++版本有要求)

使用apt-get install安装

  1. 编译

1)新建build目录

下载并进入faiss根目录

git clone https://github.com/facebookresearch/faiss.git
mkdir -p build

2)cmake编译

cmake -B build . -DFAISS_ENABLE_GPU=OFF -DFAISS_ENABLE_PYTHON=OFF -DBUILD_TESTING=ON -DCMAKE_BUILD_TYPE=Debug -DFAISS_OPT_LEVEL=avx2

参数详情见faiss/install.md

3)编译faiss

make -C build -j4 faiss
make -C build install

4)测试(需-DBUILD_TESTING=ON)

make -C build test
make -C build demo_imi_pq && ./build/demos/demo_imi_pq
  1. 过程中的问题

1)download googletest 错误

解决方法:

  1. cmake 编译时设置-DBUILD_TESTING=OFF

  1. 下载对应的googletest文件至本地,修改faiss/tests/CMakeLists.txt 45 lines下载目录为本地路径

2)debug

在需要调试的代码所在目录的CMakeLists.txt中添加

#SET(CMAKE_BUILD_TYPE "Debug")
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -g2 -ggdb") #debug模式下开启-g选项
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS}")

并设置编译参数为-DCMAKE_BUILD_TYPE=Debug

Logo

一站式 AI 云服务平台

更多推荐