Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
f89710d
Merge pull request #1 from facebookresearch/main
tarang-jain Jun 18, 2024
65d6ebe
Merge branch 'main' of https://github.com/facebookresearch/faiss
tarang-jain Oct 7, 2024
cdcda1a
Merge branch 'main' of https://github.com/facebookresearch/faiss
tarang-jain Oct 18, 2024
61d5629
Merge branch 'main' of https://github.com/facebookresearch/faiss
tarang-jain Nov 16, 2024
c3e805f
Merge branch 'main' of https://github.com/facebookresearch/faiss
tarang-jain Dec 10, 2024
5d675cc
Merge branch 'main' of https://github.com/facebookresearch/faiss
tarang-jain Jan 29, 2025
a1f87ec
Merge branch 'main' of https://github.com/facebookresearch/faiss
tarang-jain Feb 4, 2025
c6a5f51
update actions,cmake,nightly-docs
tarang-jain Feb 4, 2025
3b161c9
Merge branch 'main' into cuvs-2502
tarang-jain Feb 5, 2025
f055e58
Merge branch 'main' into cuvs-2502
tarang-jain Feb 10, 2025
38c32e2
pull upstream
tarang-jain Feb 11, 2025
95583ad
Merge branch 'cuvs-2502' of https://github.com/tarang-jain/faiss into…
tarang-jain Feb 11, 2025
e3c28c1
25.04
tarang-jain Feb 12, 2025
33d3895
Merge branch 'main' into cuvs-2502
tarang-jain Feb 18, 2025
7e1643b
Merge branch 'main' into cuvs-2502
tarang-jain Feb 20, 2025
1c95203
Merge branch 'main' into cuvs-2502
tarang-jain Mar 15, 2025
93cc0d6
upgrade cmake to 3.30.4
tarang-jain Mar 18, 2025
3f50406
merge upstream
tarang-jain Mar 18, 2025
f4d057a
Merge branch 'cuvs-2502' of https://github.com/tarang-jain/faiss into…
tarang-jain Mar 18, 2025
90bd94e
Merge branch 'main' into cuvs-2502
tarang-jain Mar 21, 2025
86951c5
shared_ptr
Mar 21, 2025
b20f249
trailing whitespace
tarang-jain Mar 31, 2025
d49378b
Merge branch 'main' of https://github.com/facebookresearch/faiss into…
tarang-jain Mar 31, 2025
ce54176
Merge branch 'cuvs-2502' of https://github.com/tarang-jain/faiss into…
tarang-jain Mar 31, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/actions/build_cmake/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ runs:
conda update -y -q conda
echo "$CONDA/bin" >> $GITHUB_PATH

conda install -y -q python=3.11 cmake=3.26 make=4.2 swig=4.0 "numpy<2" scipy=1.14 pytest=7.4 gflags=2.2
conda install -y -q python=3.11 cmake=3.30.4 make=4.2 swig=4.0 "numpy<2" scipy=1.14 pytest=7.4 gflags=2.2

# install base packages for ARM64
if [ "${{ runner.arch }}" = "ARM64" ]; then
Expand All @@ -61,7 +61,7 @@ runs:
conda install -y -q cuda-toolkit=12.4 -c "nvidia/label/cuda-12.4.0"
# and CUDA from cuVS channel for cuVS builds
elif [ "${{ inputs.cuvs }}" = "ON" ]; then
conda install -y -q libcuvs=24.12 'cuda-version>=12.0,<=12.5' cuda-toolkit=12.4.1 gxx_linux-64=12.4 -c rapidsai -c conda-forge
conda install -y -q libcuvs=25.04 'cuda-version>=12.0,<=12.5' cuda-toolkit=12.4.1 gxx_linux-64=12.4 -c rapidsai -c rapidsai-nightly -c conda-forge
fi

# install test packages
Expand Down
20 changes: 10 additions & 10 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,16 +34,16 @@ if(FAISS_ENABLE_GPU)
endif()

if(FAISS_ENABLE_CUVS)
include(cmake/thirdparty/fetch_rapids.cmake)
include(rapids-cmake)
include(rapids-cpm)
include(rapids-cuda)
include(rapids-export)
include(rapids-find)

rapids_cuda_init_architectures(faiss)
rapids_cuda_init_architectures(pyfaiss)
rapids_cuda_init_architectures(faiss_c_library)
include(cmake/thirdparty/fetch_rapids.cmake)
include(rapids-cmake)
include(rapids-cpm)
include(rapids-cuda)
include(rapids-export)
include(rapids-find)

rapids_cuda_init_architectures(faiss)
rapids_cuda_init_architectures(pyfaiss)
rapids_cuda_init_architectures(faiss_c_library)
endif()

