diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 2ab2b16..4ffc875 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -12,10 +12,18 @@ jobs: CONFIG: linux_64_cuda_compiler_version12.9 UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + linux_64_cuda_compiler_version13.0: + CONFIG: linux_64_cuda_compiler_version13.0 + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 linux_aarch64_cuda_compiler_version12.9: CONFIG: linux_aarch64_cuda_compiler_version12.9 UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + linux_aarch64_cuda_compiler_version13.0: + CONFIG: linux_aarch64_cuda_compiler_version13.0 + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 timeoutInMinutes: 360 variables: {} diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 28f4202..204da8d 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -11,6 +11,9 @@ jobs: win_64_cuda_compiler_version12.9: CONFIG: win_64_cuda_compiler_version12.9 UPLOAD_PACKAGES: 'True' + win_64_cuda_compiler_version13.0: + CONFIG: win_64_cuda_compiler_version13.0 + UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 variables: CONDA_BLD_PATH: D:\\bld\\ diff --git a/.ci_support/linux_64_cuda_compiler_version12.9.yaml b/.ci_support/linux_64_cuda_compiler_version12.9.yaml index 5719608..0d561c2 100644 --- a/.ci_support/linux_64_cuda_compiler_version12.9.yaml +++ b/.ci_support/linux_64_cuda_compiler_version12.9.yaml @@ -31,6 +31,7 @@ xz: zip_keys: - - c_compiler_version - cxx_compiler_version + - c_stdlib_version - cuda_compiler_version zlib: - '1' diff --git a/.ci_support/linux_64_cuda_compiler_version13.0.yaml b/.ci_support/linux_64_cuda_compiler_version13.0.yaml new file mode 100644 index 0000000..d9ceeaf --- /dev/null +++ b/.ci_support/linux_64_cuda_compiler_version13.0.yaml @@ -0,0 +1,37 @@ +c_compiler: +- gcc +c_compiler_version: +- '14' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.28' +cdt_name: +- conda +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- '13.0' +cudnn: +- '9' +cxx_compiler: +- gxx +cxx_compiler_version: +- '14' +docker_image: +- quay.io/condaforge/linux-anvil-x86_64:alma9 +target_platform: +- linux-64 +xz: +- '5' +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - c_stdlib_version + - cuda_compiler_version +zlib: +- '1' diff --git a/.ci_support/linux_aarch64_cuda_compiler_version12.9.yaml b/.ci_support/linux_aarch64_cuda_compiler_version12.9.yaml index 73585f5..6a90275 100644 --- a/.ci_support/linux_aarch64_cuda_compiler_version12.9.yaml +++ b/.ci_support/linux_aarch64_cuda_compiler_version12.9.yaml @@ -33,6 +33,7 @@ xz: zip_keys: - - c_compiler_version - cxx_compiler_version + - c_stdlib_version - cuda_compiler_version zlib: - '1' diff --git a/.ci_support/linux_aarch64_cuda_compiler_version13.0.yaml b/.ci_support/linux_aarch64_cuda_compiler_version13.0.yaml new file mode 100644 index 0000000..9781b2a --- /dev/null +++ b/.ci_support/linux_aarch64_cuda_compiler_version13.0.yaml @@ -0,0 +1,39 @@ +arm_variant_type: +- sbsa +c_compiler: +- gcc +c_compiler_version: +- '14' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.28' +cdt_name: +- conda +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- '13.0' +cudnn: +- '9' +cxx_compiler: +- gxx +cxx_compiler_version: +- '14' +docker_image: +- quay.io/condaforge/linux-anvil-x86_64:alma9 +target_platform: +- linux-aarch64 +xz: +- '5' +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - c_stdlib_version + - cuda_compiler_version +zlib: +- '1' diff --git a/.ci_support/migrations/cuda129.yaml b/.ci_support/migrations/cuda129.yaml index 6a49f06..5f26dbf 100644 --- a/.ci_support/migrations/cuda129.yaml +++ b/.ci_support/migrations/cuda129.yaml @@ -18,6 +18,7 @@ __migrator: - 12.8 - None - 12.9 + - 13.0 # to allow manual opt-in for CUDA 11.8, see # https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/7472 # must be last due to how cuda_compiler ordering in that migrator works @@ -44,6 +45,12 @@ __migrator: cuda_compiler_version: # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - 12.9 # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] +cuda_compiler_version_min: # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 12.9 # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +c_stdlib_version: # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 2.28 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + c_compiler_version: # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - 14 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] diff --git a/.ci_support/migrations/cuda130.yaml b/.ci_support/migrations/cuda130.yaml new file mode 100644 index 0000000..c1faa8f --- /dev/null +++ b/.ci_support/migrations/cuda130.yaml @@ -0,0 +1,57 @@ +migrator_ts: 1755016036 +__migrator: + operation: key_add + migration_number: + 1 + build_number: + 0 + paused: false + override_cbc_keys: + - cuda_compiler_stub + check_solvable: false + primary_key: cuda_compiler_version + ordering: + cuda_compiler_version: + - 12.4 + - 12.6 + - 12.8 + - None + - 12.9 + - 13.0 + # to allow manual opt-in for CUDA 11.8, see + # https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/7472 + # must be last due to how cuda_compiler ordering in that migrator works + - 11.8 + wait_for_migrators: + - cuda129 + commit_message: | + Upgrade to CUDA 13.0 + + CUDA 13.0 removed support for architectures before `sm_75`, and renamed `sm_101` to + `sm_110`. To build for these, maintainers will need to modify their existing list of + specified architectures (e.g. `CMAKE_CUDA_ARCHITECTURES`, `TORCH_CUDA_ARCH_LIST`, etc.) + for their package. + + Since CUDA 12.8, the conda-forge nvcc package now sets `CUDAARCHS` and + `TORCH_CUDA_ARCH_LIST` in its activation script to a string containing all + of the supported real architectures plus the virtual architecture of the + latest. Recipes for packages who use these variables to control their build + but do not want to build for all supported architectures will need to override + these variables in their build script. + + ref: https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#new-features + +cuda_compiler_version: # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 13.0 # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +c_stdlib_version: # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 2.28 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +c_compiler_version: # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 14 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +cxx_compiler_version: # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 14 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +fortran_compiler_version: # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 14 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] diff --git a/.ci_support/win_64_cuda_compiler_version13.0.yaml b/.ci_support/win_64_cuda_compiler_version13.0.yaml new file mode 100644 index 0000000..fa26908 --- /dev/null +++ b/.ci_support/win_64_cuda_compiler_version13.0.yaml @@ -0,0 +1,18 @@ +c_compiler: +- vs2022 +c_stdlib: +- vs +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- '13.0' +cudnn: +- '9' +cxx_compiler: +- vs2022 +target_platform: +- win-64 diff --git a/README.md b/README.md index f630490..1250e2b 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,13 @@ Current build status variant + + linux_64_cuda_compiler_version13.0 + + + variant + + linux_aarch64_cuda_compiler_version12.9 @@ -54,6 +61,13 @@ Current build status variant + + linux_aarch64_cuda_compiler_version13.0 + + + variant + + win_64_cuda_compiler_version12.9 @@ -61,6 +75,13 @@ Current build status variant + + win_64_cuda_compiler_version13.0 + + + variant + + diff --git a/recipe/meta.yaml b/recipe/meta.yaml index a175972..d6878c5 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "9.11.0.98" %} +{% set version = "9.12.0.46" %} {% set soname = version.split('.')[0] %} {% set majorminorpatch = '.'.join(version.split('.')[:3]) %} {% set platform = "linux-x86_64" %} # [linux64] @@ -13,9 +13,13 @@ package: source: url: https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/{{ platform }}/cudnn-{{ platform }}-{{ version }}_cuda12-archive.{{ extension }} # [(cuda_compiler_version or "").startswith("12")] - sha256: b60c8fad01fa1521d2e71ed38887b90478d7f07b3da49fd68ab118a9fee4da48 # [linux64 and (cuda_compiler_version or "").startswith("12")] - sha256: 5fcd6451d88a9d3b7facbc00481fa5e2bb15f2ca6dc6f86e0b2b201bc42ecd56 # [aarch64 and (cuda_compiler_version or "").startswith("12")] - sha256: 947988b49209d0d22c81809f20f8e7a703e9347d519317e1468e11fd70bb195a # [win and (cuda_compiler_version or "").startswith("12")] + url: https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/{{ platform }}/cudnn-{{ platform }}-{{ version }}_cuda13-archive.{{ extension }} # [(cuda_compiler_version or "").startswith("13")] + sha256: 21fad1b3a8a3db018868184b2082bd492633ae5101752432d655782bd108b19e # [linux64 and (cuda_compiler_version or "").startswith("12")] + sha256: ce92b4058d95c85959b822baa56389126a31678f5068b486523d1aa7f6490fcb # [linux64 and (cuda_compiler_version or "").startswith("13")] + sha256: af8c670f221bd0837c27452c1a88d31384b459e9dd0947818a06fbafdbef7f69 # [aarch64 and (cuda_compiler_version or "").startswith("12")] + sha256: 27d9e9c70a5f464ddbacd4fdd433f4e736d6f4b32387c111d77d33b583c46f26 # [aarch64 and (cuda_compiler_version or "").startswith("13")] + sha256: 47e83e940946a13d9707cbdde6886b8750110185354e8a3d9b5e9de52e4bec2e # [win and (cuda_compiler_version or "").startswith("12")] + sha256: 331393e15bb5efd0f4918e99cdd4f098d9e5fc534c58c10f8675b6967bbdc524 # [win and (cuda_compiler_version or "").startswith("13")] build: number: 0 @@ -30,8 +34,8 @@ outputs: # for each build variant. - name: cudnn build: - ignore_run_exports_from: - - {{ compiler('cuda') }} + ignore_run_exports: + - cuda-version # The run_exports is present on cudnn for backward compatibility run_exports: - {{ pin_subpackage("cudnn", max_pin="x") }} @@ -41,12 +45,10 @@ outputs: - {{ compiler('cxx') }} - {{ compiler('cuda') }} - {{ stdlib("c") }} - - arm-variant * {{ arm_variant_type }} # [aarch64] host: - cuda-version {{ cuda_compiler_version }} - {{ pin_subpackage("libcudnn-dev", exact=True) }} run: - - arm-variant * {{ arm_variant_type }} # [aarch64] - {{ pin_compatible("cuda-version", min_pin="x", max_pin="x") }} - {{ pin_subpackage("libcudnn-dev", exact=True) }} run_constrained: @@ -57,8 +59,8 @@ outputs: # Disable binary relocation to workaround patchelf issue # xref: https://github.com/NixOS/patchelf/issues/492 binary_relocation: false - ignore_run_exports_from: - - {{ compiler('cuda') }} + ignore_run_exports: + - cuda-version files: - lib/libcudnn*.so.* # [linux] - Library/bin/cudnn*.dll # [win] @@ -68,7 +70,6 @@ outputs: - {{ compiler('cxx') }} - {{ compiler('cuda') }} - {{ stdlib("c") }} - - arm-variant * {{ arm_variant_type }} # [aarch64] host: - cuda-version {{ cuda_compiler_version }} # For Windows, zlib is statically linked into CUDNN since version 9.2 @@ -76,11 +77,9 @@ outputs: # For Linux, zlib remains a dynamically linked dependency - zlib # [not win] run: - - arm-variant * {{ arm_variant_type }} # [aarch64] - {{ pin_compatible("cuda-version", min_pin="x", max_pin="x") }} - - cudatoolkit # [(cuda_compiler_version or "").startswith("11")] - - cuda-nvrtc # [(cuda_compiler_version or "").startswith("12")] - - libcublas # [(cuda_compiler_version or "").startswith("12")] + - cuda-nvrtc + - libcublas run_constrained: - libcudnn-jit <0a test: @@ -118,8 +117,8 @@ outputs: - name: libcudnn-dev build: - ignore_run_exports_from: - - {{ compiler('cuda') }} + ignore_run_exports: + - cuda-version run_exports: - {{ pin_subpackage("libcudnn", max_pin="x") }} files: @@ -133,12 +132,10 @@ outputs: - {{ compiler('cxx') }} - {{ compiler('cuda') }} - {{ stdlib("c") }} - - arm-variant * {{ arm_variant_type }} # [aarch64] host: - cuda-version {{ cuda_compiler_version }} - {{ pin_subpackage("libcudnn", exact=True) }} run: - - arm-variant * {{ arm_variant_type }} # [aarch64] - {{ pin_compatible("cuda-version", min_pin="x", max_pin="x") }} - {{ pin_subpackage("libcudnn", exact=True) }} run_constrained: @@ -195,21 +192,19 @@ outputs: # for each build variant. - name: cudnn-jit build: - skip: true # not shipping for v9.11 - ignore_run_exports_from: - - {{ compiler('cuda') }} + skip: true # [win] + ignore_run_exports: + - cuda-version requirements: build: - {{ compiler('c') }} - {{ compiler('cxx') }} - {{ compiler('cuda') }} - {{ stdlib("c") }} - - arm-variant * {{ arm_variant_type }} # [aarch64] host: - cuda-version {{ cuda_compiler_version }} - {{ pin_subpackage("libcudnn-jit-dev", exact=True) }} run: - - arm-variant * {{ arm_variant_type }} # [aarch64] - {{ pin_compatible("cuda-version", min_pin="x", max_pin="x") }} - {{ pin_subpackage("libcudnn-jit-dev", exact=True) }} run_constrained: @@ -217,12 +212,12 @@ outputs: - name: libcudnn-jit build: - skip: true # not shipping for v9.11 + skip: true # [win] # Disable binary relocation to workaround patchelf issue # xref: https://github.com/NixOS/patchelf/issues/492 binary_relocation: false - ignore_run_exports_from: - - {{ compiler('cuda') }} + ignore_run_exports: + - cuda-version files: - Library/bin/cudnn64_{{ soname }}.dll # [win] - Library/bin/cudnn_engines_runtime_compiled64_{{ soname }}.dll # [win] @@ -239,7 +234,6 @@ outputs: - {{ compiler('cxx') }} - {{ compiler('cuda') }} - {{ stdlib('c') }} - - arm-variant * {{ arm_variant_type }} # [aarch64] - patchelf >=0.12 # [linux] host: - cuda-version {{ cuda_compiler_version }} @@ -249,10 +243,8 @@ outputs: - zlib # [not win] run: - {{ pin_compatible("cuda-version", min_pin="x", max_pin="x") }} - - arm-variant * {{ arm_variant_type }} # [aarch64] - - cudatoolkit # [(cuda_compiler_version or "").startswith("11")] - - cuda-nvrtc # [(cuda_compiler_version or "").startswith("12")] - - libcublas # [(cuda_compiler_version or "").startswith("12")] + - cuda-nvrtc + - libcublas run_constrained: - libcudnn <0a test: @@ -277,9 +269,9 @@ outputs: - name: libcudnn-jit-dev build: - skip: true # not shipping for v9.11 - ignore_run_exports_from: - - {{ compiler('cuda') }} + skip: true # [win] + ignore_run_exports: + - cuda-version run_exports: - {{ pin_subpackage("libcudnn-jit", max_pin="x") }} files: @@ -300,12 +292,10 @@ outputs: - {{ compiler('cxx') }} - {{ compiler('cuda') }} - {{ stdlib("c") }} - - arm-variant * {{ arm_variant_type }} # [aarch64] host: - cuda-version {{ cuda_compiler_version }} - {{ pin_subpackage("libcudnn-jit", exact=True) }} run: - - arm-variant * {{ arm_variant_type }} # [aarch64] - {{ pin_compatible("cuda-version", min_pin="x", max_pin="x") }} - {{ pin_subpackage("libcudnn-jit", exact=True) }} run_constrained: