Alibek Zhakubayev
|
5d9aae6ee8
|
Add faiss-gpu pip wheel packaging (#5131)
Summary:
Pull Request resolved: https://github.com/facebookresearch/faiss/pull/5131
Add pip wheel packaging for `faiss-gpu`, enabling `pip install faiss-gpu`
from PyPI. Builds GPU wheels for Linux x86_64, Python 3.10-3.13, with
CUDA 12.6 on manylinux_2_28.
**New files:**
- `pyproject-gpu.toml`: scikit-build-core config for faiss-gpu. Enables
CUDA GPU support, uses Dynamic Dispatch, OpenBLAS, and excludes CUDA
runtime libs (provided by nvidia-cuda-runtime-cu12 pip dependency).
- `.github/workflows/build-pip-gpu.yml`: CI workflow for GPU wheels using
cibuildwheel on GPU runners (4-core-ubuntu-gpu-t4).
- `tests/test_wheel_smoke_gpu.py`: GPU smoke tests validating GPU
detection, StandardGpuResources, GPU FlatL2/IP search, IVF+PQ on GPU,
CPU<->GPU transfer roundtrip, and GPU serialization.
**Modified files:**
- `python/__init__.py`: Added `_preload_gpu_libs()` to pre-load CUDA
shared libraries from pip packages before SWIG import. No-op on
CPU-only installs.
- `.github/workflows/build.yml`: Added `build-pip-gpu` workflow call.
- `tests/BUCK`: Added `test_wheel_smoke_gpu` target for Buck CI.
Reviewed By: junjieqi
Differential Revision: D97507525
fbshipit-source-id: f8b5fa08405aa53267e791c2c0d263e2d6190741
|
2026-05-28 10:46:55 -07:00 |
|