project(faiss
Expand Down
8 changes: 3 additions & 5 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ pre-release nightly builds.

- The CPU-only faiss-cpu conda package is currently available on Linux (x86-64 and aarch64), OSX (arm64 only), and Windows (x86-64)
- faiss-gpu, containing both CPU and GPU indices, is available on Linux (x86-64 only) for CUDA 11.4 and 12.1
- faiss-gpu-cuvs [^1] package containing GPU indices provided by [NVIDIA cuVS](https://github.com/rapidsai/cuvs/) version 24.12, is available on Linux (x86-64 only) for CUDA 11.8 and 12.4.
- faiss-gpu-cuvs package containing GPU indices provided by [NVIDIA cuVS](https://github.com/rapidsai/cuvs/) version 24.12, is available on Linux (x86-64 only) for CUDA 11.8 and 12.4.

To install the latest stable release:

Expand Down Expand Up @@ -37,10 +37,10 @@ $ conda install -c pytorch/label/nightly faiss-cpu
$ conda install -c pytorch/label/nightly -c nvidia faiss-gpu=1.10.0

# GPU(+CPU) version with NVIDIA cuVS (package built with CUDA 12.4)
conda install -c pytorch -c rapidsai -c conda-forge -c nvidia pytorch/label/nightly::faiss-gpu-cuvs 'cuda-version>=12.0,<=12.5'
conda install -c pytorch -c rapidsai -c rapidsai-nightly -c conda-forge -c nvidia pytorch/label/nightly::faiss-gpu-cuvs 'cuda-version>=12.0,<=12.5'

# GPU(+CPU) version with NVIDIA cuVS (package built with CUDA 11.8)
conda install -c pytorch -c rapidsai -c conda-forge -c nvidia pytorch/label/nightly::faiss-gpu-cuvs 'cuda-version>=11.4,<=11.8'
conda install -c pytorch -c rapidsai -c rapidsai-nightly -c conda-forge -c nvidia pytorch/label/nightly::faiss-gpu-cuvs 'cuda-version>=11.4,<=11.8'

# GPU(+CPU) version using AMD ROCm not yet available
```
Expand Down Expand Up @@ -321,5 +321,3 @@ and you can run
$ python demos/demo_auto_tune.py
```
to test the GPU code.

[^1]: The vector search and clustering algorithms in NVIDIA RAFT have been formally migrated to [NVIDIA cuVS](https://github.com/rapidsai/cuvs). This package is being renamed to `faiss-gpu-cuvs` in the next stable release, which will use these GPU implementations from the pre-compiled `libcuvs=24.12` binary.
2 changes: 1 addition & 1 deletion cmake/thirdparty/fetch_rapids.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
# or implied. See the License for the specific language governing permissions and limitations under
# the License.
# =============================================================================
set(RAPIDS_VERSION "24.12")
set(RAPIDS_VERSION "25.04")

if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/FAISS_RAPIDS.cmake)
file(DOWNLOAD https://raw.githubusercontent.com/rapidsai/rapids-cmake/branch-${RAPIDS_VERSION}/RAPIDS.cmake
Expand Down
6 changes: 3 additions & 3 deletions conda/faiss-gpu-cuvs/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ outputs:
- {{ compiler('cxx') }} =12.4
- sysroot_linux-64 =2.17 # [linux64]
- llvm-openmp # [osx]
- cmake >=3.26.4
- cmake >=3.30.4
- make =4.2 # [not win]
- _openmp_mutex =4.5=2_kmp_llvm # [x86_64]
- mkl =2023 # [x86_64]
Expand All @@ -66,15 +66,15 @@ outputs:
- _openmp_mutex =4.5=2_kmp_llvm # [x86_64]
- mkl =2023 # [x86_64]
- openblas =0.3.29 # [not x86_64]
- libcuvs =24.12
- libcuvs =25.04
- cuda-version {{ cuda_constraints }}
run:
- _openmp_mutex =4.5=2_kmp_llvm # [x86_64]
- mkl =2023 # [x86_64]
- openblas =0.3.29 # [not x86_64]
- cuda-cudart {{ cuda_constraints }}
- libcublas {{ libcublas_constraints }}
- libcuvs =24.12
- libcuvs =25.04
- cuda-version {{ cuda_constraints }}
- libnvjitlink
test:
Expand Down
4 changes: 2 additions & 2 deletions faiss/gpu/GpuIndexCagra.h
Original file line number Diff line number Diff line change
Expand Up @@ -173,8 +173,8 @@ struct GpuIndexCagraConfig : public GpuIndexConfig {
/// Number of Iterations to run if building with NN_DESCENT
size_t nn_descent_niter = 20;

IVFPQBuildCagraConfig* ivf_pq_params = nullptr;
IVFPQSearchCagraConfig* ivf_pq_search_params = nullptr;
std::shared_ptr<IVFPQBuildCagraConfig> ivf_pq_params{nullptr};
std::shared_ptr<IVFPQSearchCagraConfig> ivf_pq_search_params{nullptr};
float refine_rate = 2.0f;
bool store_dataset = true;
};
Expand Down
Loading