-
Notifications
You must be signed in to change notification settings - Fork 567
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
Added Faiss #8572
base: master
Are you sure you want to change the base?
Added Faiss #8572
Conversation
Replaces #8483 |
7e7b18a
to
29ca836
Compare
5b63415
to
e8ac9ed
Compare
* Added mingw32 patch: To make posix_memalign etc. available on mingw32. * Dropped CUDA archs 60, 61 for CUDA 11.8+. * Update CMake wrt. CUDA arch detection: https://github.com/Kitware/CMake/blob/v3.23.3/Modules/CMakeDetermineCUDACompiler.cmake#L654 * Fixed CUDA cmake configure: Added symlink from $prefix/cuda/lib64 to $prefix/cuda/lib * Updated to v1.9.0 * Added header file products * Added additional patches for mingw32
e8ac9ed
to
70c112e
Compare
F/Faiss/Faiss_GPU/build_tarballs.jl
Outdated
include(joinpath(YGGDRASIL_DIR, "fancy_toys.jl")) | ||
include(joinpath(YGGDRASIL_DIR, "platforms", "cuda.jl")) | ||
|
||
name = "Faiss_GPU" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@maleadt Does it make more sense to name packages _CUDA
, rather than _GPU
?
There is also some level of AMD rocm support in faiss.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How is multiple GPU backends implemented in this package? One advantage to splitting AMD and CUDA into separate packages would be to avoid downloading both sets of dependencies when only one would be needed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's implemented via build flags (cf. below), so in addition to keeping dependencies separate, it makes a lot of sense with separate CUDA and AMD GPU/ROCM builds.
- GPU-related options:
-DCUDAToolkit_ROOT=/path/to/cuda-10.1
in order to hint to the path of
the CUDA toolkit (for more information, see
CMake docs),-DCMAKE_CUDA_ARCHITECTURES="75;72"
for specifying which GPU architectures
to build against (see CUDA docs to
determine which architecture(s) you should pick),-DFAISS_ENABLE_ROCM=ON
in order to enable building GPU indices for AMD GPUs.
-DFAISS_ENABLE_GPU
must beON
when using this option. (possible values areON
andOFF
),
Source: https://github.com/facebookresearch/faiss/blob/main/INSTALL.md#step-1-invoking-cmake
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have renamed Faiss_GPU to Faiss_CUDA
No description provided.