You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am trying to run FAISS in IBM Power 8 system with P100 GPUs. I see that most of code is hardcoded to use Intel platform with SSE4 enabled. Are there any ways I could get this working without the help of SSE4? I see IndexHNSW files have SSE4 optimizations. Any means I can avoid file and get running?
Platform
IBM Power 8 with Nvidia P100 machines with Cuda 8.0
This is a good question. Sadly, by lack of a non-x64 dev platform we were dragged into writing non portable code.
However, all code that depends on SSE/popcount has a "slow" version that is written in generic c++. That code must be enabled, often manually in the current version.
In IndexHNSW, the only part that depends on SSE is the one handling PQ compressed HNSW which is a corner case use of HNSW. It can be safely commented out.
The function fvec_L2sqr is the most useful function for HNSW without compression, it is implemented in utils.cpp and the generic version is fvec_L2sqr_ref.
Summary
I am trying to run FAISS in IBM Power 8 system with P100 GPUs. I see that most of code is hardcoded to use Intel platform with SSE4 enabled. Are there any ways I could get this working without the help of SSE4? I see IndexHNSW files have SSE4 optimizations. Any means I can avoid file and get running?
Platform
IBM Power 8 with Nvidia P100 machines with Cuda 8.0
OS: Ubuntu 16.04LTS
Faiss version: 2dc30e1
Faiss compilation options: Not using MKL, SSE4 or Intel specific options
Running on:
Interface:
Reproduction instructions
Run it on IBM Machine.
The text was updated successfully, but these errors were encountered: