diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index c3e36d4b..a97e523b 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,22 +8,10 @@ jobs: vmImage: ubuntu-latest strategy: matrix: - linux_64_cuda_compiler_version11.0cxx_compiler_version9: - CONFIG: linux_64_cuda_compiler_version11.0cxx_compiler_version9 + linux_64_: + CONFIG: linux_64_ UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cuda:11.0 - linux_64_cuda_compiler_version11.1cxx_compiler_version10: - CONFIG: linux_64_cuda_compiler_version11.1cxx_compiler_version10 - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cuda:11.1 - linux_64_cuda_compiler_version11.2cxx_compiler_version10: - CONFIG: linux_64_cuda_compiler_version11.2cxx_compiler_version10 - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cuda:11.2 - linux_64_cuda_compiler_versionNonecxx_compiler_version11: - CONFIG: linux_64_cuda_compiler_versionNonecxx_compiler_version11 - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cuda:11.8 timeoutInMinutes: 360 steps: diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 1f309833..a192c0b8 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -8,14 +8,8 @@ jobs: vmImage: windows-2019 strategy: matrix: - win_64_cuda_compiler_version10.2: - CONFIG: win_64_cuda_compiler_version10.2 - UPLOAD_PACKAGES: 'True' - win_64_cuda_compiler_version11.2: - CONFIG: win_64_cuda_compiler_version11.2 - UPLOAD_PACKAGES: 'True' - win_64_cuda_compiler_versionNone: - CONFIG: win_64_cuda_compiler_versionNone + win_64_: + CONFIG: win_64_ UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 variables: diff --git a/.ci_support/linux_64_cuda_compiler_version11.1cxx_compiler_version10.yaml b/.ci_support/linux_64_cuda_compiler_version11.8cxx_compiler_version10.yaml similarity index 91% rename from .ci_support/linux_64_cuda_compiler_version11.1cxx_compiler_version10.yaml rename to .ci_support/linux_64_cuda_compiler_version11.8cxx_compiler_version10.yaml index 6cc1a9d9..9909fc7a 100644 --- a/.ci_support/linux_64_cuda_compiler_version11.1cxx_compiler_version10.yaml +++ b/.ci_support/linux_64_cuda_compiler_version11.8cxx_compiler_version10.yaml @@ -7,13 +7,13 @@ channel_targets: cuda_compiler: - nvcc cuda_compiler_version: -- '11.1' +- '11.8' cxx_compiler: - gxx cxx_compiler_version: - '10' docker_image: -- quay.io/condaforge/linux-anvil-cuda:11.1 +- quay.io/condaforge/linux-anvil-cuda:11.8 libblas: - 3.9 *netlib liblapack: diff --git a/.ci_support/linux_64_cuda_compiler_version11.0cxx_compiler_version9.yaml b/.ci_support/linux_aarch64_cuda_compiler_version11.8cxx_compiler_version10.yaml similarity index 79% rename from .ci_support/linux_64_cuda_compiler_version11.0cxx_compiler_version9.yaml rename to .ci_support/linux_aarch64_cuda_compiler_version11.8cxx_compiler_version10.yaml index 7eefee4c..304591c8 100644 --- a/.ci_support/linux_64_cuda_compiler_version11.0cxx_compiler_version9.yaml +++ b/.ci_support/linux_aarch64_cuda_compiler_version11.8cxx_compiler_version10.yaml @@ -1,3 +1,7 @@ +BUILD: +- aarch64-conda_cos7-linux-gnu +cdt_arch: +- aarch64 cdt_name: - cos7 channel_sources: @@ -7,13 +11,13 @@ channel_targets: cuda_compiler: - nvcc cuda_compiler_version: -- '11.0' +- '11.8' cxx_compiler: - gxx cxx_compiler_version: -- '9' +- '10' docker_image: -- quay.io/condaforge/linux-anvil-cuda:11.0 +- quay.io/condaforge/linux-anvil-aarch64-cuda:11.8 libblas: - 3.9 *netlib liblapack: @@ -33,7 +37,7 @@ python: - 3.8.* *_cpython - 3.9.* *_cpython target_platform: -- linux-64 +- linux-aarch64 zip_keys: - - cxx_compiler_version - cuda_compiler_version diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_cuda_compiler_versionNonecxx_compiler_version11.yaml similarity index 100% rename from .ci_support/linux_aarch64_.yaml rename to .ci_support/linux_aarch64_cuda_compiler_versionNonecxx_compiler_version11.yaml diff --git a/.ci_support/linux_64_cuda_compiler_version11.2cxx_compiler_version10.yaml b/.ci_support/linux_ppc64le_cuda_compiler_version11.8cxx_compiler_version10.yaml similarity index 87% rename from .ci_support/linux_64_cuda_compiler_version11.2cxx_compiler_version10.yaml rename to .ci_support/linux_ppc64le_cuda_compiler_version11.8cxx_compiler_version10.yaml index 4908fc37..4d80084b 100644 --- a/.ci_support/linux_64_cuda_compiler_version11.2cxx_compiler_version10.yaml +++ b/.ci_support/linux_ppc64le_cuda_compiler_version11.8cxx_compiler_version10.yaml @@ -7,13 +7,13 @@ channel_targets: cuda_compiler: - nvcc cuda_compiler_version: -- '11.2' +- '11.8' cxx_compiler: - gxx cxx_compiler_version: - '10' docker_image: -- quay.io/condaforge/linux-anvil-cuda:11.2 +- quay.io/condaforge/linux-anvil-ppc64le-cuda:11.8 libblas: - 3.9 *netlib liblapack: @@ -33,7 +33,7 @@ python: - 3.8.* *_cpython - 3.9.* *_cpython target_platform: -- linux-64 +- linux-ppc64le zip_keys: - - cxx_compiler_version - cuda_compiler_version diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_cuda_compiler_versionNonecxx_compiler_version11.yaml similarity index 100% rename from .ci_support/linux_ppc64le_.yaml rename to .ci_support/linux_ppc64le_cuda_compiler_versionNonecxx_compiler_version11.yaml diff --git a/.ci_support/migrations/cuda_112_ppc64le_aarch64.yaml b/.ci_support/migrations/cuda_112_ppc64le_aarch64.yaml new file mode 100644 index 00000000..675a3815 --- /dev/null +++ b/.ci_support/migrations/cuda_112_ppc64le_aarch64.yaml @@ -0,0 +1,41 @@ +migrator_ts: 1645421738 +__migrator: + kind: + version + migration_number: + 1 + build_number: + 1 + paused: false + override_cbc_keys: + - cuda_compiler_stub + operation: key_add + check_solvable: false + primary_key: cuda_compiler_version + wait_for_migrators: + - aarch64 and ppc64le addition + exclude_pinned_pkgs: False + commit_message: "Rebuild for cuda for ppc64le and aarch64" + +arm_variant_type: # [aarch64] + - sbsa # [aarch64] + +c_compiler_version: # [ppc64le or aarch64] + - 10 # [ppc64le or aarch64] +cxx_compiler_version: # [ppc64le or aarch64] + - 10 # [ppc64le or aarch64] +fortran_compiler_version: # [ppc64le or aarch64] + - 10 # [ppc64le or aarch64] + +cuda_compiler_version: # [ppc64le or aarch64] + - 11.2 # [ppc64le or aarch64] + +cudnn: # [ppc64le or aarch64] + - 8 # [ppc64le or aarch64] + +cdt_name: # [ppc64le or aarch64] + - cos7 # [ppc64le or aarch64] + +docker_image: # [os.environ.get("BUILD_PLATFORM", "").startswith("linux") and (ppc64le or aarch64)] + - quay.io/condaforge/linux-anvil-ppc64le-cuda:11.2 # [ppc64le and os.environ.get("BUILD_PLATFORM") == "linux-ppc64le"] + - quay.io/condaforge/linux-anvil-aarch64-cuda:11.2 # [aarch64 and os.environ.get("BUILD_PLATFORM") == "linux-aarch64"] diff --git a/.travis.yml b/.travis.yml index 58a72eb8..649f4f53 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,12 +7,22 @@ language: generic matrix: include: - - env: CONFIG=linux_aarch64_ UPLOAD_PACKAGES=True PLATFORM=linux-aarch64 DOCKER_IMAGE=quay.io/condaforge/linux-anvil-aarch64 + - env: CONFIG=linux_aarch64_cuda_compiler_version11.2 UPLOAD_PACKAGES=True PLATFORM=linux-aarch64 DOCKER_IMAGE=quay.io/condaforge/linux-anvil-aarch64-cuda:11.2 os: linux arch: arm64 dist: focal - - env: CONFIG=linux_ppc64le_ UPLOAD_PACKAGES=True PLATFORM=linux-ppc64le DOCKER_IMAGE=quay.io/condaforge/linux-anvil-ppc64le + - env: CONFIG=linux_aarch64_cuda_compiler_version11.8 UPLOAD_PACKAGES=True PLATFORM=linux-aarch64 DOCKER_IMAGE=quay.io/condaforge/linux-anvil-aarch64-cuda:11.8 + os: linux + arch: arm64 + dist: focal + + - env: CONFIG=linux_ppc64le_cuda_compiler_version11.2 UPLOAD_PACKAGES=True PLATFORM=linux-ppc64le DOCKER_IMAGE=quay.io/condaforge/linux-anvil-ppc64le-cuda:11.2 + os: linux + arch: ppc64le + dist: focal + + - env: CONFIG=linux_ppc64le_cuda_compiler_version11.8 UPLOAD_PACKAGES=True PLATFORM=linux-ppc64le DOCKER_IMAGE=quay.io/condaforge/linux-anvil-ppc64le-cuda:11.8 os: linux arch: ppc64le dist: focal diff --git a/README.md b/README.md index 15126ff9..950e7c08 100644 --- a/README.md +++ b/README.md @@ -51,45 +51,38 @@ Current build status - + - + - + - + - + - - - @@ -100,24 +93,10 @@ Current build status - - - - - - - + @@ -134,7 +113,6 @@ Current release info | Name | Downloads | Version | Platforms | | --- | --- | --- | --- | | [![Conda Recipe](https://img.shields.io/badge/recipe-faiss-green.svg)](https://anaconda.org/conda-forge/faiss) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/faiss.svg)](https://anaconda.org/conda-forge/faiss) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/faiss.svg)](https://anaconda.org/conda-forge/faiss) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/faiss.svg)](https://anaconda.org/conda-forge/faiss) | -| [![Conda Recipe](https://img.shields.io/badge/recipe-faiss--cpu-green.svg)](https://anaconda.org/conda-forge/faiss-cpu) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/faiss-cpu.svg)](https://anaconda.org/conda-forge/faiss-cpu) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/faiss-cpu.svg)](https://anaconda.org/conda-forge/faiss-cpu) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/faiss-cpu.svg)](https://anaconda.org/conda-forge/faiss-cpu) | | [![Conda Recipe](https://img.shields.io/badge/recipe-faiss--gpu-green.svg)](https://anaconda.org/conda-forge/faiss-gpu) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/faiss-gpu.svg)](https://anaconda.org/conda-forge/faiss-gpu) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/faiss-gpu.svg)](https://anaconda.org/conda-forge/faiss-gpu) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/faiss-gpu.svg)](https://anaconda.org/conda-forge/faiss-gpu) | | [![Conda Recipe](https://img.shields.io/badge/recipe-faiss--proc-green.svg)](https://anaconda.org/conda-forge/faiss-proc) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/faiss-proc.svg)](https://anaconda.org/conda-forge/faiss-proc) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/faiss-proc.svg)](https://anaconda.org/conda-forge/faiss-proc) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/faiss-proc.svg)](https://anaconda.org/conda-forge/faiss-proc) | | [![Conda Recipe](https://img.shields.io/badge/recipe-libfaiss-green.svg)](https://anaconda.org/conda-forge/libfaiss) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libfaiss.svg)](https://anaconda.org/conda-forge/libfaiss) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libfaiss.svg)](https://anaconda.org/conda-forge/libfaiss) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libfaiss.svg)](https://anaconda.org/conda-forge/libfaiss) | @@ -150,16 +128,16 @@ conda config --add channels conda-forge conda config --set channel_priority strict ``` -Once the `conda-forge` channel has been enabled, `faiss, faiss-cpu, faiss-gpu, faiss-proc, libfaiss, libfaiss-avx2` can be installed with `conda`: +Once the `conda-forge` channel has been enabled, `faiss, faiss-gpu, faiss-proc, libfaiss, libfaiss-avx2` can be installed with `conda`: ``` -conda install faiss faiss-cpu faiss-gpu faiss-proc libfaiss libfaiss-avx2 +conda install faiss faiss-gpu faiss-proc libfaiss libfaiss-avx2 ``` or with `mamba`: ``` -mamba install faiss faiss-cpu faiss-gpu faiss-proc libfaiss libfaiss-avx2 +mamba install faiss faiss-gpu faiss-proc libfaiss libfaiss-avx2 ``` It is possible to list all of the versions of `faiss` available on your platform with `conda`: diff --git a/recipe/build-lib.sh b/recipe/build-lib.sh index 526fd5bd..52671b01 100644 --- a/recipe/build-lib.sh +++ b/recipe/build-lib.sh @@ -11,9 +11,21 @@ if [ ${cuda_compiler_version} != "None" ]; then # docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html#ptxas-options-gpu-name # docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html#gpu-feature-list - # the following are all the x86-relevant gpu arches; for building aarch64-packages, add: 53, 62, 72 - ARCHES=(52 60 61 70) - if [ $(version2int $cuda_compiler_version) -ge $(version2int "11.1") ]; then + + if [ "$(uname -m)" = "aarch64" ]; then + # For building aarch64-packages, add arches 53, 62, 72 + ARCHES=(52 53 60 61 62 70 72) + else + # Architectures for x86_64 + ARCHES=(52 60 61 70) + fi + + if [ $(version2int $cuda_compiler_version) -ge $(version2int "11.8") ]; then + # Hopper support for H100 (sm_90) needs cuda >= 11.8 + LATEST_ARCH=90 + # ARCHES does not contain LATEST_ARCH; see usage below + ARCHES=( "${ARCHES[@]}" 75 80 86) + elif [ $(version2int $cuda_compiler_version) -ge $(version2int "11.1") ]; then # Ampere support for GeForce 30 (sm_86) needs cuda >= 11.1 LATEST_ARCH=86 # ARCHES does not contain LATEST_ARCH; see usage below diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml new file mode 100644 index 00000000..bdc5fc66 --- /dev/null +++ b/recipe/conda_build_config.yaml @@ -0,0 +1,16 @@ +c_compiler_version: + - 10 +cxx_compiler_version: + - 10 +cuda_compiler_version: + - 11.8 +fortran_compiler_version: + - 10 +cudnn: + - 8 +cdt_name: + - cos7 +docker_image: + - quay.io/condaforge/linux-anvil-cuda:11.8 # [linux64 and cuda_compiler_version != "None"] + - quay.io/condaforge/linux-anvil-ppc64le-cuda:11.8 # [linux and ppc64le and cuda_compiler_version != "None"] + - quay.io/condaforge/linux-anvil-aarch64-cuda:11.8 # [linux and aarch64 and cuda_compiler_version != "None"] diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 98507c2e..dfeb2a89 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -92,7 +92,7 @@ source: - patches/0006-add-bigobj-to-swigfaiss-compile-options-on-windows.patch build: - number: 3 + number: 4 skip: true # [linux and cuda_compiler_version == "10.2"] # always crashes skip: true # [win and cuda_compiler_version in ("11.0", "11.1")]
VariantStatus
linux_64_cuda_compiler_version11.0cxx_compiler_version9linux_64 - variant + variant
linux_64_cuda_compiler_version11.1cxx_compiler_version10linux_aarch64_cuda_compiler_version11.2 - variant + variant
linux_64_cuda_compiler_version11.2cxx_compiler_version10linux_aarch64_cuda_compiler_version11.8 - variant + variant
linux_64_cuda_compiler_versionNonecxx_compiler_version11linux_ppc64le_cuda_compiler_version11.2 - variant + variant
linux_aarch64linux_ppc64le_cuda_compiler_version11.8 - variant - -
linux_ppc64le - - variant + variant
win_64_cuda_compiler_version10.2 - - variant - -
win_64_cuda_compiler_version11.2 - - variant - -
win_64_cuda_compiler_versionNonewin_64 - variant + variant