From 1d2f508b5abe96d8f60c2bad32ea9cbd1163744e Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Fri, 12 Sep 2025 01:10:45 +0000 Subject: [PATCH 1/5] Upgrade to CUDA 13.0 CUDA 13.0 requires architecture `sm_75` or higher, 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 > [[!IMPORTANT]] > Remember to update any CUDA 11/12 specific selector syntax in the recipe to include > CUDA 13. For example `# [(cuda_compiler_version or "None").startswith("12")]` > might be replaced with `# [cuda_compiler_version != "None"]`. --- .ci_support/migrations/cuda130.yaml | 62 +++++++++++++++++++++++++++++ recipe/meta.yaml | 2 +- 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 .ci_support/migrations/cuda130.yaml diff --git a/.ci_support/migrations/cuda130.yaml b/.ci_support/migrations/cuda130.yaml new file mode 100644 index 00000000..01d65a51 --- /dev/null +++ b/.ci_support/migrations/cuda130.yaml @@ -0,0 +1,62 @@ +migrator_ts: 1755016036 +__migrator: + operation: key_add + migration_number: + 1 + build_number: + 1 + 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 requires architecture `sm_75` or higher, 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 + + > [[!IMPORTANT]] + > Remember to update any CUDA 11/12 specific selector syntax in the recipe to include + > CUDA 13. For example `# [(cuda_compiler_version or "None").startswith("12")]` + > might be replaced with `# [cuda_compiler_version != "None"]`. + +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/recipe/meta.yaml b/recipe/meta.yaml index 13523e4d..2ad086fb 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set version = "0.7.0" %} -{% set build = 1 %} +{% set build = 2 %} {% if cuda_compiler_version != "None" %} {% set build = build + 200 %} From e4efba1d73fac0b1681eb38c15a60e8590cbcacc Mon Sep 17 00:00:00 2001 From: regro-cf-autotick-bot <36490558+regro-cf-autotick-bot@users.noreply.github.com> Date: Fri, 12 Sep 2025 01:11:53 +0000 Subject: [PATCH 2/5] MNT: Re-rendered with conda-smithy 3.52.2 and conda-forge-pinning 2025.09.11.23.09.5 --- ...er_version12.9python3.11.____cpython.yaml} | 0 ...er_version12.9python3.12.____cpython.yaml} | 0 ...iler_version12.9python3.13.____cp313.yaml} | 0 ...er_versionNonepython3.11.____cpython.yaml} | 0 ...er_versionNonepython3.12.____cpython.yaml} | 0 ...iler_versionNonepython3.13.____cp313.yaml} | 0 ...ler_version13.0python3.11.____cpython.yaml | 55 ++++++++++++++++++ ...ler_version13.0python3.12.____cpython.yaml | 55 ++++++++++++++++++ ...piler_version13.0python3.13.____cp313.yaml | 55 ++++++++++++++++++ ...er_versionNonepython3.11.____cpython.yaml} | 0 ...er_versionNonepython3.12.____cpython.yaml} | 0 ...iler_versionNonepython3.13.____cp313.yaml} | 0 .github/workflows/conda-build.yml | 53 ++++++++++------- README.md | 57 +++++++++++++------ 14 files changed, 238 insertions(+), 37 deletions(-) rename .ci_support/{linux_64_cuda_compiler_version12.9python3.11.____cpython.yaml => linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.11.____cpython.yaml} (100%) rename .ci_support/{linux_64_cuda_compiler_version12.9python3.12.____cpython.yaml => linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.12.____cpython.yaml} (100%) rename .ci_support/{linux_64_cuda_compiler_version12.9python3.13.____cp313.yaml => linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.13.____cp313.yaml} (100%) rename .ci_support/{linux_64_cuda_compiler_versionNonepython3.11.____cpython.yaml => linux_64_c_stdlib_version2.17cuda_compiler_versionNonepython3.11.____cpython.yaml} (100%) rename .ci_support/{linux_64_cuda_compiler_versionNonepython3.12.____cpython.yaml => linux_64_c_stdlib_version2.17cuda_compiler_versionNonepython3.12.____cpython.yaml} (100%) rename .ci_support/{linux_64_cuda_compiler_versionNonepython3.13.____cp313.yaml => linux_64_c_stdlib_version2.17cuda_compiler_versionNonepython3.13.____cp313.yaml} (100%) create mode 100644 .ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.11.____cpython.yaml create mode 100644 .ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.12.____cpython.yaml create mode 100644 .ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.13.____cp313.yaml rename .ci_support/{linux_aarch64_cuda_compiler_versionNonepython3.11.____cpython.yaml => linux_aarch64_c_stdlib_version2.17cuda_compiler_versionNonepython3.11.____cpython.yaml} (100%) rename .ci_support/{linux_aarch64_cuda_compiler_versionNonepython3.12.____cpython.yaml => linux_aarch64_c_stdlib_version2.17cuda_compiler_versionNonepython3.12.____cpython.yaml} (100%) rename .ci_support/{linux_aarch64_cuda_compiler_versionNonepython3.13.____cp313.yaml => linux_aarch64_c_stdlib_version2.17cuda_compiler_versionNonepython3.13.____cp313.yaml} (100%) diff --git a/.ci_support/linux_64_cuda_compiler_version12.9python3.11.____cpython.yaml b/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.11.____cpython.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_version12.9python3.11.____cpython.yaml rename to .ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.11.____cpython.yaml diff --git a/.ci_support/linux_64_cuda_compiler_version12.9python3.12.____cpython.yaml b/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.12.____cpython.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_version12.9python3.12.____cpython.yaml rename to .ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.12.____cpython.yaml diff --git a/.ci_support/linux_64_cuda_compiler_version12.9python3.13.____cp313.yaml b/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.13.____cp313.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_version12.9python3.13.____cp313.yaml rename to .ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.13.____cp313.yaml diff --git a/.ci_support/linux_64_cuda_compiler_versionNonepython3.11.____cpython.yaml b/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_versionNonepython3.11.____cpython.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_versionNonepython3.11.____cpython.yaml rename to .ci_support/linux_64_c_stdlib_version2.17cuda_compiler_versionNonepython3.11.____cpython.yaml diff --git a/.ci_support/linux_64_cuda_compiler_versionNonepython3.12.____cpython.yaml b/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_versionNonepython3.12.____cpython.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_versionNonepython3.12.____cpython.yaml rename to .ci_support/linux_64_c_stdlib_version2.17cuda_compiler_versionNonepython3.12.____cpython.yaml diff --git a/.ci_support/linux_64_cuda_compiler_versionNonepython3.13.____cp313.yaml b/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_versionNonepython3.13.____cp313.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_versionNonepython3.13.____cp313.yaml rename to .ci_support/linux_64_c_stdlib_version2.17cuda_compiler_versionNonepython3.13.____cp313.yaml diff --git a/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.11.____cpython.yaml b/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.11.____cpython.yaml new file mode 100644 index 00000000..9e9bfa8b --- /dev/null +++ b/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.11.____cpython.yaml @@ -0,0 +1,55 @@ +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 +github_actions_labels: +- cirun-openstack-cpu-large +libabseil: +- '20250127' +libgrpc: +- '1.71' +libprotobuf: +- 5.29.3 +nccl: +- '2' +numpy: +- '2' +openssl: +- '3' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.11.* *_cpython +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - c_stdlib_version + - cuda_compiler_version +zlib: +- '1' diff --git a/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.12.____cpython.yaml b/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.12.____cpython.yaml new file mode 100644 index 00000000..8a6ba894 --- /dev/null +++ b/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.12.____cpython.yaml @@ -0,0 +1,55 @@ +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 +github_actions_labels: +- cirun-openstack-cpu-large +libabseil: +- '20250127' +libgrpc: +- '1.71' +libprotobuf: +- 5.29.3 +nccl: +- '2' +numpy: +- '2' +openssl: +- '3' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.12.* *_cpython +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - c_stdlib_version + - cuda_compiler_version +zlib: +- '1' diff --git a/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.13.____cp313.yaml b/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.13.____cp313.yaml new file mode 100644 index 00000000..7ea4c24c --- /dev/null +++ b/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.13.____cp313.yaml @@ -0,0 +1,55 @@ +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 +github_actions_labels: +- cirun-openstack-cpu-large +libabseil: +- '20250127' +libgrpc: +- '1.71' +libprotobuf: +- 5.29.3 +nccl: +- '2' +numpy: +- '2' +openssl: +- '3' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.13.* *_cp313 +target_platform: +- linux-64 +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_versionNonepython3.11.____cpython.yaml b/.ci_support/linux_aarch64_c_stdlib_version2.17cuda_compiler_versionNonepython3.11.____cpython.yaml similarity index 100% rename from .ci_support/linux_aarch64_cuda_compiler_versionNonepython3.11.____cpython.yaml rename to .ci_support/linux_aarch64_c_stdlib_version2.17cuda_compiler_versionNonepython3.11.____cpython.yaml diff --git a/.ci_support/linux_aarch64_cuda_compiler_versionNonepython3.12.____cpython.yaml b/.ci_support/linux_aarch64_c_stdlib_version2.17cuda_compiler_versionNonepython3.12.____cpython.yaml similarity index 100% rename from .ci_support/linux_aarch64_cuda_compiler_versionNonepython3.12.____cpython.yaml rename to .ci_support/linux_aarch64_c_stdlib_version2.17cuda_compiler_versionNonepython3.12.____cpython.yaml diff --git a/.ci_support/linux_aarch64_cuda_compiler_versionNonepython3.13.____cp313.yaml b/.ci_support/linux_aarch64_c_stdlib_version2.17cuda_compiler_versionNonepython3.13.____cp313.yaml similarity index 100% rename from .ci_support/linux_aarch64_cuda_compiler_versionNonepython3.13.____cp313.yaml rename to .ci_support/linux_aarch64_c_stdlib_version2.17cuda_compiler_versionNonepython3.13.____cp313.yaml diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml index bf2b96b6..01db7771 100644 --- a/.github/workflows/conda-build.yml +++ b/.github/workflows/conda-build.yml @@ -21,55 +21,70 @@ jobs: fail-fast: false matrix: include: - - CONFIG: linux_64_cuda_compiler_version12.9python3.11.____cpython + - CONFIG: linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.11.____cpython UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_cuda_compiler_version12.9python_h9224ed27', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_stdlib_version2.17cuda_compil_h3747ab2d', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_64_cuda_compiler_version12.9python3.12.____cpython + - CONFIG: linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.12.____cpython UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_cuda_compiler_version12.9python_h33f95ef4', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_stdlib_version2.17cuda_compil_h86c3c167', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_64_cuda_compiler_version12.9python3.13.____cp313 + - CONFIG: linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.13.____cp313 UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_cuda_compiler_version12.9python_hd2594ab6', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_stdlib_version2.17cuda_compil_h88f978e6', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_64_cuda_compiler_versionNonepython3.11.____cpython + - CONFIG: linux_64_c_stdlib_version2.17cuda_compiler_versionNonepython3.11.____cpython UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_cuda_compiler_versionNonepython_h3c1a96fc', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_stdlib_version2.17cuda_compil_h25b83c4e', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_64_cuda_compiler_versionNonepython3.12.____cpython + - CONFIG: linux_64_c_stdlib_version2.17cuda_compiler_versionNonepython3.12.____cpython UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_cuda_compiler_versionNonepython_h7883cd14', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_stdlib_version2.17cuda_compil_hd2612ca0', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_64_cuda_compiler_versionNonepython3.13.____cp313 + - CONFIG: linux_64_c_stdlib_version2.17cuda_compiler_versionNonepython3.13.____cp313 UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_cuda_compiler_versionNonepython_h46731b07', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_stdlib_version2.17cuda_compil_hbb4dfae4', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_aarch64_cuda_compiler_versionNonepython3.11.____cpython + - CONFIG: linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.11.____cpython UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_aarch64_cuda_compiler_versionNonep_h61f3f778', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_stdlib_version2.28cuda_compil_h9cd8e738', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_aarch64_cuda_compiler_versionNonepython3.12.____cpython + - CONFIG: linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.12.____cpython UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_aarch64_cuda_compiler_versionNonep_h72ca1b73', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_stdlib_version2.28cuda_compil_h8d03b736', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_aarch64_cuda_compiler_versionNonepython3.13.____cp313 + - CONFIG: linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.13.____cp313 UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_aarch64_cuda_compiler_versionNonep_h35b9d921', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_stdlib_version2.28cuda_compil_h7b65d883', 'linux', 'x64', 'self-hosted'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_aarch64_c_stdlib_version2.17cuda_compiler_versionNonepython3.11.____cpython + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_aarch64_c_stdlib_version2.17cuda_c_h3eb98a43', 'linux', 'x64', 'self-hosted'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_aarch64_c_stdlib_version2.17cuda_compiler_versionNonepython3.12.____cpython + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_aarch64_c_stdlib_version2.17cuda_c_h50a48a7a', 'linux', 'x64', 'self-hosted'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_aarch64_c_stdlib_version2.17cuda_compiler_versionNonepython3.13.____cp313 + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_aarch64_c_stdlib_version2.17cuda_c_hb1d95a49', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 steps: - name: Checkout code - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - name: Build on Linux id: build-linux diff --git a/README.md b/README.md index 4e8599b1..7688977d 100644 --- a/README.md +++ b/README.md @@ -29,66 +29,87 @@ Current build status - + - + - + - + - + - + - + - + - + + + + + + + + + + From 785bb76efc5cb18ce4af81839c14041d536526ab Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 12 Sep 2025 10:46:14 +0200 Subject: [PATCH 3/5] handle CUDA 13 in build.sh mostly just indentation change --- recipe/build.sh | 53 ++++++++++++++++++++++++------------------------- 1 file changed, 26 insertions(+), 27 deletions(-) diff --git a/recipe/build.sh b/recipe/build.sh index 059a67d8..23107065 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -24,35 +24,34 @@ export CXXFLAGS="${CXXFLAGS} -DNDEBUG -Dabsl_nullable= -Dabsl_nonnull=" if [[ "${cuda_compiler_version:-None}" != "None" ]]; then if [[ ${cuda_compiler_version} == 12* ]]; then export HERMETIC_CUDA_COMPUTE_CAPABILITIES=sm_60,sm_70,sm_75,sm_80,sm_86,sm_89,sm_90,sm_100,sm_120,compute_120 - export CUDA_HOME="${BUILD_PREFIX}/targets/x86_64-linux" - export TF_CUDA_PATHS="${BUILD_PREFIX}/targets/x86_64-linux,${PREFIX}/targets/x86_64-linux" - # Needed for some nvcc binaries - export PATH=$PATH:${BUILD_PREFIX}/nvvm/bin - # XLA can only cope with a single cuda header include directory, merge both - rsync -a ${PREFIX}/targets/x86_64-linux/include/ ${BUILD_PREFIX}/targets/x86_64-linux/include/ - - # Although XLA supports a non-hermetic build, it still tries to find headers in the hermetic locations. - # We do this in the BUILD_PREFIX to not have any impact on the resulting jaxlib package. - # Otherwise, these copied files would be included in the package. - rm -rf ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party - mkdir -p ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/gpus/cuda/extras/CUPTI - cp -r ${PREFIX}/targets/x86_64-linux/include ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/gpus/cuda/ - cp -r ${PREFIX}/targets/x86_64-linux/include ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/gpus/cuda/extras/CUPTI/ - mkdir -p ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/gpus/cudnn - cp ${PREFIX}/include/cudnn*.h ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/gpus/cudnn/ - mkdir -p ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/nccl - cp ${PREFIX}/include/nccl*.h ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/nccl/ - export LOCAL_CUDA_PATH="${BUILD_PREFIX}/targets/x86_64-linux" - export LOCAL_CUDNN_PATH="${PREFIX}/targets/x86_64-linux" - export LOCAL_NCCL_PATH="${PREFIX}/targets/x86_64-linux" - mkdir -p ${BUILD_PREFIX}/targets/x86_64-linux/bin - test -f ${BUILD_PREFIX}/targets/x86_64-linux/bin/ptxas || ln -s $(which ptxas) ${BUILD_PREFIX}/targets/x86_64-linux/bin/ptxas - test -f ${BUILD_PREFIX}/targets/x86_64-linux/bin/nvlink || ln -s $(which nvlink) ${BUILD_PREFIX}/targets/x86_64-linux/bin/nvlink - test -f ${BUILD_PREFIX}/targets/x86_64-linux/bin/fatbinary || ln -s $(which fatbinary) ${BUILD_PREFIX}/targets/x86_64-linux/bin/fatbinary else - echo "unsupported cuda version." - exit 1 + export HERMETIC_CUDA_COMPUTE_CAPABILITIES=sm_75,sm_80,sm_86,sm_89,sm_90,sm_100,sm_110,sm_120,compute_120 fi + export CUDA_HOME="${BUILD_PREFIX}/targets/x86_64-linux" + export TF_CUDA_PATHS="${BUILD_PREFIX}/targets/x86_64-linux,${PREFIX}/targets/x86_64-linux" + # Needed for some nvcc binaries + export PATH=$PATH:${BUILD_PREFIX}/nvvm/bin + # XLA can only cope with a single cuda header include directory, merge both + rsync -a ${PREFIX}/targets/x86_64-linux/include/ ${BUILD_PREFIX}/targets/x86_64-linux/include/ + + # Although XLA supports a non-hermetic build, it still tries to find headers in the hermetic locations. + # We do this in the BUILD_PREFIX to not have any impact on the resulting jaxlib package. + # Otherwise, these copied files would be included in the package. + rm -rf ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party + mkdir -p ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/gpus/cuda/extras/CUPTI + cp -r ${PREFIX}/targets/x86_64-linux/include ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/gpus/cuda/ + cp -r ${PREFIX}/targets/x86_64-linux/include ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/gpus/cuda/extras/CUPTI/ + mkdir -p ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/gpus/cudnn + cp ${PREFIX}/include/cudnn*.h ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/gpus/cudnn/ + mkdir -p ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/nccl + cp ${PREFIX}/include/nccl*.h ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/nccl/ + export LOCAL_CUDA_PATH="${BUILD_PREFIX}/targets/x86_64-linux" + export LOCAL_CUDNN_PATH="${PREFIX}/targets/x86_64-linux" + export LOCAL_NCCL_PATH="${PREFIX}/targets/x86_64-linux" + mkdir -p ${BUILD_PREFIX}/targets/x86_64-linux/bin + test -f ${BUILD_PREFIX}/targets/x86_64-linux/bin/ptxas || ln -s $(which ptxas) ${BUILD_PREFIX}/targets/x86_64-linux/bin/ptxas + test -f ${BUILD_PREFIX}/targets/x86_64-linux/bin/nvlink || ln -s $(which nvlink) ${BUILD_PREFIX}/targets/x86_64-linux/bin/nvlink + test -f ${BUILD_PREFIX}/targets/x86_64-linux/bin/fatbinary || ln -s $(which fatbinary) ${BUILD_PREFIX}/targets/x86_64-linux/bin/fatbinary export TF_CUDA_VERSION="${cuda_compiler_version}" export TF_CUDNN_VERSION="${cudnn}" From 5d2a62d8978d82f69e1c04279b9bdb5f784d7d22 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 12 Sep 2025 10:47:44 +0200 Subject: [PATCH 4/5] DEBUG: only one build --- recipe/meta.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 2ad086fb..25092e5e 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -23,6 +23,8 @@ build: number: {{ build }} skip: true # [win or py<311] skip: true # [cuda_compiler_version != "None" and aarch64] + # debug + skip: true # [not (cuda_compiler_version == "13.0" and py==313)] string: cuda{{ cuda_compiler_version | replace('.', '') }}py{{ CONDA_PY }}h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} # [cuda_compiler_version != "None"] string: cpu_py{{ CONDA_PY }}h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} # [cuda_compiler_version == "None"] From 825bb92c6dcbdb84915c02240de5061e963b526a Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 12 Sep 2025 12:08:17 +0200 Subject: [PATCH 5/5] unbreak GHA --- .github/workflows/conda-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml index 01db7771..131be788 100644 --- a/.github/workflows/conda-build.yml +++ b/.github/workflows/conda-build.yml @@ -84,7 +84,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - name: Build on Linux id: build-linux
VariantStatus
linux_64_cuda_compiler_version12.9python3.11.____cpythonlinux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.11.____cpython - variant + variant
linux_64_cuda_compiler_version12.9python3.12.____cpythonlinux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.12.____cpython - variant + variant
linux_64_cuda_compiler_version12.9python3.13.____cp313linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.13.____cp313 - variant + variant
linux_64_cuda_compiler_versionNonepython3.11.____cpythonlinux_64_c_stdlib_version2.17cuda_compiler_versionNonepython3.11.____cpython - variant + variant
linux_64_cuda_compiler_versionNonepython3.12.____cpythonlinux_64_c_stdlib_version2.17cuda_compiler_versionNonepython3.12.____cpython - variant + variant
linux_64_cuda_compiler_versionNonepython3.13.____cp313linux_64_c_stdlib_version2.17cuda_compiler_versionNonepython3.13.____cp313 - variant + variant
linux_aarch64_cuda_compiler_versionNonepython3.11.____cpythonlinux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.11.____cpython - variant + variant
linux_aarch64_cuda_compiler_versionNonepython3.12.____cpythonlinux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.12.____cpython - variant + variant
linux_aarch64_cuda_compiler_versionNonepython3.13.____cp313linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.13.____cp313 - variant + variant + +
linux_aarch64_c_stdlib_version2.17cuda_compiler_versionNonepython3.11.____cpython + + variant + +
linux_aarch64_c_stdlib_version2.17cuda_compiler_versionNonepython3.12.____cpython + + variant + +
linux_aarch64_c_stdlib_version2.17cuda_compiler_versionNonepython3.13.____cp313 + + variant