升级Faiss后,IVFSQ算法train和add接口性能下降
问题现象
从Faiss 1.7.1版本升级到Faiss 1.7.4版本后,IVFSQ算法在设置useKmeansPP为false的情况下,train和add接口性能下降。
问题原因
在设置useKmeansPP为false的情况下,IVFSQ算法使用IndexFlat来进行CPU聚类。IndexFlat在Faiss 1.7.1版本中,使用了HeapResultHandler::add_results接口;在Faiss 1.7.4版本中,使用了新增的SingleBestResultHandler::add_results接口。前者使用了omp做性能加速,因而性能更好。
解决方案
在Faiss源码的SingleBestResultHandler::add_results接口中添加omp并重新编译安装,进行性能加速。
父主题: FAQ