From 08f4bed1807238fb4d11a3b572afe416bfc3728e Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Thu, 9 Nov 2023 08:46:06 +0000 Subject: [PATCH 01/14] Rebuild for CUDA 12 w/arch support The transition to CUDA 12 SDK includes new packages for all CUDA libraries and build tools. Notably, the cudatoolkit package no longer exists, and packages should depend directly on the specific CUDA libraries (libcublas, libcusolver, etc) as needed. For an in-depth overview of the changes and to report problems [see this issue]( https://github.com/conda-forge/conda-forge.github.io/issues/1963 ). Please feel free to raise any issues encountered there. Thank you! :pray: --- .ci_support/migrations/cuda120.yaml | 90 +++++++++++++++++++++++++++++ recipe/meta.yaml | 2 +- 2 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 .ci_support/migrations/cuda120.yaml diff --git a/.ci_support/migrations/cuda120.yaml b/.ci_support/migrations/cuda120.yaml new file mode 100644 index 0000000..49da33d --- /dev/null +++ b/.ci_support/migrations/cuda120.yaml @@ -0,0 +1,90 @@ +migrator_ts: 1682985063 +__migrator: + kind: + version + migration_number: + 2 + build_number: + 1 + paused: false + override_cbc_keys: + - cuda_compiler_stub + operation: key_add + check_solvable: false + primary_key: cuda_compiler_version + ordering: + cxx_compiler_version: + - 9 + - 8 + - 7 + c_compiler_version: + - 9 + - 8 + - 7 + fortran_compiler_version: + - 9 + - 8 + - 7 + docker_image: + - quay.io/condaforge/linux-anvil-comp7 # [os.environ.get("BUILD_PLATFORM") == "linux-64"] + - quay.io/condaforge/linux-anvil-aarch64 # [os.environ.get("BUILD_PLATFORM") == "linux-aarch64"] + - quay.io/condaforge/linux-anvil-ppc64le # [os.environ.get("BUILD_PLATFORM") == "linux-ppc64le"] + - quay.io/condaforge/linux-anvil-armv7l # [os.environ.get("BUILD_PLATFORM") == "linux-armv7l"] + - quay.io/condaforge/linux-anvil-cuda:9.2 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] + - quay.io/condaforge/linux-anvil-cuda:10.0 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] + - quay.io/condaforge/linux-anvil-cuda:10.1 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] + - quay.io/condaforge/linux-anvil-cuda:10.2 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] + - quay.io/condaforge/linux-anvil-cuda:11.0 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] + - quay.io/condaforge/linux-anvil-cuda:11.1 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] + - quay.io/condaforge/linux-anvil-cuda:11.2 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] + # case: native compilation (build == target) + - 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"] + # case: cross-compilation (build != target) + - quay.io/condaforge/linux-anvil-cuda:11.2 # [ppc64le and os.environ.get("BUILD_PLATFORM") == "linux-64"] + - quay.io/condaforge/linux-anvil-cuda:11.2 # [aarch64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] + # case: non-CUDA builds + - quay.io/condaforge/linux-anvil-cos7-x86_64 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] + cuda_compiler_version: + - None + - 10.2 # [(linux64 or win) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 11.0 # [(linux64 or win) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 11.1 # [(linux64 or win) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 11.2 # [(linux or win) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 12.0 # [(linux or win) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + commit_message: | + Rebuild for CUDA 12 w/arch support + + The transition to CUDA 12 SDK includes new packages for all CUDA libraries and + build tools. Notably, the cudatoolkit package no longer exists, and packages + should depend directly on the specific CUDA libraries (libcublas, libcusolver, + etc) as needed. For an in-depth overview of the changes and to report problems + [see this issue]( https://github.com/conda-forge/conda-forge.github.io/issues/1963 ). + Please feel free to raise any issues encountered there. Thank you! :pray: + +cuda_compiler: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - cuda-nvcc # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +cuda_compiler_version: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 12.0 # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +c_compiler_version: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 12 # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +cxx_compiler_version: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 12 # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +fortran_compiler_version: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 12 # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +cdt_name: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - cos7 # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +docker_image: # [os.environ.get("BUILD_PLATFORM", "").startswith("linux-") and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - quay.io/condaforge/linux-anvil-cos7-x86_64 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64" and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + # case: native compilation (build == target) + - quay.io/condaforge/linux-anvil-ppc64le # [ppc64le and os.environ.get("BUILD_PLATFORM") == "linux-ppc64le"] + - quay.io/condaforge/linux-anvil-aarch64 # [aarch64 and os.environ.get("BUILD_PLATFORM") == "linux-aarch64"] + # case: cross-compilation (build != target) + - quay.io/condaforge/linux-anvil-cos7-x86_64 # [ppc64le and os.environ.get("BUILD_PLATFORM") == "linux-64"] + - quay.io/condaforge/linux-anvil-cos7-x86_64 # [aarch64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 5373a48..030d35a 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -18,7 +18,7 @@ source: - patches/0008-Search-for-libs-in-CONDA_PREFIX-instead-of-third_par.patch build: - number: 2 + number: 3 # TODO: windows support should be available from next version; # CPU-only support still under development skip: true # [win or cuda_compiler_version == "None" or cuda_compiler_version == "10.2"] From c10d0640c1c62cacad82094029e20484170019ed Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Thu, 9 Nov 2023 08:46:20 +0000 Subject: [PATCH 02/14] MNT: Re-rendered with conda-build 3.27.0, conda-smithy 3.28.0, and conda-forge-pinning 2023.11.08.21.35.56 --- .azure-pipelines/azure-pipelines-linux.yml | 16 ++++++++ ...piler_version12python3.10.____cpython.yaml | 40 +++++++++++++++++++ ...piler_version12python3.11.____cpython.yaml | 40 +++++++++++++++++++ ...mpiler_version12python3.8.____cpython.yaml | 40 +++++++++++++++++++ ...mpiler_version12python3.9.____cpython.yaml | 40 +++++++++++++++++++ README.md | 28 +++++++++++++ 6 files changed, 204 insertions(+) create mode 100644 .ci_support/linux_64_cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12python3.10.____cpython.yaml create mode 100644 .ci_support/linux_64_cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12python3.11.____cpython.yaml create mode 100644 .ci_support/linux_64_cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12python3.8.____cpython.yaml create mode 100644 .ci_support/linux_64_cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12python3.9.____cpython.yaml diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 6d0e351..e60c72f 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,6 +8,22 @@ jobs: vmImage: ubuntu-latest strategy: matrix: + linux_64_cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12python3.10.____cpython: + CONFIG: linux_64_cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12python3.10.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_64_cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12python3.11.____cpython: + CONFIG: linux_64_cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12python3.11.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_64_cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12python3.8.____cpython: + CONFIG: linux_64_cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12python3.8.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_64_cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12python3.9.____cpython: + CONFIG: linux_64_cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12python3.9.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 linux_64_cuda_compilernvcccuda_compiler_version11.2cxx_compiler_version10python3.10.____cpython: CONFIG: linux_64_cuda_compilernvcccuda_compiler_version11.2cxx_compiler_version10python3.10.____cpython UPLOAD_PACKAGES: 'True' diff --git a/.ci_support/linux_64_cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12python3.10.____cpython.yaml b/.ci_support/linux_64_cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12python3.10.____cpython.yaml new file mode 100644 index 0000000..c36ea2b --- /dev/null +++ b/.ci_support/linux_64_cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12python3.10.____cpython.yaml @@ -0,0 +1,40 @@ +cdt_name: +- cos7 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- '12.0' +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +libmlir: +- '14' +llvm: +- '14' +llvmdev: +- '14' +mlir: +- '14' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.10.* *_cpython +target_platform: +- linux-64 +zip_keys: +- - cxx_compiler_version + - cuda_compiler + - cuda_compiler_version + - cdt_name + - docker_image +zlib: +- '1.2' diff --git a/.ci_support/linux_64_cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12python3.11.____cpython.yaml b/.ci_support/linux_64_cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12python3.11.____cpython.yaml new file mode 100644 index 0000000..3e7b7fd --- /dev/null +++ b/.ci_support/linux_64_cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12python3.11.____cpython.yaml @@ -0,0 +1,40 @@ +cdt_name: +- cos7 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- '12.0' +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +libmlir: +- '14' +llvm: +- '14' +llvmdev: +- '14' +mlir: +- '14' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.11.* *_cpython +target_platform: +- linux-64 +zip_keys: +- - cxx_compiler_version + - cuda_compiler + - cuda_compiler_version + - cdt_name + - docker_image +zlib: +- '1.2' diff --git a/.ci_support/linux_64_cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12python3.8.____cpython.yaml b/.ci_support/linux_64_cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12python3.8.____cpython.yaml new file mode 100644 index 0000000..753fcf1 --- /dev/null +++ b/.ci_support/linux_64_cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12python3.8.____cpython.yaml @@ -0,0 +1,40 @@ +cdt_name: +- cos7 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- '12.0' +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +libmlir: +- '14' +llvm: +- '14' +llvmdev: +- '14' +mlir: +- '14' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.8.* *_cpython +target_platform: +- linux-64 +zip_keys: +- - cxx_compiler_version + - cuda_compiler + - cuda_compiler_version + - cdt_name + - docker_image +zlib: +- '1.2' diff --git a/.ci_support/linux_64_cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12python3.9.____cpython.yaml b/.ci_support/linux_64_cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12python3.9.____cpython.yaml new file mode 100644 index 0000000..f4410e0 --- /dev/null +++ b/.ci_support/linux_64_cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12python3.9.____cpython.yaml @@ -0,0 +1,40 @@ +cdt_name: +- cos7 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- '12.0' +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +libmlir: +- '14' +llvm: +- '14' +llvmdev: +- '14' +mlir: +- '14' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.9.* *_cpython +target_platform: +- linux-64 +zip_keys: +- - cxx_compiler_version + - cuda_compiler + - cuda_compiler_version + - cdt_name + - docker_image +zlib: +- '1.2' diff --git a/README.md b/README.md index f06d02e..df78a97 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,34 @@ Current build status