From e1d7706866927ff4d65c7d6535479076619e0fd9 Mon Sep 17 00:00:00 2001 From: jakirkham Date: Wed, 16 Aug 2023 17:32:09 -0700 Subject: [PATCH 1/3] Restart CUDA 12 migration with CUDA arch builds As all CUDA Linux builds are now on equal footing, fold the CUDA 12 arch migration into the CUDA 12 migration and restart it. That way the latest migrator can be retrieved. --- recipe/migrations/cuda120.yaml | 47 +++++++++++------- .../migrations/cuda120_ppc64le_aarch64.yaml | 49 ------------------- 2 files changed, 30 insertions(+), 66 deletions(-) delete mode 100644 recipe/migrations/cuda120_ppc64le_aarch64.yaml diff --git a/recipe/migrations/cuda120.yaml b/recipe/migrations/cuda120.yaml index 17b77c9cfb..f56a751d28 100644 --- a/recipe/migrations/cuda120.yaml +++ b/recipe/migrations/cuda120.yaml @@ -3,7 +3,7 @@ __migrator: kind: version migration_number: - 1 + 2 build_number: 1 paused: false @@ -37,14 +37,21 @@ __migrator: - 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 # [(linux64 or win) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - - 12.0 # [(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 @@ -55,26 +62,32 @@ __migrator: [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: # [linux64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - - cuda-nvcc # [linux64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] +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: # [linux64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - - 12.0 # [linux64 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: # [linux64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - - 12 # [linux64 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: # [linux64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - - 12 # [linux64 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: # [linux64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - - 12 # [linux64 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"] -cudnn: # [linux64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - - 8 # [linux64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] +cudnn: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 8 # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] -cdt_name: # [linux64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - - cos7 # [linux64 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/migrations/cuda120_ppc64le_aarch64.yaml b/recipe/migrations/cuda120_ppc64le_aarch64.yaml deleted file mode 100644 index 57adfe1cf1..0000000000 --- a/recipe/migrations/cuda120_ppc64le_aarch64.yaml +++ /dev/null @@ -1,49 +0,0 @@ -migrator_ts: 1683090168 -__migrator: - kind: - version - migration_number: - 1 - build_number: - 1 - # Pausing to start on CUDA 12.0 `x86_64` migrator first - paused: true - longterm: true - 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 12 on 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: # [ppc64le or aarch64] - - cuda-nvcc # [ppc64le or aarch64] -cuda_compiler_version: # [ppc64le or aarch64] - - 12.0 # [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)] - # 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"] From 78c9f054ac80e6338b63838cb0a665141c151e35 Mon Sep 17 00:00:00 2001 From: jakirkham Date: Wed, 23 Aug 2023 11:36:40 -0700 Subject: [PATCH 2/3] Note CUDA 12 w/arch in PR title & commit message --- recipe/migrations/cuda120.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/migrations/cuda120.yaml b/recipe/migrations/cuda120.yaml index f56a751d28..ce199103b8 100644 --- a/recipe/migrations/cuda120.yaml +++ b/recipe/migrations/cuda120.yaml @@ -53,7 +53,7 @@ __migrator: - 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 + 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 From 32df682e2af80f6057f0eb908bd5e6a23b86188d Mon Sep 17 00:00:00 2001 From: jakirkham Date: Wed, 23 Aug 2023 14:41:40 -0700 Subject: [PATCH 3/3] Drop `cudnn` from CUDA 12 migration Since `cudnn` is no longer in `zip_keys` with `cuda_compiler_version` and the version of `cudnn` used by CUDA 12 is the same as CUDA 11, go ahead and drop `cudnn` from the CUDA 12 migrator. It is not actually needed or used here. --- recipe/migrations/cuda120.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/recipe/migrations/cuda120.yaml b/recipe/migrations/cuda120.yaml index ce199103b8..49da33d77f 100644 --- a/recipe/migrations/cuda120.yaml +++ b/recipe/migrations/cuda120.yaml @@ -77,9 +77,6 @@ cxx_compiler_version: # [linux and os.environ.get("CF_CUDA_ENABLED", "F fortran_compiler_version: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - 12 # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] -cudnn: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - - 8 # [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"]