Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
11 changes: 10 additions & 1 deletion .github/actions/build_cmake/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,19 @@ inputs:
description: 'Enable ROCm support.'
required: false
default: OFF
setup_conda:
description: 'Setup miniconda environment.'
required: false
default: 'true'
upload_artifacts:
description: 'Upload test artifacts. Prevents collisions when multiple jobs need to run build_cmake.'
required: false
default: 'true'
runs:
using: composite
steps:
- name: Setup miniconda
if: inputs.setup_conda == 'true'
uses: conda-incubator/setup-miniconda@v3
with:
python-version: '3.11'
Expand Down Expand Up @@ -186,7 +195,7 @@ runs:
FAISS_DISABLE_CPU_FEATURES=AVX2 LD_DEBUG=libs $CONDA/bin/python -c "import faiss" 2>&1 | grep faiss.so
LD_DEBUG=libs $CONDA/bin/python -c "import faiss" 2>&1 | grep faiss_avx2.so
- name: Upload test results
if: always()
if: inputs.upload_artifacts == 'true'
uses: actions/upload-artifact@v4
with:
name: test-results-arch=${{ runner.arch }}-opt=${{ inputs.opt_level }}-gpu=${{ inputs.gpu }}-cuvs=${{ inputs.cuvs }}-rocm=${{ inputs.rocm }}
Expand Down
215 changes: 109 additions & 106 deletions .github/workflows/build-pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,109 +38,112 @@ jobs:
uses: actions/checkout@v4
- name: Build and Test (cmake)
uses: ./.github/actions/build_cmake
linux-x86_64-AVX2-cmake:
name: Linux x86_64 AVX2 (cmake)
needs: linux-x86_64-cmake
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build and Test (cmake)
uses: ./.github/actions/build_cmake
with:
opt_level: avx2
linux-x86_64-AVX512-cmake:
name: Linux x86_64 AVX512 (cmake)
needs: linux-x86_64-cmake
runs-on: faiss-aws-m7i.large
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build and Test (cmake)
uses: ./.github/actions/build_cmake
with:
opt_level: avx512
linux-x86_64-AVX512_SPR-cmake:
name: Linux x86_64 AVX512_SPR (cmake)
needs: linux-x86_64-cmake
runs-on: faiss-aws-m7i.large
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build and Test (cmake)
uses: ./.github/actions/build_cmake
with:
opt_level: avx512_spr
linux-x86_64-GPU-cmake:
name: Linux x86_64 GPU (cmake)
needs: linux-x86_64-cmake
runs-on: 4-core-ubuntu-gpu-t4
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build and Test (cmake)
uses: ./.github/actions/build_cmake
with:
gpu: ON
linux-x86_64-GPU-w-CUVS-cmake:
name: Linux x86_64 GPU w/ cuVS (cmake)
needs: linux-x86_64-cmake
runs-on: 4-core-ubuntu-gpu-t4
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build and Test (cmake)
uses: ./.github/actions/build_cmake
with:
gpu: ON
cuvs: ON
linux-arm64-SVE-cmake:
name: Linux arm64 SVE (cmake)
needs: linux-x86_64-cmake
runs-on: faiss-aws-r8g.large
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build and Test (cmake)
uses: ./.github/actions/build_cmake
with:
opt_level: sve
env:
# Context: https://github.com/facebookresearch/faiss/wiki/Troubleshooting#surprising-faiss-openmp-and-openblas-interaction
OPENBLAS_NUM_THREADS: '1'
linux-x86_64-conda:
name: Linux x86_64 (conda)
needs: linux-x86_64-cmake
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
- name: Build and Package (conda)
uses: ./.github/actions/build_conda
windows-x86_64-conda:
name: Windows x86_64 (conda)
needs: linux-x86_64-cmake
runs-on: windows-2022
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
- name: Build and Package (conda)
uses: ./.github/actions/build_conda
linux-arm64-conda:
name: Linux arm64 (conda)
needs: linux-x86_64-cmake
runs-on: 2-core-ubuntu-arm
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
- name: Build and Package (conda)
uses: ./.github/actions/build_conda
index-io-backward-compatibility:
name: Index serialization backward compatibility
uses: ./.github/workflows/index-io-backward-compatibility.yml
# linux-x86_64-AVX2-cmake:
# name: Linux x86_64 AVX2 (cmake)
# needs: linux-x86_64-cmake
# runs-on: ubuntu-latest
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# - name: Build and Test (cmake)
# uses: ./.github/actions/build_cmake
# with:
# opt_level: avx2
# linux-x86_64-AVX512-cmake:
# name: Linux x86_64 AVX512 (cmake)
# needs: linux-x86_64-cmake
# runs-on: faiss-aws-m7i.large
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# - name: Build and Test (cmake)
# uses: ./.github/actions/build_cmake
# with:
# opt_level: avx512
# linux-x86_64-AVX512_SPR-cmake:
# name: Linux x86_64 AVX512_SPR (cmake)
# needs: linux-x86_64-cmake
# runs-on: faiss-aws-m7i.large
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# - name: Build and Test (cmake)
# uses: ./.github/actions/build_cmake
# with:
# opt_level: avx512_spr
# linux-x86_64-GPU-cmake:
# name: Linux x86_64 GPU (cmake)
# needs: linux-x86_64-cmake
# runs-on: 4-core-ubuntu-gpu-t4
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# - name: Build and Test (cmake)
# uses: ./.github/actions/build_cmake
# with:
# gpu: ON
# linux-x86_64-GPU-w-CUVS-cmake:
# name: Linux x86_64 GPU w/ cuVS (cmake)
# needs: linux-x86_64-cmake
# runs-on: 4-core-ubuntu-gpu-t4
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# - name: Build and Test (cmake)
# uses: ./.github/actions/build_cmake
# with:
# gpu: ON
# cuvs: ON
# linux-arm64-SVE-cmake:
# name: Linux arm64 SVE (cmake)
# needs: linux-x86_64-cmake
# runs-on: faiss-aws-r8g.large
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# - name: Build and Test (cmake)
# uses: ./.github/actions/build_cmake
# with:
# opt_level: sve
# env:
# # Context: https://github.com/facebookresearch/faiss/wiki/Troubleshooting#surprising-faiss-openmp-and-openblas-interaction
# OPENBLAS_NUM_THREADS: '1'
# linux-x86_64-conda:
# name: Linux x86_64 (conda)
# needs: linux-x86_64-cmake
# runs-on: ubuntu-latest
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# with:
# fetch-depth: 0
# fetch-tags: true
# - name: Build and Package (conda)
# uses: ./.github/actions/build_conda
# windows-x86_64-conda:
# name: Windows x86_64 (conda)
# needs: linux-x86_64-cmake
# runs-on: windows-2022
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# with:
# fetch-depth: 0
# fetch-tags: true
# - name: Build and Package (conda)
# uses: ./.github/actions/build_conda
# linux-arm64-conda:
# name: Linux arm64 (conda)
# needs: linux-x86_64-cmake
# runs-on: 2-core-ubuntu-arm
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# with:
# fetch-depth: 0
# fetch-tags: true
# - name: Build and Package (conda)
# uses: ./.github/actions/build_conda
Loading
Loading