Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade CUVS to 24.12 #4021

Closed
wants to merge 241 commits into from
Closed
Changes from all commits
Commits
Show all changes
241 commits
Select commit Hold shift + click to select a range
753a109
start integration of cagra
divyegala Oct 5, 2023
6ce2467
merge upstream
divyegala Jan 23, 2024
f21c1f1
add public API layer
divyegala Jan 30, 2024
11c0c54
merge upstream
divyegala Jan 30, 2024
656f493
write tests, figure out a way to compare
divyegala Feb 1, 2024
de67ca6
Merge remote-tracking branch 'upstream/main' into raft-cagra
divyegala Feb 1, 2024
ed32954
passing tests
divyegala Feb 7, 2024
42ca862
remove cpp test file
divyegala Feb 7, 2024
2fdfc6f
Merge remote-tracking branch 'upstream/main' into raft-cagra
divyegala Feb 7, 2024
2c9e965
style check
divyegala Feb 7, 2024
2e434fe
add required methods
divyegala Feb 7, 2024
382c178
conditionally compile cagra
divyegala Feb 8, 2024
8675974
copyTo and copyFrom
divyegala Feb 14, 2024
c7fcf4a
style check
divyegala Feb 14, 2024
eae832d
Merge branch 'main' into raft-cagra-hnsw
divyegala Feb 14, 2024
4b76e5f
Merge branch 'main' into raft-cagra-hnsw
divyegala Feb 16, 2024
065f912
add read/write
divyegala Feb 20, 2024
301f429
Merge remote-tracking branch 'origin/raft-cagra-hnsw' into raft-cagra…
divyegala Feb 20, 2024
2b0ea76
add destructor
divyegala Feb 20, 2024
8c83bd2
destructor body, copyto reset
divyegala Feb 21, 2024
39fb35a
remove destructor
divyegala Feb 21, 2024
49e2610
move cmake sources around
divyegala Feb 21, 2024
11bf6b2
merge upstream
divyegala Feb 21, 2024
d4434bb
more protections for copying
divyegala Feb 21, 2024
ac65c2d
support default constructed IndexHnswCagra in copyTo
divyegala Feb 22, 2024
619c376
fix failing binary hnsw tests
divyegala Feb 22, 2024
e25f8a4
link faiss_gpu target to OpenMP
divyegala Feb 23, 2024
e835150
raft still can't find openmp
divyegala Feb 23, 2024
aeabe12
openmp flags and uint32 IndexType
divyegala Feb 26, 2024
4e80586
forgot conditional check in index_read
divyegala Feb 26, 2024
c4bcaba
minor changes
divyegala Mar 7, 2024
341a3fc
api change
divyegala Mar 7, 2024
0ae7702
Merge branch 'raft-api-changes' into raft-cagra-hnsw
divyegala Mar 7, 2024
172aa65
working python
divyegala Mar 20, 2024
0cd684e
compile option to swig
divyegala Mar 21, 2024
7ff8b3b
expose ivf pq params
divyegala Apr 3, 2024
66d236f
update comments style
divyegala Apr 22, 2024
f697eac
Merge remote-tracking branch 'upstream/main' into raft-cagra-hnsw
divyegala Apr 22, 2024
1d6e6b1
use raft::runtime where possible
divyegala Apr 22, 2024
4a01ad4
format
divyegala Apr 22, 2024
949e634
format properly
divyegala Apr 22, 2024
bccd54a
InnerProduct
divyegala Apr 30, 2024
320654c
Merge remote-tracking branch 'upstream/main' into raft-cagra-hnsw
divyegala Apr 30, 2024
2aaa6e9
passing ip tests
divyegala May 7, 2024
70b0ab8
address review
divyegala May 9, 2024
e5756cc
Merge remote-tracking branch 'upstream/main' into raft-cagra-hnsw
divyegala May 9, 2024
8f72ce4
Merge remote-tracking branch 'upstream/main' into raft-cagra-hnsw
divyegala May 14, 2024
4148fea
base level only search
divyegala May 21, 2024
c13bcff
Merge remote-tracking branch 'upstream/main' into raft-cagra-hnsw
divyegala May 21, 2024
24a555d
fix virtual functions and serialization
divyegala May 23, 2024
51227b1
invert conditional
divyegala May 23, 2024
579a301
debug msg
divyegala May 23, 2024
ae0b8ba
more debug prints
divyegala May 23, 2024
4170a3e
fix efSearch setting in base search
divyegala May 23, 2024
75808b1
re-negate ip distances in search_level
divyegala May 23, 2024
09fb95b
Merge remote-tracking branch 'upstream/main' into raft-cagra-hnsw
divyegala May 23, 2024
9bd1039
fix format
divyegala May 23, 2024
ea8028d
re-up minimum recall for base only IP distance
divyegala May 23, 2024
fc31351
add python tests
divyegala May 30, 2024
3e2d343
Merge remote-tracking branch 'upstream/main' into raft-cagra-hnsw
divyegala May 30, 2024
03ee1fb
ifdef guards in gpu cloner
divyegala May 30, 2024
2e9cbc8
option to exclude dataset store on index
divyegala Jun 6, 2024
826ed98
sys.big_endian to sys.byteorder (#3422)
kuarora May 30, 2024
4dcdff5
Adding buck target for experiment bench_fw_ivf (#3423)
kuarora May 31, 2024
756ad46
add skip_storage flag to HNSW (#3487)
mdouze May 31, 2024
c48fba3
Add cpp tutorial for index factory refine index construction (#3494)
Jun 5, 2024
66fd9ac
Update .gitignore (#3492)
abhiramvad Jun 5, 2024
4615b00
rebase on latest changes
tarang-jain Jun 25, 2024
2ce4b28
fix spurious include to land the cagra diff (#3502)
mdouze Jun 11, 2024
959cd49
add use_raft to knn_gpu (torch) (#3509)
algoriddle Jun 13, 2024
2d1e49a
Add conda bin to path early in the cmake GitHub action (#3512)
ramilbakhshyiev Jun 13, 2024
11d6ce4
typo in test_io_no_storage (#3515)
algoriddle Jun 13, 2024
a651593
Consolidate build environment configuration steps in cmake builds (#3…
ramilbakhshyiev Jun 14, 2024
6d7317d
fix Windows build - signed int OMP for MSVC (#3517)
algoriddle Jun 14, 2024
1e0e35e
Unbreak RAFT conda builds (#3519)
ramilbakhshyiev Jun 17, 2024
5109d96
Bump libraft to 24.06 to unblock nightly RAFT builds (#3522)
ramilbakhshyiev Jun 18, 2024
4e98f8f
Add ABS_INNER_PRODUCT metric (#3524)
mdouze Jun 18, 2024
bea7343
initial commit
tarang-jain Jun 25, 2024
45c4d49
Adding faiss bench_fw to bento faiss kernel (#3531)
kuarora Jun 21, 2024
c9e23ef
Refactor bench_fw to support train, build & search in parallel (#3527)
kuarora Jun 21, 2024
8d24404
Add SQ8bit signed quantization (#3501)
naveentatikonda Jun 24, 2024
702c3d2
rm build.sh
tarang-jain Jun 25, 2024
a918768
remove compilation issues
tarang-jain Jul 5, 2024
fb628eb
pull upstream
tarang-jain Jul 5, 2024
499cae4
include common header; change dependency to libcuvs
tarang-jain Jul 5, 2024
ca45475
variable names changed
tarang-jain Jul 9, 2024
14e830d
Merge branch 'main' of https://github.com/facebookresearch/faiss into…
tarang-jain Jul 9, 2024
45c42bb
ivf-pq tests pass
tarang-jain Jul 17, 2024
c89b8f3
Merge branch 'main' of https://github.com/facebookresearch/faiss into…
tarang-jain Jul 17, 2024
a0a9b40
update caps
tarang-jain Jul 17, 2024
0106e12
fix failing tests
tarang-jain Jul 19, 2024
b7943de
Merge branch 'main' of https://github.com/facebookresearch/faiss into…
tarang-jain Jul 19, 2024
57915d4
update CMake, tests
tarang-jain Jul 19, 2024
3393d33
update github actions; conda pkg
tarang-jain Jul 19, 2024
87e2e6c
formatting; update github actions
tarang-jain Jul 19, 2024
5dad218
format
tarang-jain Jul 19, 2024
245fe20
small change to error message
tarang-jain Jul 19, 2024
1fe434a
don't need to link against raft::raft
Jul 24, 2024
b63d543
rm build.sh
Jul 24, 2024
6edead6
Merge branch 'main' into cuvs-migrate
tarang-jain Jul 25, 2024
2d9ff7d
merge latest main
tarang-jain Jul 31, 2024
a598ecb
cleanup docs; merge latest main
tarang-jain Jul 31, 2024
5794259
Merge branch 'main' into cuvs-migrate
tarang-jain Jul 31, 2024
bd01b85
Merge branch 'main' into cuvs-migrate
tarang-jain Jul 31, 2024
8f5a065
merge latest main
Aug 20, 2024
f62ed13
rm RAFT mentions
Aug 20, 2024
171979e
update action.yml
Aug 20, 2024
68b3d2d
undo some merge changes
Aug 20, 2024
bd80b31
undo some merge changes
Aug 20, 2024
a9efc3f
updates after PR reviews
Aug 27, 2024
90ccb63
Merge branch 'main' of https://github.com/facebookresearch/faiss into…
Aug 27, 2024
8d4496a
rename test_raft.py
Aug 27, 2024
3deb1e1
resolve failing Cagra test
Aug 27, 2024
4fdea22
clang-format
Aug 27, 2024
bb9bd67
Merge branch 'main' into cuvs-migrate
tarang-jain Aug 27, 2024
f723d8c
fix compilation issues
tarang-jain Aug 27, 2024
74d1fa5
Merge branch 'main' of https://github.com/facebookresearch/faiss into…
Aug 29, 2024
5f61dab
Merge branch 'cuvs-migrate' of https://github.com/tarang-jain/faiss i…
Aug 29, 2024
0be00b8
Merge branch 'main' into cuvs-migrate
tarang-jain Aug 31, 2024
c6da21c
Merge branch 'cuvs-migrate' of https://github.com/tarang-jain/faiss i…
Aug 31, 2024
74e21ab
resolve bfknn test failures
tarang-jain Sep 5, 2024
4feff2a
Merge branch 'main' of https://github.com/facebookresearch/faiss into…
tarang-jain Sep 5, 2024
3e097ce
Delete build.sh
tarang-jain Sep 5, 2024
15f4218
Merge branch 'main' into cuvs-migrate
tarang-jain Sep 5, 2024
141bcb9
merge upstream main
tarang-jain Sep 11, 2024
337a74a
Apply suggestions from code review
tarang-jain Sep 11, 2024
62bf7f3
update stream; dont reset handle
tarang-jain Sep 11, 2024
c75a7cc
Merge branch 'cuvs-migrate' of https://github.com/tarang-jain/faiss i…
tarang-jain Sep 11, 2024
aae6cf2
resolve compilation error
tarang-jain Sep 11, 2024
4b84f46
do not link cutlass
tarang-jain Sep 16, 2024
8bd4793
Merge branch 'main' of https://github.com/facebookresearch/faiss into…
tarang-jain Sep 16, 2024
a6f1775
link raft::raft
tarang-jain Sep 17, 2024
3ccb6d6
Merge branch 'main' of https://github.com/facebookresearch/faiss into…
tarang-jain Sep 17, 2024
c1b959c
sconditionally fndinng raft
tarang-jain Sep 17, 2024
7024c0d
Trigger Build
tarang-jain Sep 17, 2024
f207def
change link order
tarang-jain Sep 17, 2024
42dc0b7
Merge branch 'main' into cuvs-migrate
tarang-jain Sep 17, 2024
7ac798d
endif()
tarang-jain Sep 17, 2024
64d424a
Merge branch 'main' of https://github.com/facebookresearch/faiss into…
tarang-jain Sep 17, 2024
e10a05e
Merge branch 'cuvs-migrate' of https://github.com/tarang-jain/faiss i…
tarang-jain Sep 17, 2024
93172cf
change installed libcuvs version in git actions
tarang-jain Sep 19, 2024
1b183c9
Merge branch 'main' into cuvs-migrate
tarang-jain Sep 20, 2024
2691b08
Merge branch 'main' into cuvs-migrate
tarang-jain Sep 20, 2024
d4851ab
Merge branch 'main' into cuvs-migrate
tarang-jain Sep 22, 2024
54df8fa
Merge branch 'main' into cuvs-migrate
tarang-jain Sep 30, 2024
dbde0f3
dbg test, update pinned cuvs
tarang-jain Oct 1, 2024
3c775f7
update action.yml
tarang-jain Oct 1, 2024
07f8945
merge main
tarang-jain Oct 1, 2024
1d10929
Merge branch 'cuvs-migrate' of https://github.com/tarang-jain/faiss i…
tarang-jain Oct 1, 2024
a179697
rm debug statements, restore torch tests
tarang-jain Oct 2, 2024
5d998da
Merge branch 'main' into cuvs-migrate
tarang-jain Oct 7, 2024
5509c49
remove find_package(raft)
tarang-jain Oct 7, 2024
c0629c6
Merge branch 'main' of https://github.com/facebookresearch/faiss into…
tarang-jain Oct 7, 2024
43f9c3f
Merge branch 'cuvs-migrate' of https://github.com/tarang-jain/faiss i…
tarang-jain Oct 7, 2024
4a2228c
make brute_force::search compatible with 24.10
tarang-jain Oct 7, 2024
d55c553
rm raft::raft linkage
tarang-jain Oct 7, 2024
ff1555c
rm merge conflict
tarang-jain Oct 7, 2024
31c91e6
downgrade cmake version
tarang-jain Oct 7, 2024
16e23bb
rm mentions of use_raft
tarang-jain Oct 8, 2024
f472eb4
empty commit
tarang-jain Oct 8, 2024
10344a1
do not symblink sys dependencies for cuvs
tarang-jain Oct 8, 2024
b28fd89
Merge branch 'main' of https://github.com/facebookresearch/faiss into…
tarang-jain Oct 8, 2024
b1bb9ba
update torch test
tarang-jain Oct 8, 2024
3229a38
revert
tarang-jain Oct 8, 2024
3eb6a56
glibc version
tarang-jain Oct 9, 2024
80bb89c
merge upstream
tarang-jain Oct 9, 2024
abfe7f4
install cmd
tarang-jain Oct 9, 2024
26a45f2
upgrade pkgs
tarang-jain Oct 9, 2024
265fc52
link omp in tests
tarang-jain Oct 9, 2024
209048a
Xcompiler
tarang-jain Oct 9, 2024
f045e8d
Merge branch 'cuvs-migrate' of https://github.com/tarang-jain/faiss i…
Oct 10, 2024
54e772c
add raft::raft to tests cmake
tarang-jain Oct 10, 2024
20b19df
Merge branch 'cuvs-migrate' of https://github.com/tarang-jain/faiss i…
Oct 10, 2024
4ba1389
update compile_options
tarang-jain Oct 11, 2024
5d82598
Merge branch 'main' of https://github.com/facebookresearch/faiss into…
tarang-jain Oct 11, 2024
19ddf28
downgrade to cuvs=24.08
tarang-jain Oct 11, 2024
0ab074a
action
tarang-jain Oct 12, 2024
fa6365b
Merge branch 'main' of https://github.com/facebookresearch/faiss into…
tarang-jain Oct 12, 2024
7ad8315
upgrade cmake with libcuvs=24.08
tarang-jain Oct 15, 2024
4e67ec0
Merge branch 'main' of https://github.com/facebookresearch/faiss into…
tarang-jain Oct 15, 2024
f3fb559
Merge branch 'main' into cuvs-migrate
tarang-jain Oct 15, 2024
7d52e98
merge upstream; add FIXME; rm raft::raft linkage
tarang-jain Oct 16, 2024
c23df0a
one more try with 24.10
tarang-jain Oct 16, 2024
468335f
Merge branch 'cuvs-migrate' of https://github.com/tarang-jain/faiss i…
tarang-jain Oct 16, 2024
b4989e6
one more try with 24.10
tarang-jain Oct 16, 2024
bb5cd83
rm std::nullopt
tarang-jain Oct 16, 2024
3361b44
revert changes to should_use_cuvs
tarang-jain Oct 17, 2024
4decfb4
pin gcc_linux-64 and sysroot_linux-64
tarang-jain Oct 21, 2024
6bbe302
Merge branch 'main' of https://github.com/facebookresearch/faiss into…
tarang-jain Oct 21, 2024
929a6d8
do not symlink system deps
tarang-jain Oct 22, 2024
48ba59d
put conda-forge before nvidia channel
tarang-jain Oct 22, 2024
04f32f9
merge upstream
tarang-jain Oct 22, 2024
d8ebaa3
set device scope in cagra train
tarang-jain Oct 25, 2024
06aace2
Merge branch 'main' of https://github.com/facebookresearch/faiss into…
tarang-jain Oct 25, 2024
d779cf2
unpin pkgs in action
tarang-jain Oct 25, 2024
38e14b4
pin cmake
tarang-jain Oct 25, 2024
ca7ed65
Merge branch 'cuvs-migrate' of https://github.com/tarang-jain/faiss i…
Oct 26, 2024
9de6563
specify conda-forge while install base deps
tarang-jain Oct 29, 2024
5577a4a
Merge branch 'main' of https://github.com/facebookresearch/faiss into…
tarang-jain Oct 29, 2024
0d0d7d3
install cmake from conda-forge
tarang-jain Oct 30, 2024
2bbdd15
rm conda-forge
tarang-jain Oct 30, 2024
281c2b6
only install cmake from conda-forge
tarang-jain Oct 30, 2024
bb68cf7
make from conda-forge
tarang-jain Oct 30, 2024
a8c2926
revert
tarang-jain Oct 30, 2024
b821972
debug failing cagra test
tarang-jain Nov 4, 2024
dd16e77
revert to 24.08
tarang-jain Nov 4, 2024
28ea578
Merge branch 'main' of https://github.com/facebookresearch/faiss into…
tarang-jain Nov 4, 2024
836a476
revert to 24.08
tarang-jain Nov 4, 2024
aa6e260
style
tarang-jain Nov 4, 2024
32bb62b
copyright
tarang-jain Nov 4, 2024
aa64371
StandardGpuResources
tarang-jain Nov 4, 2024
406dd79
Merge branch 'cuvs-migrate' of https://github.com/tarang-jain/faiss i…
Nov 5, 2024
af3bfcc
apply all changes to standardgpuresources
Nov 5, 2024
3fb67cc
rm build.sh
Nov 5, 2024
3e056ed
Merge branch 'main' of https://github.com/facebookresearch/faiss into…
Nov 5, 2024
1ca72f3
clear raft handles
tarang-jain Nov 6, 2024
efafe18
Merge branch 'main' of https://github.com/facebookresearch/faiss into…
tarang-jain Nov 6, 2024
cf5d46a
small change to test_gpu_index
tarang-jain Nov 6, 2024
ef22fa2
Merge branch 'main' of https://github.com/facebookresearch/faiss into…
tarang-jain Nov 6, 2024
85afe5f
pytorch precendence to conda-forge
tarang-jain Nov 7, 2024
4cc6397
do not link faiss_test to cuvs::cuvs
tarang-jain Nov 7, 2024
ceaec7c
copyright
tarang-jain Nov 7, 2024
6f667d5
global cmake downgrade
tarang-jain Nov 8, 2024
1eca6c9
rm conda-forge deps
tarang-jain Nov 8, 2024
fd9fc0c
pytorch-cuda from nvidia channel
tarang-jain Nov 8, 2024
3201ee6
remove label for nvidia channel
tarang-jain Nov 21, 2024
096a826
merge upstream
tarang-jain Nov 21, 2024
2e2b6cb
numpy<2
tarang-jain Nov 21, 2024
753fef7
pinned cuda-toolkit
tarang-jain Nov 21, 2024
869d7bf
syntax error
tarang-jain Nov 21, 2024
f48d53e
syntax error
tarang-jain Nov 21, 2024
2cf5278
rm nvidia channel label
tarang-jain Nov 21, 2024
9e0b028
rm nvidia channel label
tarang-jain Nov 21, 2024
3c54044
rapids cuda deps from conda-forge
tarang-jain Nov 22, 2024
784a8ea
rapids cuda deps from conda-forge
tarang-jain Nov 22, 2024
f310728
pull upstream, upgrade to 24.12
tarang-jain Dec 18, 2024
3b9c62e
Merge branch 'main' into cuvs-24.10
tarang-jain Dec 18, 2024
49eb31a
build pkg in workflow
tarang-jain Dec 19, 2024
7d4be1d
Merge branch 'cuvs-24.10' of https://github.com/tarang-jain/faiss int…
tarang-jain Dec 19, 2024
543fba8
uncomment cuvs cmake ci check
tarang-jain Dec 19, 2024
1eb5665
syntax
tarang-jain Dec 19, 2024
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
5 changes: 2 additions & 3 deletions .github/actions/build_cmake/action.yml
Original file line number Diff line number Diff line change
@@ -54,15 +54,14 @@ 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.08 cuda-version=12.4 cuda-toolkit=12.4.1 gxx_linux-64=12.4 -c rapidsai -c conda-forge -c "nvidia/label/cuda-12.4.0"
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
fi

# install test packages
if [ "${{ inputs.rocm }}" = "ON" ]; then
: # skip torch install via conda, we need to install via pip to get
# ROCm-enabled version until it's supported in conda by PyTorch
elif [ "${{ inputs.gpu }}" = "ON" ]; then
conda install -y -q "pytorch<2.5" pytorch-cuda=12.4 -c pytorch -c nvidia/label/cuda-12.4.0
conda install -y -q "pytorch<2.5" pytorch-cuda=12.4 -c pytorch -c "nvidia/label/cuda-12.4.0"
else
conda install -y -q "pytorch<2.5" -c pytorch
fi
4 changes: 2 additions & 2 deletions .github/actions/build_conda/action.yml
Original file line number Diff line number Diff line change
@@ -84,7 +84,7 @@ runs:
working-directory: conda
run: |
conda build faiss-gpu-cuvs --variants '{ "cudatoolkit": "${{ inputs.cuda }}" }' \
-c pytorch -c rapidsai -c rapidsai-nightly -c conda-forge
-c pytorch -c rapidsai -c rapidsai-nightly -c conda-forge -c nvidia
- name: Conda build (GPU w/ cuVS) w/ anaconda upload
if: inputs.label != '' && inputs.cuda != '' && inputs.cuvs != ''
shell: ${{ steps.choose_shell.outputs.shell }}
@@ -93,4 +93,4 @@ runs:
PACKAGE_TYPE: ${{ inputs.label }}
run: |
conda build faiss-gpu-cuvs --variants '{ "cudatoolkit": "${{ inputs.cuda }}" }' \
--user pytorch --label ${{ inputs.label }} -c pytorch -c rapidsai -c rapidsai-nightly -c conda-forge
--user pytorch --label ${{ inputs.label }} -c pytorch -c rapidsai -c rapidsai-nightly -c conda-forge -c nvidia
30 changes: 30 additions & 0 deletions .github/workflows/build-pull-request.yml
Original file line number Diff line number Diff line change
@@ -132,6 +132,36 @@ jobs:
fetch-tags: true
- name: Build and Package (conda)
uses: ./.github/actions/build_conda
linux-x86_64-GPU-CUVS-CUDA11-8-0-conda:
name: Linux x86_64 GPU w/ cuVS conda (CUDA 11.8.0)
runs-on: 4-core-ubuntu-gpu-t4
env:
CUDA_ARCHS: "70-real;72-real;75-real;80;86-real"
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
- uses: ./.github/actions/build_conda
with:
cuvs: "ON"
cuda: "11.8.0"
linux-x86_64-GPU-CUVS-CUDA12-4-0-conda:
name: Linux x86_64 GPU w/ cuVS conda (CUDA 12.4.0)
runs-on: 4-core-ubuntu-gpu-t4
env:
CUDA_ARCHS: "70-real;72-real;75-real;80;86-real"
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
- uses: ./.github/actions/build_conda
with:
cuvs: "ON"
cuda: "12.4.0"
windows-x86_64-conda:
name: Windows x86_64 (conda)
needs: linux-x86_64-cmake
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -6,7 +6,7 @@
# LICENSE file in the root directory of this source tree.

# =============================================================================
# Copyright (c) 2023, NVIDIA CORPORATION.
# Copyright (c) 2023-2024, NVIDIA CORPORATION.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
# in compliance with the License. You may obtain a copy of the License at
2 changes: 1 addition & 1 deletion cmake/thirdparty/fetch_rapids.cmake
Original file line number Diff line number Diff line change
@@ -15,7 +15,7 @@
# or implied. See the License for the specific language governing permissions and limitations under
# the License.
# =============================================================================
set(RAPIDS_VERSION "24.08")
set(RAPIDS_VERSION "24.12")

if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/FAISS_RAPIDS.cmake)
file(DOWNLOAD https://raw.githubusercontent.com/rapidsai/rapids-cmake/branch-${RAPIDS_VERSION}/RAPIDS.cmake
18 changes: 9 additions & 9 deletions conda/faiss-gpu-cuvs/meta.yaml
Original file line number Diff line number Diff line change
@@ -7,10 +7,10 @@
{% set suffix = "_nightly" if environ.get('PACKAGE_TYPE') == 'nightly' else "" %}
{% set number = GIT_DESCRIBE_NUMBER %}
{% if cudatoolkit == '11.8.0' %}
{% set cuda_constraints=">=11.8,<12" %}
{% set libcublas_constraints=">=11.11,<12" %}
{% set cuda_constraints=">=11.4,<12" %}
{% set libcublas_constraints=">=11.6,<12" %}
{% elif cudatoolkit == '12.4.0' %}
{% set cuda_constraints=">=12.1,<13" %}
{% set cuda_constraints=">=12.1,<12.5" %}
{% set libcublas_constraints=">=12.1,<13" %}
{% endif %}

@@ -45,7 +45,7 @@ outputs:
- CUDA_ARCHS
requirements:
build:
- {{ compiler('cxx') }}
- {{ compiler('cxx') }} =12.4
- sysroot_linux-64 =2.17 # [linux64]
- llvm-openmp # [osx]
- cmake >=3.26.4
@@ -58,15 +58,15 @@ outputs:
- _openmp_mutex =4.5=2_kmp_llvm # [x86_64]
- mkl =2023 # [x86_64]
- openblas =0.3 # [not x86_64]
- libcuvs =24.08
- cuda-version {{ cudatoolkit }}
- libcuvs =24.12
- cuda-version {{ cuda_constraints }}
run:
- _openmp_mutex =4.5=2_kmp_llvm # [x86_64]
- mkl =2023 # [x86_64]
- openblas =0.3 # [not x86_64]
- cuda-cudart {{ cuda_constraints }}
- libcublas {{ libcublas_constraints }}
- libcuvs =24.08
- libcuvs =24.12
- cuda-version {{ cuda_constraints }}
test:
requires:
@@ -86,10 +86,10 @@ outputs:
string: "py{{ PY_VER }}_h{{ PKG_HASH }}_{{ number }}_cuda{{ cudatoolkit }}{{ suffix }}"
requirements:
build:
- {{ compiler('cxx') }}
- {{ compiler('cxx') }} =12.4
- sysroot_linux-64 =2.17 # [linux64]
- swig =4.0
- cmake >=3.24.0
- cmake >=3.26.4
- make =4.2 # [not win]
- _openmp_mutex =4.5=2_kmp_llvm # [x86_64]
- mkl =2023 # [x86_64]
16 changes: 3 additions & 13 deletions faiss/gpu/GpuDistance.cu
Original file line number Diff line number Diff line change
@@ -6,7 +6,7 @@
* LICENSE file in the root directory of this source tree.
*/
/*
* Copyright (c) 2023, NVIDIA CORPORATION.
* Copyright (c) 2023-2024, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -320,12 +320,7 @@ void bfKnn(GpuResourcesProvider* prov, const GpuDistanceParams& args) {
cuvs::neighbors::brute_force::index<float> idx(
handle, index.view(), norms_view, distance, metric_arg);
cuvs::neighbors::brute_force::search(
handle,
idx,
search.view(),
inds.view(),
dists.view(),
std::nullopt);
handle, idx, search.view(), inds.view(), dists.view());
} else {
auto index = raft::make_readonly_temporary_device_buffer<
const float,
@@ -364,12 +359,7 @@ void bfKnn(GpuResourcesProvider* prov, const GpuDistanceParams& args) {
cuvs::neighbors::brute_force::index<float> idx(
handle, index.view(), norms_view, distance, metric_arg);
cuvs::neighbors::brute_force::search(
handle,
idx,
search.view(),
inds.view(),
dists.view(),
std::nullopt);
handle, idx, search.view(), inds.view(), dists.view());
}

if (args.metric == MetricType::METRIC_Lp) {
2 changes: 1 addition & 1 deletion faiss/gpu/GpuIndex.h
Original file line number Diff line number Diff line change
@@ -6,7 +6,7 @@
* LICENSE file in the root directory of this source tree.
*/
/*
* Copyright (c) 2023, NVIDIA CORPORATION.
* Copyright (c) 2023-2024, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
2 changes: 1 addition & 1 deletion faiss/gpu/GpuResources.cpp
Original file line number Diff line number Diff line change
@@ -6,7 +6,7 @@
* LICENSE file in the root directory of this source tree.
*/
/*
* Copyright (c) 2023, NVIDIA CORPORATION.
* Copyright (c) 2023-2024, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
2 changes: 1 addition & 1 deletion faiss/gpu/GpuResources.h
Original file line number Diff line number Diff line change
@@ -6,7 +6,7 @@
* LICENSE file in the root directory of this source tree.
*/
/*
* Copyright (c) 2023, NVIDIA CORPORATION.
* Copyright (c) 2023-2024, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
3 changes: 1 addition & 2 deletions faiss/gpu/impl/CuvsFlatIndex.cu
Original file line number Diff line number Diff line change
@@ -100,8 +100,7 @@ void CuvsFlatIndex::query(

cuvs::neighbors::brute_force::index idx(
handle, index, norms_view, distance, metricArg);
cuvs::neighbors::brute_force::search(
handle, idx, search, inds, dists, std::nullopt);
cuvs::neighbors::brute_force::search(handle, idx, search, inds, dists);

if (metric == MetricType::METRIC_Lp) {
raft::linalg::unary_op(
2 changes: 1 addition & 1 deletion faiss/gpu/test/TestGpuDistance.cu
Original file line number Diff line number Diff line change
@@ -6,7 +6,7 @@
* LICENSE file in the root directory of this source tree.
*/
/*
* Copyright (c) 2023, NVIDIA CORPORATION.
* Copyright (c) 2023-2024, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
2 changes: 1 addition & 1 deletion faiss/gpu/test/TestGpuIndexIVFFlat.cpp
Original file line number Diff line number Diff line change
@@ -6,7 +6,7 @@
* LICENSE file in the root directory of this source tree.
*/
/*
* Copyright (c) 2023, NVIDIA CORPORATION.
* Copyright (c) 2023-2024, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
3 changes: 2 additions & 1 deletion faiss/gpu/test/test_gpu_index.py
Original file line number Diff line number Diff line change
@@ -439,7 +439,6 @@ def test_indices_ivfpq(self):
xb_indices = (xb_indices_base + 4294967296).astype('int64')

config = faiss.GpuIndexIVFPQConfig()
config.use_cuvs = False
idx = faiss.GpuIndexIVFPQ(res, d, nlist, M, nbits,
faiss.METRIC_L2, config)
idx.train(xb)
@@ -450,6 +449,8 @@ def test_indices_ivfpq(self):

# Store values using 32-bit indices instead
config.indicesOptions = faiss.INDICES_32_BIT
# 32-bit indices are not supported with cuVS
config.use_cuvs = False
idx = faiss.GpuIndexIVFPQ(res, d, nlist, M, nbits,
faiss.METRIC_L2, config)
idx.train(xb)
1 change: 0 additions & 1 deletion tests/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -82,7 +82,6 @@ find_package(GTest CONFIG REQUIRED)
target_link_libraries(faiss_test PRIVATE
OpenMP::OpenMP_CXX
GTest::gtest_main
$<$<BOOL:${FAISS_ENABLE_CUVS}>:cuvs::cuvs>
$<$<BOOL:${FAISS_ENABLE_ROCM}>:hip::host>
)