升级Faiss后,IVFSQT算法update接口性能下降

问题现象

从Faiss 1.7.1版本升级到Faiss 1.7.4版本后,IVFSQT算法在添加较大底库后,update接口性能下降。

问题原因

IVFSQT算法在添加较大底库后,update接口会使用IndexFlat来进行CPU聚类。IndexFlat在Faiss 1.7.1版本中,使用了exhaustive_L2sqr_seq接口;在Faiss 1.7.4版本中,exhaustive_L2sqr_seq添加了omp的线程数约束,导致了性能下降。

解决方案

在Faiss源码的exhaustive_L2sqr_seq接口中去掉omp的num_threads(nt)约束后,重新编译安装Faiss。