Fix swig vs. AVX2 (#1717)

Summary:
Towards https://github.com/facebookresearch/faiss/issues/1711. There's still a test [error](https://github.com/facebookresearch/faiss/issues/1711#issuecomment-787509873) that won't be picked up unless an AVX2-specific CI run is added.

Pull Request resolved: https://github.com/facebookresearch/faiss/pull/1717

Reviewed By: mdouze

Differential Revision: D26814113

Pulled By: beauby

fbshipit-source-id: c3e64a04c3afd1d354439a2c4a2edd611d2c6af8
This commit is contained in:
H. Vetinari 2021-03-04 03:43:07 -08:00 committed by Facebook GitHub Bot
parent 4314c5baa6
commit 0d7e5a8ba5
3 changed files with 8 additions and 2 deletions

View File

@ -10,6 +10,7 @@ set -e
# Build avx2 version.
cmake -B _build_python_${PY_VER}_avx2 \
-Dfaiss_ROOT=_libfaiss_avx2_stage/ \
-DFAISS_OPT_LEVEL=avx2 \
-DFAISS_ENABLE_GPU=ON \
-DCMAKE_BUILD_TYPE=Release \
-DPython_EXECUTABLE=$PYTHON \
@ -31,6 +32,6 @@ cmake --build _build_python_${PY_VER} -j $CPU_COUNT
# Build actual python module.
cp _build_python_${PY_VER}_avx2/swigfaiss.py _build_python_${PY_VER}/swigfaiss_avx2.py
cp _build_python_${PY_VER}_avx2/_swigfaiss.so _build_python_${PY_VER}/_swigfaiss_avx2.so
cp _build_python_${PY_VER}_avx2/_swigfaiss_avx2.so _build_python_${PY_VER}/_swigfaiss_avx2.so
cd _build_python_${PY_VER}/
$PYTHON setup.py install --single-version-externally-managed --record=record.txt --prefix=$PREFIX

View File

@ -10,6 +10,7 @@ set -e
# Build avx2 version.
cmake -B _build_python_${PY_VER}_avx2 \
-Dfaiss_ROOT=_libfaiss_avx2_stage/ \
-DFAISS_OPT_LEVEL=avx2 \
-DFAISS_ENABLE_GPU=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DPython_EXECUTABLE=$PYTHON \
@ -31,6 +32,6 @@ cmake --build _build_python_${PY_VER} -j $CPU_COUNT
# Build actual python module.
cp _build_python_${PY_VER}_avx2/swigfaiss.py _build_python_${PY_VER}/swigfaiss_avx2.py
cp _build_python_${PY_VER}_avx2/_swigfaiss.so _build_python_${PY_VER}/_swigfaiss_avx2.so
cp _build_python_${PY_VER}_avx2/_swigfaiss_avx2.so _build_python_${PY_VER}/_swigfaiss_avx2.so
cd _build_python_${PY_VER}/
$PYTHON setup.py install --single-version-externally-managed --record=record.txt --prefix=$PREFIX

View File

@ -61,6 +61,10 @@ swig_add_library(swigfaiss
SOURCES swigfaiss.swig
)
if(FAISS_OPT_LEVEL STREQUAL "avx2")
set_target_properties(swigfaiss PROPERTIES OUTPUT_NAME "swigfaiss_avx2")
endif()
if(NOT WIN32)
# NOTE: Python does not recognize the dylib extension.
set_target_properties(swigfaiss PROPERTIES SUFFIX .so)