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。
父主题: 升级Faiss1.7.4常见问题