From 091f344a34224dd3e207e044ec0b464fc09f5723 Mon Sep 17 00:00:00 2001 From: Gergely Szilvasy Date: Thu, 18 Jan 2024 11:11:58 -0800 Subject: [PATCH] add gpu to avx512 (#3210) Summary: Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3210 Adds support for GPUs to the AVX512 binaries Reviewed By: mlomeli1 Differential Revision: D52874274 fbshipit-source-id: 6b10311f03007c47fe0d7690193591a393942bad --- faiss/gpu/CMakeLists.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/faiss/gpu/CMakeLists.txt b/faiss/gpu/CMakeLists.txt index 0ab6ff3cea..24bafe4917 100644 --- a/faiss/gpu/CMakeLists.txt +++ b/faiss/gpu/CMakeLists.txt @@ -242,10 +242,11 @@ if(FAISS_ENABLE_RAFT) impl/RaftFlatIndex.cuh) list(APPEND FAISS_GPU_SRC impl/RaftFlatIndex.cu - impl/RaftIVFFlat.cu) + impl/RaftIVFFlat.cu) target_compile_definitions(faiss PUBLIC USE_NVIDIA_RAFT=1) target_compile_definitions(faiss_avx2 PUBLIC USE_NVIDIA_RAFT=1) + target_compile_definitions(faiss_avx512 PUBLIC USE_NVIDIA_RAFT=1) endif() # Export FAISS_GPU_HEADERS variable to parent scope. @@ -253,6 +254,7 @@ set(FAISS_GPU_HEADERS ${FAISS_GPU_HEADERS} PARENT_SCOPE) target_sources(faiss PRIVATE ${FAISS_GPU_SRC}) target_sources(faiss_avx2 PRIVATE ${FAISS_GPU_SRC}) +target_sources(faiss_avx512 PRIVATE ${FAISS_GPU_SRC}) foreach(header ${FAISS_GPU_HEADERS}) get_filename_component(dir ${header} DIRECTORY ) @@ -276,9 +278,12 @@ __nv_relfatbin : { *(__nv_relfatbin) } ) target_link_options(faiss PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/fatbin.ld") target_link_options(faiss_avx2 PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/fatbin.ld") +target_link_options(faiss_avx512 PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/fatbin.ld") find_package(CUDAToolkit REQUIRED) target_link_libraries(faiss PRIVATE CUDA::cudart CUDA::cublas $<$:raft::raft> $<$:raft::compiled> $<$:nvidia::cutlass::cutlass>) target_link_libraries(faiss_avx2 PRIVATE CUDA::cudart CUDA::cublas $<$:raft::raft> $<$:raft::compiled> $<$:nvidia::cutlass::cutlass>) +target_link_libraries(faiss_avx512 PRIVATE CUDA::cudart CUDA::cublas $<$:raft::raft> $<$:raft::compiled> $<$:nvidia::cutlass::cutlass>) target_compile_options(faiss PRIVATE $<$:-Xfatbin=-compress-all --expt-extended-lambda --expt-relaxed-constexpr>) target_compile_options(faiss_avx2 PRIVATE $<$:-Xfatbin=-compress-all --expt-extended-lambda --expt-relaxed-constexpr>) +target_compile_options(faiss_avx512 PRIVATE $<$:-Xfatbin=-compress-all --expt-extended-lambda --expt-relaxed-constexpr>)