35 Commits

Author SHA1 Message Date
Michael Norris
189a9d4461 Fix build-release workflow (#4162)
Summary:
Pull Request resolved: https://github.com/facebookresearch/faiss/pull/4162

https://docs.github.com/en/actions/sharing-automations/reusing-workflows#using-inputs-and-secrets-in-a-reusable-workflow

Seems like we need `secrets` in the workflow and in the caller.

Reviewed By: asadoughi

Differential Revision: D68965899

fbshipit-source-id: 25580471c727d5ae86c4e7dd4c6ea72b388b1acf
2025-01-31 13:52:00 -08:00
Junjie Qi
0d568bc400 separare the github build into two conditions (#4066)
Summary: Pull Request resolved: https://github.com/facebookresearch/faiss/pull/4066

Reviewed By: asadoughi

Differential Revision: D66853917

Pulled By: junjieqi

fbshipit-source-id: 800b2f9f797bf19fa262f04f53e32cc2bef27db8
2024-12-05 19:15:14 -08:00
Tarang Jain
d1ae64e03c Updates to faiss-gpu-cuvs nightly pkg (#4032)
Summary:
Attempt to resolve existing issues in faiss-gpu-cuvs conda package (changes to conda build github actions).

Pull Request resolved: https://github.com/facebookresearch/faiss/pull/4032

Reviewed By: junjieqi

Differential Revision: D66427909

Pulled By: asadoughi

fbshipit-source-id: f2b61219ed62bf8487974a8c9feecc7d1faa6618
2024-11-24 21:31:00 -08:00
Tarang Jain
134922061c Migrate from RAFT to CUVS (#3549)
Summary:
Remove the dependency on `raft::compiled` and modify GPU implementations to use cuVS backend in place of RAFT.

A deeper insight into the dependency:
FAISS gets the ANN algorithm implementations such as IVF-Flat and IVF-PQ from cuVS. RAFT is meant to be a lightweight C++ header-only template library that cuVS relies on for the more fundamental / low-level utilities. Some examples of these are RAFT's device mdarray and mdspan objects; the RAFT resource object (`raft::resource`) that takes care of the stream ordering of device functions; linear algebra functions such as mapping, reduction, BLAS routines etc. A lot of the cuVS functions take the RAFT mdspan objects as arguments (for example `raft::device_matrix_view`). Therefore FAISS relies on both cuVS and RAFT. FAISS gets RAFT headers through cuVS and uses them to create the function arguments that can be consumed by cuVS. Note that we are not explicitly linking FAISS against `raft::raft` or `raft::compiled`. Only the required headers are included and compiled rather than compiling the whole RAFT shared library. This is the reason we still see mentions of `raft` in FAISS.

Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3549

Reviewed By: ramilbakhshyiev

Differential Revision: D62041013

Pulled By: asadoughi

fbshipit-source-id: 7230dcc06cf47baf95873adc1dec2adca4a8f82a
2024-11-14 11:30:16 -08:00
Amir Sadoughi
d243e62888 Updated conda CI label from staging to main, INSTALL.md (#3929)
Summary:
* Replaced 1.8.0 to 1.9.0.
* Fixed x86-64 architecture reference: https://en.wikipedia.org/wiki/X86-64

Tested with: `conda install -c pytorch/label/staging faiss-cpu`

Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3929

Reviewed By: ramilbakhshyiev

Differential Revision: D64082430

Pulled By: asadoughi

fbshipit-source-id: 8a1427a7c14b8c3de4a341533b138d9d8f8490f2
2024-10-09 08:26:22 -07:00
mengdilin
c5aed7c359 FIX SVE CI latency regression (#3918)
Summary:
Sometimes between Sept 25 to Oct 2, downloading and linking against `openblas=*=*openmp*` package to run tests have caused a 4-7x slow down. Link it with the regular openblas package which is not compiled with `USE_OPENMP=1`. We will set the openblas omp threads via the environment variable `OPENBLAS_NUM_THREADS` according to https://github.com/OpenMathLib/OpenBLAS/wiki/Faq#multi-threaded

Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3918

Test Plan: SVE CI should finish within 40 minutes

Reviewed By: ramilbakhshyiev

Differential Revision: D64059860

Pulled By: mengdilin

fbshipit-source-id: 3ba2bda5fce5122f051421f459692f15ad5360a4
2024-10-08 16:02:11 -07:00
Amir Sadoughi
092e2cdb3a Fix package upload for main releases (#3910)
Summary:
Similar to .github/workflows/nightly.yml

Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3910

Reviewed By: kuarora, pankajsingh88

Differential Revision: D63923478

Pulled By: asadoughi

fbshipit-source-id: df92a86ba48aa0d19aae40d7ca11aeedf4dfac51
2024-10-07 15:38:20 -07:00
Ramil Bakhshyiev
a56ee812a7 Containerize ROCm build and move it to AMD GPU runners (#3747)
Summary:
Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3747

This change converts the ROCm build to run inside containers and updates it to run on AMD GPU based runners. Still working with the AMD team to resolve test failures before enabled those.

Differential Revision: D61049115

fbshipit-source-id: 28274e0bde795f99b3d78711beaf9b3ed3c5e66c
2024-08-09 17:17:37 -07:00
Ramil Bakhshyiev
01317afae0 Add human readable names to PR build steps (#3739)
Summary: Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3739

Reviewed By: mengdilin

Differential Revision: D60978686

fbshipit-source-id: 28a886eaea8f1d2e75f5115fc7035e0b6e555ae0
2024-08-08 14:00:16 -07:00
gtwang01
e5f4647f15 Unpin gxx_linux-64 requirement (#3655)
Summary:
The TestPartitioning.TestPartitioningBigRange test case fails on gcc version 13.2. We can avoid this by requiring gcc version 11.2 where the test case works.

Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3655

Test Plan: Check github workflows and test branches

Reviewed By: ramilbakhshyiev

Differential Revision: D59988036

Pulled By: gtwang01

fbshipit-source-id: ae6d7f7888c9d7a2e59f557e05dbd4f318983668
2024-08-07 16:17:33 -07:00
Mengdi Lin
0b2328f0eb Turn on blocking build for AVX512 and SVE on GHA (#3717)
Summary:
Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3717

they have been running in shadow mode for quite some time now.
 I spot-checked the builds for the past 10 jobs and they all look good. Since `continue-on-error` will always mark a job as "green" even if it fails, I need a way to holistically verify these builds actually work reliably. Turning the builds to blocking to accomplish that.

Reviewed By: ramilbakhshyiev

Differential Revision: D60692521

fbshipit-source-id: 172a6362c672b0376c76559f12852110936756df
2024-08-02 15:11:00 -07:00
Ramil Bakhshyiev
4e2aead378 Enable ROCm in build-only mode (#3713)
Summary:
Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3713

Enable ROCm in CI

Reviewed By: asadoughi

Differential Revision: D60598458

fbshipit-source-id: f95d9a2b0b894c3f7272d4f1963d9230e1069bf8
2024-08-01 14:47:56 -07:00
Mengdi Lin
96d0781942 turn on SVE opt mode in CI (#3703)
Summary:
Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3703

Now that SVE PR has been merged, we can turn on SVE opt mode in CI

Reviewed By: ramilbakhshyiev

Differential Revision: D60457456

fbshipit-source-id: 053b1f8ac805afba9035095c5df811da05675a81
2024-07-30 14:48:12 -07:00
Ramil Bakhshyiev
fecabc268e Gate ARM SVE build behind base Linux build (#3701)
Summary:
Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3701

Gating ARM SVE behind the plain vanilla linux x64 build like all the other builds.

Reviewed By: mengdilin

Differential Revision: D60425535

fbshipit-source-id: f2e082fbaa6ea1e314ffe0e2e7260c8634cab989
2024-07-30 10:50:13 -07:00
mengdilin
34bbe5e540 Add ARM64 build to build_cmake actions for SVE (#3653)
Summary:
Add instructions to download arm64 specific conda dependencies and cmake command and run it on CI. This should prepare us to turn on CI with SVE optimization

Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3653

Reviewed By: ramilbakhshyiev

Differential Revision: D60043435

Pulled By: mengdilin

fbshipit-source-id: d81bb1c1022681c3da8f98bbf080d5e1d65d6b80
2024-07-26 17:27:39 -07:00
mengdilin
749163e1d0 Fix CI for AVX512 (#3649)
Summary:
With the refactoring diff landed in [D59650573](https://www.internalfb.com/diff/D59650573), we take in the instance type string for aws and register it as the label for the runner. There was a typo in the previous registration (`m7i.xlarge` instead of `m7i.large`). The refactoring diff fixed the typo from the runner registration side but we need to fix it on the CI side as well so CI can find the runners

Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3649

Test Plan: CI's AVX512 run on Github Action should succeed instead of stuck in pending

Reviewed By: ramilbakhshyiev

Differential Revision: D59916841

Pulled By: mengdilin

fbshipit-source-id: 5403e1a449ed765f0bf1a00e4a0d81d6c97463b9
2024-07-18 09:25:19 -07:00
mengdilin
f8217045dc Non-Blocking AVX512 Build on self-hosted github runner (#3602)
Summary:
Start beta-testing AVX512 Build on self-hosted github runner with label faiss-aws-m7i.xlarge. This build is non-blocking on the PRs right now (via the parameter `continue-on-error`)

Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3602

Reviewed By: ramilbakhshyiev

Differential Revision: D59290555

Pulled By: mengdilin

fbshipit-source-id: 6a82538bd44fecf4913885ac3b1999eb0fa52047
2024-07-02 12:48:42 -07:00
Ramil Bakhshyiev
93bc9b6470 Gate all PR builds behind linux-x86_64-cmake in GitHub Actions (#3476)
Summary:
Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3476

The long tail will still be the RAFT build but we can save on cost if the build has errors by incurring ~10m penalty added by waiting for the basic cmake build to complete. Both GPU and RAFT builds will start together so this will take less time overall to complete.

Reviewed By: algoriddle

Differential Revision: D57707298

fbshipit-source-id: 3589842e9bda9ebca9b25e089e6177fe96b6a0f5
2024-05-23 06:42:48 -07:00
Ramil Bakhshyiev
ee7ce21acd Add display names to all PR build jobs on GitHub Actions (#3475)
Summary:
Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3475

Migration to GitHub

Reviewed By: algoriddle

Differential Revision: D57707064

fbshipit-source-id: 17f0a97028007f3664faa5b6b2c269f50bcdf39e
2024-05-23 06:42:48 -07:00
Ramil Bakhshyiev
a60a9e56c6 Fix CUDA 11.4.4 builds under CircleCI (#3466)
Summary:
Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3466

Flattening Conda include directories breaks CUDA 11.4.4 build on Ubuntu 20 / v5 kernel. This change updates the logic to only flatten includes on Ubuntu 22 / v6 kernel (aka as running on GitHub Actions runners).

Reviewed By: algoriddle

Differential Revision: D57602154

fbshipit-source-id: 00c14ca7c64644b8b86483ac6b4d40c6d8f12372
2024-05-21 09:07:47 -07:00
Ramil Bakhshyiev
7fc81841a2 Relax version requirements for action steps (#3461)
Summary:
Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3461

Migration to GitHub Actions

Reviewed By: junjieqi

Differential Revision: D57545814

fbshipit-source-id: a3d08f8cf516ce26f8f16892eceef9e36bfe9f05
2024-05-20 12:50:08 -07:00
Ramil Bakhshyiev
86bf74dc0c Enable linux-x86_64-GPU-packages-CUDA-11-4-4 build via GitHub Actions (#3460)
Summary:
Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3460

Migration to GitHub Actions

Reviewed By: junjieqi

Differential Revision: D57545637

fbshipit-source-id: 8ee970e5642ae9354455d60d84019d4217884d3a
2024-05-20 12:50:08 -07:00
Ramil Bakhshyiev
72571c767d Enable both RAFT package builds and CUDA 12.1.1 GPU package build (#3441)
Summary:
Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3441

Migration to GitHub Actions

Reviewed By: junjieqi

Differential Revision: D57372738

fbshipit-source-id: 745b3c3f43c49045f8f5035e2af302ffa30d7755
2024-05-15 13:42:27 -07:00
Ramil Bakhshyiev
4d06d7069f Add disabled linux-x86_64-AVX512-cmake build on GitHub Actions (#3428)
Summary:
Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3428

GitHub Actions currently does not support runners with AVX-512  but committed to add this support in early 2025. We will be running these on CircleCI until then. This placeholder build configuration will allow us to enable it with a 1-liner when the hosts are available.

Reviewed By: algoriddle

Differential Revision: D57261783

fbshipit-source-id: 1fb985a0c3dbb11851af63c95bde6494d25d0ac2
2024-05-13 09:54:41 -07:00
Ramil Bakhshyiev
2e04533fe1 Enable linux-x86_64-GPU-cmake build on GitHub Actions (#3427)
Summary:
Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3427

Migration to GitHub Actions

Reviewed By: algoriddle

Differential Revision: D57261696

fbshipit-source-id: d7b8c26259fd3de1cf59fc460f6af20185ceacfe
2024-05-13 09:54:41 -07:00
Ramil Bakhshyiev
34fa2aeb72 Enable linux-x86_64-GPU-w-RAFT-cmake build via GitHub Actions (#3418)
Summary:
Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3418

Migration to GitHub Actions

Reviewed By: junjieqi

Differential Revision: D57133934

fbshipit-source-id: 255b7afbbb90cc966916cd900174833416b0bc51
2024-05-09 10:49:48 -07:00
Ramil Bakhshyiev
0cc0e19f9e Enable osx-arm64-packages build via GitHub Actions (#3411)
Summary:
Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3411

Migration to GitHub

Reviewed By: kuarora

Differential Revision: D56923116

fbshipit-source-id: 1e2b493b0dd81ce850f2970e6d28c713f6a9927b
2024-05-03 13:16:51 -07:00
Ramil Bakhshyiev
1b1a403bb6 Change linux-arm64-packages build to use 2-core-ubuntu-arm for better availability (#3410)
Summary:
Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3410

Migration to GitHub Actions

Reviewed By: junjieqi

Differential Revision: D56921925

fbshipit-source-id: 64e7a636b47d828110a6d413c8645e5343b578cb
2024-05-03 00:28:19 -07:00
Ramil Bakhshyiev
7b8b981318 Enable packages builds on main for windows, linux-arm64, linux-x86_64 via GitHub Actions (#3409)
Summary:
Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3409

Migration to GitHub Actions

Reviewed By: junjieqi

Differential Revision: D56917083

fbshipit-source-id: 93a2358ce5697b26aa40ced505f42c584fa8c46c
2024-05-02 20:49:59 -07:00
Ramil Bakhshyiev
96b88ac361 Enable linux-arm64-conda check via GitHub Actions (#3407)
Summary:
Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3407

Migration to GitHub Actions

Reviewed By: junjieqi

Differential Revision: D56856565

fbshipit-source-id: d7400eb9cb7bd68e93a712af81c6cbb7e76e2400
2024-05-01 17:25:17 -07:00
Ramil Bakhshyiev
74562b2a39 Enable windows-x86_64-conda build via GitHub Actions (#3406)
Summary:
Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3406

Migration to GitHub Actions

Reviewed By: junjieqi

Differential Revision: D56848895

fbshipit-source-id: 5a351534d9151369a9104314fee203657ac40043
2024-05-01 15:58:17 -07:00
Ramil Bakhshyiev
5fd8b810a4 Enable linux-x86_64-conda build via GitHub Actions (#3405)
Summary:
Pull Request resolved: https://github.com/facebookresearch/faiss/pull/3405

Migration to GitHub Actions

Reviewed By: junjieqi

Differential Revision: D56843276

fbshipit-source-id: 3d5c7ee9a36a783407dfdcc3574c377da5f9db78
2024-05-01 14:39:09 -07:00
Ramil Bakhshyiev
c92b4809ff Add format check
Summary: Migration to GitHub actions

Reviewed By: junjieqi

Differential Revision: D56745520

fbshipit-source-id: 5311a549842f19672ae574edaa8be3ea5a580dbc
2024-04-30 14:34:15 -07:00
Ramil Bakhshyiev
825cbac467 Add linux-x86_64-AVX2-cmake build
Summary: GitHub checks

Reviewed By: junjieqi

Differential Revision: D56733297

fbshipit-source-id: fe5a2ca7c67f36a4fe986af78fb6dc8f4f843150
2024-04-30 08:31:45 -07:00
Ramil Bakhshyiev
7e1d2b1f55 Initial config and linux-x86_64-cmake build job only
Summary:
This commit is the first in a series in an attempt to incrementally enable all jobs currenlty performed by CircleCI. It includes the main configuration files provided by GitHub team + 1 build.

Original PR: https://github.com/facebookresearch/faiss/pull/3325

Reviewed By: junjieqi

Differential Revision: D56671582

fbshipit-source-id: c8a21cd69aabaf86134eb86753e90b1facf51bc3
2024-04-29 10:48:52 -07:00