Illegal instruction error during CGO execution over faiss_Index_train() for an IVF100,SQ8 index #3581
Replies: 4 comments
-
Hi @abhinavdangeti , 1) is it possible to see the exact dataset size and the parameters for training an index? 2) can this issue be always reproduced or is there a probability? 3) can you try running in a debug mode, will the issue persist or not? |
Beta Was this translation helpful? Give feedback.
-
Hi @alexanderguzhva , so it seems we've figured out the root cause for the SIGILL - not sure we entirely understand it just yet, but the problem had to do with how we were building openBLAS which is a BLAS implementation that is a dependency for FAISS. Now I know you recommend using Intel MKL's BLAS implementation for performance, but for a proof of concept we just used one that was already in our build eco system. We changed our compile instructions to follow |
Beta Was this translation helpful? Give feedback.
-
The test machine does not support avx2. Could that be the issue? Faiss needs that to be set at compile time (although it seems that your cmake command line does not set it). |
Beta Was this translation helpful? Give feedback.
-
@mdouze Hmm, believe the test machine does support avx2. |
Beta Was this translation helpful? Give feedback.
-
Summary
Platform
OS: Ubuntu 20.04
Faiss version: v1.7.4
Installed from: compiled by self
Faiss compilation options:
Running on:
Interface:
Reproduction instructions
Hello,
At Couchbase, we are exploring the possibility of embedding FAISS index' content into our Search indexes to support indexing and searching across vector content. Our Search service runs on GO, so we're using GO bindings (https://github.com/DataIntelligenceCrew/go-faiss) via CGO to talk to a pre-compiled FAISS C++ library.
The C++ library is compiled as an external library via cmake with instructions from Couchbase's CMakeLists, here's a flavor of that -
With this and a few other instructions - we've been able to compile all of Couchbase with FAISS successfully. However, on certain linux platforms - we see the search process panic-ing on SIGILLs, which seems somewhat indicative of something amiss while compiling FAISS ..
Can I get some guidance on or around this situation and if this is something that you've had to deal with before?
Related: DataIntelligenceCrew/go-faiss#23
Beta Was this translation helpful? Give feedback.
All reactions