diff --git a/.ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12numpy2.0python3.10.____cpython.yaml b/.ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version12numpy2.0python3.10.____cpython.yaml similarity index 88% rename from .ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12numpy2.0python3.10.____cpython.yaml rename to .ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version12numpy2.0python3.10.____cpython.yaml index ee0ec306..966d0260 100644 --- a/.ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12numpy2.0python3.10.____cpython.yaml +++ b/.ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version12numpy2.0python3.10.____cpython.yaml @@ -7,7 +7,7 @@ c_stdlib: c_stdlib_version: - '2.17' cdt_name: -- cos7 +- conda channel_sources: - conda-forge channel_targets: @@ -15,7 +15,7 @@ channel_targets: cuda_compiler: - cuda-nvcc cuda_compiler_version: -- '12.0' +- '12.6' cudnn: - '9' cxx_compiler: @@ -23,7 +23,7 @@ cxx_compiler: cxx_compiler_version: - '12' docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 +- quay.io/condaforge/linux-anvil-x86_64:alma9 github_actions_labels: - cirun-openstack-cpu-large libabseil: @@ -49,8 +49,6 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version - - c_stdlib_version - - cdt_name - cuda_compiler - cuda_compiler_version - docker_image diff --git a/.ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12numpy2.0python3.11.____cpython.yaml b/.ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version12numpy2.0python3.11.____cpython.yaml similarity index 88% rename from .ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12numpy2.0python3.11.____cpython.yaml rename to .ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version12numpy2.0python3.11.____cpython.yaml index 8921958d..77232240 100644 --- a/.ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12numpy2.0python3.11.____cpython.yaml +++ b/.ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version12numpy2.0python3.11.____cpython.yaml @@ -7,7 +7,7 @@ c_stdlib: c_stdlib_version: - '2.17' cdt_name: -- cos7 +- conda channel_sources: - conda-forge channel_targets: @@ -15,7 +15,7 @@ channel_targets: cuda_compiler: - cuda-nvcc cuda_compiler_version: -- '12.0' +- '12.6' cudnn: - '9' cxx_compiler: @@ -23,7 +23,7 @@ cxx_compiler: cxx_compiler_version: - '12' docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 +- quay.io/condaforge/linux-anvil-x86_64:alma9 github_actions_labels: - cirun-openstack-cpu-large libabseil: @@ -49,8 +49,6 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version - - c_stdlib_version - - cdt_name - cuda_compiler - cuda_compiler_version - docker_image diff --git a/.ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12numpy2.0python3.12.____cpython.yaml b/.ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version12numpy2.0python3.12.____cpython.yaml similarity index 88% rename from .ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12numpy2.0python3.12.____cpython.yaml rename to .ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version12numpy2.0python3.12.____cpython.yaml index e5f5b008..b143ca38 100644 --- a/.ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12numpy2.0python3.12.____cpython.yaml +++ b/.ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version12numpy2.0python3.12.____cpython.yaml @@ -7,7 +7,7 @@ c_stdlib: c_stdlib_version: - '2.17' cdt_name: -- cos7 +- conda channel_sources: - conda-forge channel_targets: @@ -15,7 +15,7 @@ channel_targets: cuda_compiler: - cuda-nvcc cuda_compiler_version: -- '12.0' +- '12.6' cudnn: - '9' cxx_compiler: @@ -23,7 +23,7 @@ cxx_compiler: cxx_compiler_version: - '12' docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 +- quay.io/condaforge/linux-anvil-x86_64:alma9 github_actions_labels: - cirun-openstack-cpu-large libabseil: @@ -49,8 +49,6 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version - - c_stdlib_version - - cdt_name - cuda_compiler - cuda_compiler_version - docker_image diff --git a/.ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12numpy2python3.13.____cp313.yaml b/.ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version12numpy2python3.13.____cp313.yaml similarity index 88% rename from .ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12numpy2python3.13.____cp313.yaml rename to .ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version12numpy2python3.13.____cp313.yaml index b0736f86..c9f3655c 100644 --- a/.ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12numpy2python3.13.____cp313.yaml +++ b/.ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version12numpy2python3.13.____cp313.yaml @@ -7,7 +7,7 @@ c_stdlib: c_stdlib_version: - '2.17' cdt_name: -- cos7 +- conda channel_sources: - conda-forge channel_targets: @@ -15,7 +15,7 @@ channel_targets: cuda_compiler: - cuda-nvcc cuda_compiler_version: -- '12.0' +- '12.6' cudnn: - '9' cxx_compiler: @@ -23,7 +23,7 @@ cxx_compiler: cxx_compiler_version: - '12' docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 +- quay.io/condaforge/linux-anvil-x86_64:alma9 github_actions_labels: - cirun-openstack-cpu-large libabseil: @@ -49,8 +49,6 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version - - c_stdlib_version - - cdt_name - cuda_compiler - cuda_compiler_version - docker_image diff --git a/.ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.10.____cpython.yaml b/.ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.10.____cpython.yaml index 15be7ccd..26faf200 100644 --- a/.ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.10.____cpython.yaml +++ b/.ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.10.____cpython.yaml @@ -7,7 +7,7 @@ c_stdlib: c_stdlib_version: - '2.17' cdt_name: -- cos7 +- conda channel_sources: - conda-forge channel_targets: @@ -23,7 +23,7 @@ cxx_compiler: cxx_compiler_version: - '13' docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 +- quay.io/condaforge/linux-anvil-x86_64:alma9 github_actions_labels: - cirun-openstack-cpu-large libabseil: @@ -49,8 +49,6 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version - - c_stdlib_version - - cdt_name - cuda_compiler - cuda_compiler_version - docker_image diff --git a/.ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.11.____cpython.yaml b/.ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.11.____cpython.yaml index b7fc9fe7..60f304ae 100644 --- a/.ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.11.____cpython.yaml +++ b/.ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.11.____cpython.yaml @@ -7,7 +7,7 @@ c_stdlib: c_stdlib_version: - '2.17' cdt_name: -- cos7 +- conda channel_sources: - conda-forge channel_targets: @@ -23,7 +23,7 @@ cxx_compiler: cxx_compiler_version: - '13' docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 +- quay.io/condaforge/linux-anvil-x86_64:alma9 github_actions_labels: - cirun-openstack-cpu-large libabseil: @@ -49,8 +49,6 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version - - c_stdlib_version - - cdt_name - cuda_compiler - cuda_compiler_version - docker_image diff --git a/.ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.12.____cpython.yaml b/.ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.12.____cpython.yaml index feb4e732..de2581c2 100644 --- a/.ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.12.____cpython.yaml +++ b/.ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.12.____cpython.yaml @@ -7,7 +7,7 @@ c_stdlib: c_stdlib_version: - '2.17' cdt_name: -- cos7 +- conda channel_sources: - conda-forge channel_targets: @@ -23,7 +23,7 @@ cxx_compiler: cxx_compiler_version: - '13' docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 +- quay.io/condaforge/linux-anvil-x86_64:alma9 github_actions_labels: - cirun-openstack-cpu-large libabseil: @@ -49,8 +49,6 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version - - c_stdlib_version - - cdt_name - cuda_compiler - cuda_compiler_version - docker_image diff --git a/.ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2python3.13.____cp313.yaml b/.ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2python3.13.____cp313.yaml index 3080c0f3..583d44f2 100644 --- a/.ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2python3.13.____cp313.yaml +++ b/.ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2python3.13.____cp313.yaml @@ -7,7 +7,7 @@ c_stdlib: c_stdlib_version: - '2.17' cdt_name: -- cos7 +- conda channel_sources: - conda-forge channel_targets: @@ -23,7 +23,7 @@ cxx_compiler: cxx_compiler_version: - '13' docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 +- quay.io/condaforge/linux-anvil-x86_64:alma9 github_actions_labels: - cirun-openstack-cpu-large libabseil: @@ -49,8 +49,6 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version - - c_stdlib_version - - cdt_name - cuda_compiler - cuda_compiler_version - docker_image diff --git a/.ci_support/linux_aarch64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.10.____cpython.yaml b/.ci_support/linux_aarch64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.10.____cpython.yaml index 3939e348..8cce269a 100644 --- a/.ci_support/linux_aarch64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.10.____cpython.yaml +++ b/.ci_support/linux_aarch64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.10.____cpython.yaml @@ -11,7 +11,7 @@ c_stdlib_version: cdt_arch: - aarch64 cdt_name: -- cos7 +- conda channel_sources: - conda-forge channel_targets: @@ -27,7 +27,7 @@ cxx_compiler: cxx_compiler_version: - '13' docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 +- quay.io/condaforge/linux-anvil-x86_64:alma9 github_actions_labels: - cirun-openstack-cpu-large libabseil: @@ -51,8 +51,6 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version - - c_stdlib_version - - cdt_name - cuda_compiler - cuda_compiler_version - docker_image diff --git a/.ci_support/linux_aarch64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.11.____cpython.yaml b/.ci_support/linux_aarch64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.11.____cpython.yaml index 4851556f..321a21f7 100644 --- a/.ci_support/linux_aarch64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.11.____cpython.yaml +++ b/.ci_support/linux_aarch64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.11.____cpython.yaml @@ -11,7 +11,7 @@ c_stdlib_version: cdt_arch: - aarch64 cdt_name: -- cos7 +- conda channel_sources: - conda-forge channel_targets: @@ -27,7 +27,7 @@ cxx_compiler: cxx_compiler_version: - '13' docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 +- quay.io/condaforge/linux-anvil-x86_64:alma9 github_actions_labels: - cirun-openstack-cpu-large libabseil: @@ -51,8 +51,6 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version - - c_stdlib_version - - cdt_name - cuda_compiler - cuda_compiler_version - docker_image diff --git a/.ci_support/linux_aarch64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.12.____cpython.yaml b/.ci_support/linux_aarch64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.12.____cpython.yaml index d693d2cb..4c19c761 100644 --- a/.ci_support/linux_aarch64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.12.____cpython.yaml +++ b/.ci_support/linux_aarch64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.12.____cpython.yaml @@ -11,7 +11,7 @@ c_stdlib_version: cdt_arch: - aarch64 cdt_name: -- cos7 +- conda channel_sources: - conda-forge channel_targets: @@ -27,7 +27,7 @@ cxx_compiler: cxx_compiler_version: - '13' docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 +- quay.io/condaforge/linux-anvil-x86_64:alma9 github_actions_labels: - cirun-openstack-cpu-large libabseil: @@ -51,8 +51,6 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version - - c_stdlib_version - - cdt_name - cuda_compiler - cuda_compiler_version - docker_image diff --git a/.ci_support/linux_aarch64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2python3.13.____cp313.yaml b/.ci_support/linux_aarch64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2python3.13.____cp313.yaml index a6ca9bb3..652618e4 100644 --- a/.ci_support/linux_aarch64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2python3.13.____cp313.yaml +++ b/.ci_support/linux_aarch64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2python3.13.____cp313.yaml @@ -11,7 +11,7 @@ c_stdlib_version: cdt_arch: - aarch64 cdt_name: -- cos7 +- conda channel_sources: - conda-forge channel_targets: @@ -27,7 +27,7 @@ cxx_compiler: cxx_compiler_version: - '13' docker_image: -- quay.io/condaforge/linux-anvil-cos7-x86_64 +- quay.io/condaforge/linux-anvil-x86_64:alma9 github_actions_labels: - cirun-openstack-cpu-large libabseil: @@ -51,8 +51,6 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version - - c_stdlib_version - - cdt_name - cuda_compiler - cuda_compiler_version - docker_image diff --git a/.ci_support/migrations/cudnn9.yaml b/.ci_support/migrations/cudnn9.yaml deleted file mode 100644 index 30ba547e..00000000 --- a/.ci_support/migrations/cudnn9.yaml +++ /dev/null @@ -1,8 +0,0 @@ -__migrator: - build_number: 1 - commit_message: Rebuild for cudnn 9 - kind: version - migration_number: 1 -cudnn: -- '9' -migrator_ts: 1724175586.3831317 diff --git a/.ci_support/migrations/libabseil20240722_grpc165_libprotobuf5275.yaml b/.ci_support/migrations/libabseil20240722_grpc165_libprotobuf5275.yaml deleted file mode 100644 index 85540a1f..00000000 --- a/.ci_support/migrations/libabseil20240722_grpc165_libprotobuf5275.yaml +++ /dev/null @@ -1,18 +0,0 @@ -__migrator: - build_number: 1 - commit_message: Rebuild for libabseil 20240722, libgrp 1.65 & libprotobuf 5.27.5 - kind: version - migration_number: 1 - exclude: - - abseil-cpp - - grpc-cpp - - libprotobuf - - protobuf - - re2 -libabseil: -- 20240722 -libgrpc: -- "1.65" -libprotobuf: -- 5.27.5 -migrator_ts: 1727040240.8650293 diff --git a/.ci_support/migrations/python312.yaml b/.ci_support/migrations/python312.yaml deleted file mode 100644 index b39b1bb1..00000000 --- a/.ci_support/migrations/python312.yaml +++ /dev/null @@ -1,38 +0,0 @@ -migrator_ts: 1695046563 -__migrator: - migration_number: 1 - operation: key_add - primary_key: python - ordering: - python: - - 3.6.* *_cpython - - 3.7.* *_cpython - - 3.8.* *_cpython - - 3.9.* *_cpython - - 3.10.* *_cpython - - 3.11.* *_cpython - - 3.12.* *_cpython # new entry - - 3.6.* *_73_pypy - - 3.7.* *_73_pypy - - 3.8.* *_73_pypy - - 3.9.* *_73_pypy - paused: false - longterm: True - pr_limit: 30 - max_solver_attempts: 6 # this will make the bot retry "not solvable" stuff 6 times - exclude: - # this shouldn't attempt to modify the python feedstocks - - python - - pypy3.6 - - pypy-meta - - cross-python - - python_abi - exclude_pinned_pkgs: false - -python: - - 3.12.* *_cpython -# additional entries to add for zip_keys -numpy: - - 1.26 -python_impl: - - cpython diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml index 3606ccd1..2509ee79 100644 --- a/.github/workflows/conda-build.yml +++ b/.github/workflows/conda-build.yml @@ -21,66 +21,66 @@ jobs: fail-fast: false matrix: include: - - CONFIG: linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12numpy2.0python3.10.____cpython + - CONFIG: linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version12numpy2.0python3.10.____cpython UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_compiler_version12cuda_c_h27d6f4ddbd', 'linux', 'x64', 'self-hosted'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - - CONFIG: linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12numpy2.0python3.11.____cpython + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_compiler_version12cuda_c_he58e0112aa', 'linux', 'x64', 'self-hosted'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version12numpy2.0python3.11.____cpython UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_compiler_version12cuda_c_h3b2c9509be', 'linux', 'x64', 'self-hosted'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - - CONFIG: linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12numpy2.0python3.12.____cpython + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_compiler_version12cuda_c_hfa6199bd4c', 'linux', 'x64', 'self-hosted'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version12numpy2.0python3.12.____cpython UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_compiler_version12cuda_c_h2302987719', 'linux', 'x64', 'self-hosted'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - - CONFIG: linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12numpy2python3.13.____cp313 + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_compiler_version12cuda_c_hebd2d0436d', 'linux', 'x64', 'self-hosted'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version12numpy2python3.13.____cp313 UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_compiler_version12cuda_c_hecd95259d3', 'linux', 'x64', 'self-hosted'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_compiler_version12cuda_c_h4cf41a557d', 'linux', 'x64', 'self-hosted'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.10.____cpython UPLOAD_PACKAGES: True os: ubuntu runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_compiler_version13cuda_c_h697345ca33', 'linux', 'x64', 'self-hosted'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.11.____cpython UPLOAD_PACKAGES: True os: ubuntu runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_compiler_version13cuda_c_h12617e838c', 'linux', 'x64', 'self-hosted'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.12.____cpython UPLOAD_PACKAGES: True os: ubuntu runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_compiler_version13cuda_c_hc2f9c6092e', 'linux', 'x64', 'self-hosted'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2python3.13.____cp313 UPLOAD_PACKAGES: True os: ubuntu runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_compiler_version13cuda_c_h66a6848ebf', 'linux', 'x64', 'self-hosted'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.10.____cpython UPLOAD_PACKAGES: True os: ubuntu runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_aarch64_c_compiler_version13c_h49b6982d17', 'linux', 'x64', 'self-hosted'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.11.____cpython UPLOAD_PACKAGES: True os: ubuntu runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_aarch64_c_compiler_version13c_h6699b9139c', 'linux', 'x64', 'self-hosted'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2.0python3.12.____cpython UPLOAD_PACKAGES: True os: ubuntu runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_aarch64_c_compiler_version13c_h455afdee75', 'linux', 'x64', 'self-hosted'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_aarch64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13numpy2python3.13.____cp313 UPLOAD_PACKAGES: True os: ubuntu runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_aarch64_c_compiler_version13c_hb68522573b', 'linux', 'x64', 'self-hosted'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 steps: - name: Checkout code @@ -137,12 +137,6 @@ jobs: fi ./.scripts/run_osx_build.sh - - name: Install Miniconda for windows - uses: conda-incubator/setup-miniconda@a4260408e20b96e80095f42ff7f1a15b27dd94ca # v3.0.4 - with: - miniforge-version: latest - if: matrix.os == 'windows' - - name: Build on windows shell: cmd run: | @@ -151,6 +145,7 @@ jobs: set "sha=%GITHUB_SHA%" call ".scripts\run_win_build.bat" env: + MINIFORGE_HOME: D:\Miniforge PYTHONUNBUFFERED: 1 CONFIG: ${{ matrix.CONFIG }} CI: github_actions diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 12647a5e..827a29fb 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -31,13 +31,13 @@ pkgs_dirs: solver: libmamba CONDARC +mv /opt/conda/conda-meta/history /opt/conda/conda-meta/history.$(date +%Y-%m-%d-%H-%M-%S) +echo > /opt/conda/conda-meta/history +micromamba install --root-prefix ~/.conda --prefix /opt/conda \ + --yes --override-channels --channel conda-forge --strict-channel-priority \ + pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=24.1" export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 -mamba install --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" -mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" - # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index dfef5ae1..0b364984 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -7,28 +7,39 @@ source .scripts/logging_utils.sh set -xe MINIFORGE_HOME=${MINIFORGE_HOME:-${HOME}/miniforge3} +MINIFORGE_HOME=${MINIFORGE_HOME%/} # remove trailing slash -( startgroup "Installing a fresh version of Miniforge" ) 2> /dev/null - -MINIFORGE_URL="https://github.com/conda-forge/miniforge/releases/latest/download" -MINIFORGE_FILE="Miniforge3-MacOSX-$(uname -m).sh" -curl -L -O "${MINIFORGE_URL}/${MINIFORGE_FILE}" -rm -rf ${MINIFORGE_HOME} -bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} - -( endgroup "Installing a fresh version of Miniforge" ) 2> /dev/null +( startgroup "Provisioning base env with micromamba" ) 2> /dev/null +MICROMAMBA_VERSION="1.5.10-0" +if [[ "$(uname -m)" == "arm64" ]]; then + osx_arch="osx-arm64" +else + osx_arch="osx-64" +fi +MICROMAMBA_URL="https://github.com/mamba-org/micromamba-releases/releases/download/${MICROMAMBA_VERSION}/micromamba-${osx_arch}" +MAMBA_ROOT_PREFIX="${MINIFORGE_HOME}-micromamba-$(date +%s)" +echo "Downloading micromamba ${MICROMAMBA_VERSION}" +micromamba_exe="$(mktemp -d)/micromamba" +curl -L -o "${micromamba_exe}" "${MICROMAMBA_URL}" +chmod +x "${micromamba_exe}" +echo "Creating environment" +"${micromamba_exe}" create --yes --root-prefix "${MAMBA_ROOT_PREFIX}" --prefix "${MINIFORGE_HOME}" \ + --channel conda-forge \ + pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=24.1" +echo "Moving pkgs cache from ${MAMBA_ROOT_PREFIX} to ${MINIFORGE_HOME}" +mv "${MAMBA_ROOT_PREFIX}/pkgs" "${MINIFORGE_HOME}" +echo "Cleaning up micromamba" +rm -rf "${MAMBA_ROOT_PREFIX}" "${micromamba_exe}" || true +( endgroup "Provisioning base env with micromamba" ) 2> /dev/null ( startgroup "Configuring conda" ) 2> /dev/null - -source ${MINIFORGE_HOME}/etc/profile.d/conda.sh +echo "Activating environment" +source "${MINIFORGE_HOME}/etc/profile.d/conda.sh" conda activate base export CONDA_SOLVER="libmamba" export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 -mamba install --update-specs --quiet --yes --channel conda-forge --strict-channel-priority \ - pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" -mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" + diff --git a/README.md b/README.md index c36c62f4..78846445 100644 --- a/README.md +++ b/README.md @@ -29,31 +29,31 @@ Current build status - + - + - + - + diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 071a9aff..a13f0ae2 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -19,7 +19,7 @@ stages: echo "##vso[task.setvariable variable=log]$git_log" displayName: Obtain commit message - bash: echo "##vso[task.setvariable variable=RET]false" - condition: or(contains(variables.log, '[skip azp]'), contains(variables.log, '[azp skip]'), contains(variables.log, '[skip ci]'), contains(variables.log, '[ci skip]')) + condition: and(eq(variables['Build.Reason'], 'PullRequest'), or(contains(variables.log, '[skip azp]'), contains(variables.log, '[azp skip]'), contains(variables.log, '[skip ci]'), contains(variables.log, '[ci skip]'))) displayName: Skip build? - bash: echo "##vso[task.setvariable variable=start_main;isOutput=true]$RET" name: result diff --git a/build-locally.py b/build-locally.py index 6788aea6..c4a56c66 100755 --- a/build-locally.py +++ b/build-locally.py @@ -26,6 +26,13 @@ def setup_environment(ns): os.path.dirname(__file__), "miniforge3" ) + # The default cache location might not be writable using docker on macOS. + if ns.config.startswith("linux") and platform.system() == "Darwin": + os.environ["CONDA_FORGE_DOCKER_RUN_ARGS"] = ( + os.environ.get("CONDA_FORGE_DOCKER_RUN_ARGS", "") + + " -e RATTLER_CACHE_DIR=/tmp/rattler_cache" + ) + def run_docker_build(ns): script = ".scripts/run_docker_build.sh" diff --git a/recipe/build.sh b/recipe/build.sh index c2a18fb1..0c1c05bf 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -37,7 +37,7 @@ if [[ "${cuda_compiler_version:-None}" != "None" ]]; then 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/ + cp ${PREFIX}/include/cudnn*.h ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/gpus/cudnn/ 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" @@ -57,8 +57,8 @@ if [[ "${cuda_compiler_version:-None}" != "None" ]]; then fi export TF_NEED_CUDA=1 export TF_NCCL_VERSION=$(pkg-config nccl --modversion | grep -Po '\d+\.\d+') - - CUDA_ARGS="--enable_cuda \ + export CUDA_COMPILER_MAJOR_VERSION=$(echo "$cuda_compiler_version" | cut -d '.' -f 1) + CUDA_ARGS="--enable_cuda --build_gpu_plugin --gpu_plugin_cuda_version=${CUDA_COMPILER_MAJOR_VERSION} \ --enable_nccl \ --cuda_compute_capabilities=$HERMETIC_CUDA_COMPUTE_CAPABILITIES \ --cuda_version=$TF_CUDA_VERSION \ @@ -121,4 +121,10 @@ popd pushd $SP_DIR # pip doesn't want to install cleanly in all cases, so we use the fact that we can unzip it. unzip $SRC_DIR/dist/jaxlib-*.whl + +if [[ "${cuda_compiler_version:-None}" != "None" ]]; then + unzip $SRC_DIR/dist/jax_cuda*_plugin*.whl + unzip $SRC_DIR/dist/jax_cuda*_pjrt*.whl +fi + popd diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index 1f8f12eb..3d073802 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -1,3 +1,9 @@ +# Otherwise __ZN4absl12lts_2024072212log_internal10LogMessagelsIPKvTnNSt3__19enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS2_RKS8_ cannot be found +# demangled: absl::lts_20240722::log_internal::LogMessage& absl::lts_20240722::log_internal::LogMessage::operator<<(void const* const&) +c_compiler_version: # [osx] +- '17' # [osx] +cxx_compiler_version: # [osx] +- '17' # [osx] MACOSX_SDK_VERSION: # [osx and x86_64] - '10.14' # [osx and x86_64] c_stdlib_version: # [osx and x86_64] diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 3847f75c..eed0c045 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set version = "0.4.34" %} -{% set build = 0 %} +{% set build = 1 %} {% if cuda_compiler_version != "None" %} {% set build = build + 200 %} @@ -17,8 +17,7 @@ source: patches: - patches/0001-Allow-for-custom-CUDA-build.patch - patches/0002-Consolidated-build-fixes-for-XLA.patch - - patches/0003-Fix-XLA_FFIR_REGISTER-macros.patch - - patches/0004-Add-missing-typename.patch + - patches/0003-Add-missing-typename.patch build: number: {{ build }} @@ -87,6 +86,13 @@ requirements: - ml_dtypes >=0.2.0 - __cuda # [cuda_compiler_version != "None"] - cuda-nvcc-tools # [(cuda_compiler_version or "").startswith("12")] + # Workaround for https://github.com/conda-forge/jaxlib-feedstock/pull/288#issuecomment-2511925904 + - libcublas-dev # [(cuda_compiler_version or "").startswith("12")] + - libcusolver-dev # [(cuda_compiler_version or "").startswith("12")] + - libcurand-dev # [(cuda_compiler_version or "").startswith("12")] + - cuda-cupti-dev # [(cuda_compiler_version or "").startswith("12")] + - libcufft-dev # [(cuda_compiler_version or "").startswith("12")] + - libcusparse-dev # [(cuda_compiler_version or "").startswith("12")] run_constrained: - jax >={{ version }} diff --git a/recipe/patches/0001-Allow-for-custom-CUDA-build.patch b/recipe/patches/0001-Allow-for-custom-CUDA-build.patch index 9c469361..35f934a7 100644 --- a/recipe/patches/0001-Allow-for-custom-CUDA-build.patch +++ b/recipe/patches/0001-Allow-for-custom-CUDA-build.patch @@ -1,7 +1,7 @@ -From b1d721c3831eb8785acd1cc489d37c882925418c Mon Sep 17 00:00:00 2001 +From 868e01e0e6672f0b85d63e5564889131a8052e5f Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Sun, 8 Oct 2023 19:34:34 +0200 -Subject: [PATCH 1/4] Allow for custom CUDA build +Subject: [PATCH 1/3] Allow for custom CUDA build --- build/build.py | 5 +++++ diff --git a/recipe/patches/0002-Consolidated-build-fixes-for-XLA.patch b/recipe/patches/0002-Consolidated-build-fixes-for-XLA.patch index 76ca52dd..263ddc3b 100644 --- a/recipe/patches/0002-Consolidated-build-fixes-for-XLA.patch +++ b/recipe/patches/0002-Consolidated-build-fixes-for-XLA.patch @@ -1,7 +1,7 @@ -From b23dcbbf6261bf6aa03c35673cf8d9b1568593ad Mon Sep 17 00:00:00 2001 +From e1ce0773ec91aeb5cad98b7ba7332e287151eb2a Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Thu, 14 Dec 2023 17:06:15 +0100 -Subject: [PATCH 2/4] Consolidated build fixes for XLA +Subject: [PATCH 2/3] Consolidated build fixes for XLA jax vendors xla, but only populates the sources through bazel, so we cannot patch as usual through conda, but rather need to teach the bazel build file @@ -14,78 +14,29 @@ which is also where we're patching in the list of patches to apply to xla. Co-Authored-By: H. Vetinari --- - .../xla/0001-Omit-usage-of-StrFormat.patch | 43 ++++ ...pport-third-party-build-of-boringssl.patch | 51 ++++ third_party/xla/0002-Fix-abseil-headers.patch | 73 ++++++ .../xla/0003-Omit-usage-of-StrFormat.patch | 24 ++ - ...0004-Add-missing-bits-absl-systemlib.patch | 226 ++++++++++++++++++ - third_party/xla/workspace.bzl | 6 + - 6 files changed, 423 insertions(+) - create mode 100644 third_party/xla/0001-Omit-usage-of-StrFormat.patch + ...0004-Add-missing-bits-absl-systemlib.patch | 231 ++++++++++++++++++ + ...ther-absl-log-is-already-initialized.patch | 58 +++++ + third_party/xla/workspace.bzl | 7 + + 6 files changed, 444 insertions(+) create mode 100644 third_party/xla/0001-Support-third-party-build-of-boringssl.patch create mode 100644 third_party/xla/0002-Fix-abseil-headers.patch create mode 100644 third_party/xla/0003-Omit-usage-of-StrFormat.patch create mode 100644 third_party/xla/0004-Add-missing-bits-absl-systemlib.patch + create mode 100644 third_party/xla/0005-Check-whether-absl-log-is-already-initialized.patch -diff --git a/third_party/xla/0001-Omit-usage-of-StrFormat.patch b/third_party/xla/0001-Omit-usage-of-StrFormat.patch -new file mode 100644 -index 0000000..d1b4765 ---- /dev/null -+++ b/third_party/xla/0001-Omit-usage-of-StrFormat.patch -@@ -0,0 +1,43 @@ -+From b7d3f685ea9f58f0054af0f34d0bc3ccac43fa5c Mon Sep 17 00:00:00 2001 -+From: "Uwe L. Korn" -+Date: Thu, 4 Jul 2024 10:36:03 +0200 -+Subject: [PATCH] Omit usage of StrFormat -+ -+--- -+ xla/stream_executor/gpu/gpu_executor.h | 9 ++++++--- -+ 1 file changed, 6 insertions(+), 3 deletions(-) -+ -+diff --git a/xla/stream_executor/gpu/gpu_executor.h b/xla/stream_executor/gpu/gpu_executor.h -+index 3a5945e884..9bdc2acd47 100644 -+--- a/xla/stream_executor/gpu/gpu_executor.h -++++ b/xla/stream_executor/gpu/gpu_executor.h -+@@ -29,6 +29,7 @@ limitations under the License. -+ #include -+ #include -+ #include -++#include -+ #include -+ #include -+ -+@@ -38,7 +39,6 @@ limitations under the License. -+ #include "absl/numeric/int128.h" -+ #include "absl/status/status.h" -+ #include "absl/status/statusor.h" -+-#include "absl/strings/str_format.h" -+ #include "absl/synchronization/mutex.h" -+ #include "absl/types/span.h" -+ #include "xla/stream_executor/blas.h" -+@@ -187,8 +187,11 @@ class GpuExecutor : public StreamExecutor { -+ uint64_t size) override { -+ auto* buffer = GpuDriver::HostAllocate(context_, size); -+ if (buffer == nullptr && size > 0) { -+- return absl::InternalError( -+- absl::StrFormat("Failed to allocate HostMemory of size %d", size)); -++ std::ostringstream stringStream; -++ stringStream << "Failed to allocate HostMemory of size "; -++ stringStream << size; -++ std::string res = stringStream.str(); -++ return absl::InternalError(res); -+ } -+ return std::make_unique(buffer, size, this); -+ } diff --git a/third_party/xla/0001-Support-third-party-build-of-boringssl.patch b/third_party/xla/0001-Support-third-party-build-of-boringssl.patch new file mode 100644 -index 0000000..3535220 +index 0000000..514ebe1 --- /dev/null +++ b/third_party/xla/0001-Support-third-party-build-of-boringssl.patch @@ -0,0 +1,51 @@ +From 12f526179896176c1726d5fa9eab2f0332e8ee21 Mon Sep 17 00:00:00 2001 +From: "Uwe L. Korn" +Date: Thu, 14 Dec 2023 15:04:51 +0100 -+Subject: [PATCH 1/4] Support third-party build of boringssl ++Subject: [PATCH 1/5] Support third-party build of boringssl + +--- + third_party/boringssl.BUILD | 21 +++++++++++++++++++++ @@ -135,14 +86,14 @@ index 0000000..3535220 + diff --git a/third_party/xla/0002-Fix-abseil-headers.patch b/third_party/xla/0002-Fix-abseil-headers.patch new file mode 100644 -index 0000000..7e5ff56 +index 0000000..e47e8a6 --- /dev/null +++ b/third_party/xla/0002-Fix-abseil-headers.patch @@ -0,0 +1,73 @@ +From 87e126882738dd5440430f03ff87fdb4ca31516b Mon Sep 17 00:00:00 2001 +From: "Uwe L. Korn" +Date: Thu, 23 May 2024 15:45:52 +0200 -+Subject: [PATCH 2/4] Fix abseil headers ++Subject: [PATCH 2/5] Fix abseil headers + +--- + third_party/tsl/tsl/platform/default/BUILD | 2 ++ @@ -214,14 +165,14 @@ index 0000000..7e5ff56 + "@com_google_absl//absl/time", diff --git a/third_party/xla/0003-Omit-usage-of-StrFormat.patch b/third_party/xla/0003-Omit-usage-of-StrFormat.patch new file mode 100644 -index 0000000..9b7503e +index 0000000..ec44acf --- /dev/null +++ b/third_party/xla/0003-Omit-usage-of-StrFormat.patch @@ -0,0 +1,24 @@ +From 62ff28675279b0d72cfe477a94dc1d133d680630 Mon Sep 17 00:00:00 2001 +From: "Uwe L. Korn" +Date: Thu, 4 Jul 2024 10:36:03 +0200 -+Subject: [PATCH 3/4] Omit usage of StrFormat ++Subject: [PATCH 3/5] Omit usage of StrFormat + +--- + xla/stream_executor/gpu/gpu_executor.h | 4 ++++ @@ -244,22 +195,22 @@ index 0000000..9b7503e + #include diff --git a/third_party/xla/0004-Add-missing-bits-absl-systemlib.patch b/third_party/xla/0004-Add-missing-bits-absl-systemlib.patch new file mode 100644 -index 0000000..6ff4e1d +index 0000000..2230d05 --- /dev/null +++ b/third_party/xla/0004-Add-missing-bits-absl-systemlib.patch -@@ -0,0 +1,226 @@ -+From b483c852c960a94e0fe9496e662dc5df7d286fd4 Mon Sep 17 00:00:00 2001 +@@ -0,0 +1,231 @@ ++From 0e97115cbe5c1068834f1aa2e4e4956215edca82 Mon Sep 17 00:00:00 2001 +From: "Uwe L. Korn" +Date: Thu, 4 Jul 2024 15:58:32 +0200 -+Subject: [PATCH 4/4] Add missing bits absl systemlib ++Subject: [PATCH 4/5] Add missing bits absl systemlib + +--- + .../third_party/absl/system.absl.base.BUILD | 16 +++++ + .../third_party/absl/system.absl.crc.BUILD | 70 +++++++++++++++++++ -+ .../third_party/absl/system.absl.log.BUILD | 56 +++++++++++++++ ++ .../third_party/absl/system.absl.log.BUILD | 61 ++++++++++++++++ + .../absl/system.absl.strings.BUILD | 12 ++++ + .../tsl/third_party/absl/workspace.bzl | 2 + -+ 5 files changed, 156 insertions(+) ++ 5 files changed, 161 insertions(+) + create mode 100644 third_party/tsl/third_party/absl/system.absl.crc.BUILD + create mode 100644 third_party/tsl/third_party/absl/system.absl.log.BUILD + @@ -372,10 +323,10 @@ index 0000000..6ff4e1d ++) +diff --git a/third_party/tsl/third_party/absl/system.absl.log.BUILD b/third_party/tsl/third_party/absl/system.absl.log.BUILD +new file mode 100644 -+index 0000000000..90b2ada6cf ++index 0000000000..67350d613b +--- /dev/null ++++ b/third_party/tsl/third_party/absl/system.absl.log.BUILD -+@@ -0,0 +1,56 @@ ++@@ -0,0 +1,61 @@ ++load("@rules_cc//cc:defs.bzl", "cc_library") ++ ++package(default_visibility = ["//visibility:public"]) @@ -399,6 +350,11 @@ index 0000000..6ff4e1d ++ "-labsl_log_internal_check_op", ++ "-labsl_log_internal_message", ++ "-labsl_log_internal_nullguard", +++ "-labsl_synchronization", +++ "-labsl_kernel_timeout_internal", +++ "-labsl_cordz_info", +++ "-labsl_cordz_functions", +++ "-labsl_log_internal_globals" ++ ], ++) ++ @@ -474,11 +430,103 @@ index 0000000..6ff4e1d + "memory", + "meta", + "numeric", +diff --git a/third_party/xla/0005-Check-whether-absl-log-is-already-initialized.patch b/third_party/xla/0005-Check-whether-absl-log-is-already-initialized.patch +new file mode 100644 +index 0000000..a7f7f0b +--- /dev/null ++++ b/third_party/xla/0005-Check-whether-absl-log-is-already-initialized.patch +@@ -0,0 +1,58 @@ ++From 4c362c9a88ff5ca06a9a075be12e94f79b9affef Mon Sep 17 00:00:00 2001 ++From: "Uwe L. Korn" ++Date: Fri, 22 Nov 2024 10:51:18 +0100 ++Subject: [PATCH 5/5] Check whether absl log is already initialized ++ ++--- ++ xla/pjrt/c/pjrt_c_api_gpu.cc | 7 ++++++- ++ xla/python/logging.cc | 7 ++++++- ++ 2 files changed, 12 insertions(+), 2 deletions(-) ++ ++diff --git a/xla/pjrt/c/pjrt_c_api_gpu.cc b/xla/pjrt/c/pjrt_c_api_gpu.cc ++index fe836332be..895f40524d 100644 ++--- a/xla/pjrt/c/pjrt_c_api_gpu.cc +++++ b/xla/pjrt/c/pjrt_c_api_gpu.cc ++@@ -17,6 +17,7 @@ limitations under the License. ++ ++ #include "absl/base/call_once.h" ++ #include "absl/log/initialize.h" +++#include "absl/log/internal/globals.h" ++ #include "xla/pjrt/c/pjrt_c_api.h" ++ #include "xla/pjrt/c/pjrt_c_api_gpu_internal.h" ++ #include "tsl/platform/platform.h" ++@@ -25,7 +26,11 @@ const PJRT_Api* GetPjrtApi() { ++ // Initialize ABSL logging because code within XLA uses it. ++ #ifndef PLATFORM_GOOGLE ++ static absl::once_flag once; ++- absl::call_once(once, []() { absl::InitializeLog(); }); +++ absl::call_once(once, []() { +++ if (!absl::log_internal::IsInitialized()) { +++ absl::InitializeLog(); +++ } +++ }); ++ #endif // PLATFORM_GOOGLE ++ return pjrt::gpu_plugin::GetGpuPjrtApi(); ++ } ++diff --git a/xla/python/logging.cc b/xla/python/logging.cc ++index 2d8261f025..5222fa96c6 100644 ++--- a/xla/python/logging.cc +++++ b/xla/python/logging.cc ++@@ -16,12 +16,17 @@ limitations under the License. ++ #include "xla/python/logging.h" ++ ++ #include "absl/log/initialize.h" +++#include "absl/log/internal/globals.h" ++ ++ namespace xla { ++ ++ // TODO(phawkins): We can't import absl logging in the same file as TSL logging ++ // because of conflicting definitions. We should fix this by using ABSL logging ++ // everywhere. ++-void InitializeAbslLogging() { absl::InitializeLog(); } +++void InitializeAbslLogging() { +++ if (!absl::log_internal::IsInitialized()) { +++ absl::InitializeLog(); +++ } +++} ++ ++ } // namespace xla +diff --git a/third_party/xla/0006-Add-conda-cuda-path.patch b/third_party/xla/0006-Add-conda-cuda-path.patch +new file mode 100644 +index 0000000..a7f7f0b +--- /dev/null ++++ b/third_party/xla/0006-Add-conda-cuda-path.patch +@@ -0,0 +1,22 @@ ++diff --git a/third_party/tsl/tsl/platform/default/cuda_root_path.cc b/third_party/tsl/tsl/platform/default/cuda_root_path.cc ++index ca6da0e553..1d8a9450c0 100644 ++--- a/third_party/tsl/tsl/platform/default/cuda_root_path.cc +++++ b/third_party/tsl/tsl/platform/default/cuda_root_path.cc ++@@ -75,6 +75,17 @@ std::vector CandidateCudaRoots() { ++ // Also add the path to the copy of libdevice.10.bc that we include within ++ // the Python wheel. ++ roots.emplace_back(io::JoinPath(dir, "cuda")); +++ +++ // In case cuda was installed with nvidia's official conda packages, we also +++ // include the root prefix of the environment in the candidate roots dir, +++ // we assume that the lib binaries are either in the python package's root dir +++ // or in a 'python' subdirectory, as done by the previous for. +++ // python packages on non-Windows platforms are installed in +++ // $CONDA_PREFIX/lib/python3.12/site-packages/pkg_name, so if we want +++ // to add $CONDA_PREFIX to the candidate roots dirs we need to add +++ // ../../../.. +++ for (auto path : {"../../../..", "../../../../.."}) +++ roots.emplace_back(io::JoinPath(dir, path)); ++ } ++ #endif // defined(PLATFORM_POSIX) && !defined(__APPLE__) ++ diff --git a/third_party/xla/workspace.bzl b/third_party/xla/workspace.bzl -index 37861d9..3af773f 100644 +index 37861d9..45fbcde 100644 --- a/third_party/xla/workspace.bzl +++ b/third_party/xla/workspace.bzl -@@ -30,6 +30,12 @@ def repo(): +@@ -30,6 +30,14 @@ def repo(): sha256 = XLA_SHA256, strip_prefix = "xla-{commit}".format(commit = XLA_COMMIT), urls = tf_mirror_urls("https://github.com/openxla/xla/archive/{commit}.tar.gz".format(commit = XLA_COMMIT)), @@ -487,6 +535,8 @@ index 37861d9..3af773f 100644 + "//third_party/xla:0002-Fix-abseil-headers.patch", + "//third_party/xla:0003-Omit-usage-of-StrFormat.patch", + "//third_party/xla:0004-Add-missing-bits-absl-systemlib.patch", ++ "//third_party/xla:0005-Check-whether-absl-log-is-already-initialized.patch", ++ "//third_party/xla:0006-Add-conda-cuda-path.patch", + ], ) diff --git a/recipe/patches/0004-Add-missing-typename.patch b/recipe/patches/0003-Add-missing-typename.patch similarity index 89% rename from recipe/patches/0004-Add-missing-typename.patch rename to recipe/patches/0003-Add-missing-typename.patch index 0e3676cd..1d4a26ea 100644 --- a/recipe/patches/0004-Add-missing-typename.patch +++ b/recipe/patches/0003-Add-missing-typename.patch @@ -1,7 +1,7 @@ -From de2a5282d2e614839b9ee2be0986fe99396d70a8 Mon Sep 17 00:00:00 2001 +From fd329cb4cd76ed6221f9ef4f9edddd13fb77d2cf Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Wed, 9 Oct 2024 09:39:46 +0000 -Subject: [PATCH 4/4] Add missing typename +Subject: [PATCH 3/3] Add missing typename --- jaxlib/gpu/solver_kernels_ffi.cc | 2 +- diff --git a/recipe/patches/0003-Fix-XLA_FFIR_REGISTER-macros.patch b/recipe/patches/0003-Fix-XLA_FFIR_REGISTER-macros.patch deleted file mode 100644 index f8ba9b79..00000000 --- a/recipe/patches/0003-Fix-XLA_FFIR_REGISTER-macros.patch +++ /dev/null @@ -1,134 +0,0 @@ -From 15bb27516b895aa8b1d9564dae579d41514ed4b8 Mon Sep 17 00:00:00 2001 -From: "Uwe L. Korn" -Date: Tue, 8 Oct 2024 12:57:07 +0000 -Subject: [PATCH 3/4] Fix XLA_FFIR_REGISTER macros - ---- - ..._FFI_REGISTER_-macros-global-qualifi.patch | 118 ++++++++++++++++++ - 1 file changed, 118 insertions(+) - create mode 100644 third_party/xla/0005-PR-17477-Fix-XLA_FFI_REGISTER_-macros-global-qualifi.patch - -diff --git a/third_party/xla/0005-PR-17477-Fix-XLA_FFI_REGISTER_-macros-global-qualifi.patch b/third_party/xla/0005-PR-17477-Fix-XLA_FFI_REGISTER_-macros-global-qualifi.patch -new file mode 100644 -index 0000000..8fc06e0 ---- /dev/null -+++ b/third_party/xla/0005-PR-17477-Fix-XLA_FFI_REGISTER_-macros-global-qualifi.patch -@@ -0,0 +1,118 @@ -+From 6b73d321ad45ca86cba50a308f12215a6f96ee28 Mon Sep 17 00:00:00 2001 -+From: Alexander Pivovarov -+Date: Mon, 23 Sep 2024 00:35:34 -0700 -+Subject: [PATCH 5/5] PR #17477: Fix XLA_FFI_REGISTER_ macros - global -+ qualification of class name is invalid -+ -+Imported from GitHub PR https://github.com/openxla/xla/pull/17477 -+ -+Currently `bazel test //xla/ffi/api:ffi_test` fails with compilation error: -+```bash -+In file included from ./xla/ffi/api/ffi.h:48, -+ from xla/ffi/api/ffi_test.cc:16: -+./xla/ffi/api/api.h:1774:38: error: global qualification of class name is invalid before '{' token -+ 1774 | struct ::xla::ffi::AttrDecoding { \ -+ | ^ -+xla/ffi/api/ffi_test.cc:71:1: note: in expansion of macro 'XLA_FFI_REGISTER_ENUM_ATTR_DECODING' -+ 71 | XLA_FFI_REGISTER_ENUM_ATTR_DECODING(::xla::ffi::Int32BasedEnum); -+ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+``` -+ -+To solve "global qualification of class name is invalid" issue we can add `namespace xla::ffi { ` block to the macros and remove `::xla::ffi::` prefix in struct decls inside `XLA_FFI_REGISTER_*` macros -+ -+### Testing -+``` -+bazel test //xla/ffi/... -+ -+INFO: Build completed successfully, 47 total actions -+//xla/ffi:ffi_test PASSED in 0.5s -+//xla/ffi:call_frame_test PASSED in 0.1s -+//xla/ffi:execution_context_test PASSED in 0.1s -+//xla/ffi:execution_state_test PASSED in 0.1s -+//xla/ffi:type_id_registry_test PASSED in 0.1s -+//xla/ffi/api:ffi_test PASSED in 0.5s -+ -+Executed 6 out of 6 tests: 6 tests pass. -+``` -+ -+### Related links: -+- https://github.com/openxla/xla/pull/15747 -+- https://github.com/openxla/xla/commit/ef49d057bffd4b8ff14bda925d48ea7610aaa856 -+ -+Copybara import of the project: -+ -+-- -+fffa62b2d47feb915c0c6300b0af5540974911d4 by Alexander Pivovarov : -+ -+Fix XLA_FFI_REGISTER_ macros -+ -+Merging this change closes #17477 -+ -+COPYBARA_INTEGRATE_REVIEW=https://github.com/openxla/xla/pull/17477 from apivovarov:fix_XLA_FFI_REGISTER_macro fffa62b2d47feb915c0c6300b0af5540974911d4 -+PiperOrigin-RevId: 677666742 -+--- -+ xla/ffi/api/api.h | 20 ++++++++++++++------ -+ 1 file changed, 14 insertions(+), 6 deletions(-) -+ -+diff --git a/xla/ffi/api/api.h b/xla/ffi/api/api.h -+index 8e3774f45c..914a1a8697 100644 -+--- a/xla/ffi/api/api.h -++++ b/xla/ffi/api/api.h -+@@ -1678,13 +1678,14 @@ auto DictionaryDecoder(Members... m) { -+ // binding specification inference from a callable signature. -+ // -+ #define XLA_FFI_REGISTER_STRUCT_ATTR_DECODING(T, ...) \ -++ namespace xla::ffi { \ -+ template <> \ -+- struct ::xla::ffi::AttrsBinding { \ -++ struct AttrsBinding { \ -+ using Attrs = T; \ -+ }; \ -+ \ -+ template <> \ -+- struct ::xla::ffi::AttrDecoding { \ -++ struct AttrDecoding { \ -+ using Type = T; \ -+ static std::optional Decode(XLA_FFI_AttrType type, void* attr, \ -+ DiagnosticEngine& diagnostic) { \ -+@@ -1699,13 +1700,17 @@ auto DictionaryDecoder(Members... m) { -+ reinterpret_cast(attr), \ -+ internal::StructMemberNames(__VA_ARGS__), diagnostic); \ -+ } \ -+- } -++ }; \ -++ } /* namespace xla::ffi */ \ -++ static_assert(std::is_class_v<::xla::ffi::AttrsBinding>); \ -++ static_assert(std::is_class_v<::xla::ffi::AttrDecoding>) -+ -+ // Registers decoding for a user-defined enum class type. Uses enums underlying -+ // type to decode the attribute as a scalar value and cast it to the enum type. -+ #define XLA_FFI_REGISTER_ENUM_ATTR_DECODING(T) \ -++ namespace xla::ffi { \ -+ template <> \ -+- struct ::xla::ffi::AttrDecoding { \ -++ struct AttrDecoding { \ -+ using Type = T; \ -+ using U = std::underlying_type_t; \ -+ static_assert(std::is_enum::value, "Expected enum class"); \ -+@@ -1718,7 +1723,8 @@ auto DictionaryDecoder(Members... m) { -+ } \ -+ \ -+ auto* scalar = reinterpret_cast(attr); \ -+- auto expected_dtype = internal::NativeTypeToCApiDataType(); \ -++ auto expected_dtype = \ -++ ::xla::ffi::internal::NativeTypeToCApiDataType(); \ -+ if (XLA_FFI_PREDICT_FALSE(scalar->dtype != expected_dtype)) { \ -+ return diagnostic.Emit("Wrong scalar data type: expected ") \ -+ << expected_dtype << " but got " << scalar->dtype; \ -+@@ -1727,7 +1733,9 @@ auto DictionaryDecoder(Members... m) { -+ auto underlying = *reinterpret_cast(scalar->value); \ -+ return static_cast(underlying); \ -+ } \ -+- }; -++ }; \ -++ } /* namespace xla::ffi */ \ -++ static_assert(std::is_class_v<::xla::ffi::AttrDecoding>) -+ -+ //===----------------------------------------------------------------------===// -+ // Helper macro for registering FFI implementations diff --git a/recipe/patches/c61e49cd4a6c58b3b9823a32fe1320d65c98c45d.patch b/recipe/patches/c61e49cd4a6c58b3b9823a32fe1320d65c98c45d.patch deleted file mode 100644 index 3fc88041..00000000 --- a/recipe/patches/c61e49cd4a6c58b3b9823a32fe1320d65c98c45d.patch +++ /dev/null @@ -1,62 +0,0 @@ -From c61e49cd4a6c58b3b9823a32fe1320d65c98c45d Mon Sep 17 00:00:00 2001 -From: Dan Foreman-Mackey -Date: Tue, 17 Sep 2024 11:22:49 -0700 -Subject: [PATCH] Simplify logic in jaxlib FFI_ASSIGN_OR_RETURN macro, and fix - gcc build. - -In https://github.com/google/jax/issues/23687, it was reported that recent jaxlib changes introduced issues when building from source using gcc, instead of the clang build that we test. I'm not 100% sure why the previous macro didn't work, but in investigating I found a version that seems to work on both clang and gcc with simpler logic. - -PiperOrigin-RevId: 675641259 ---- - jaxlib/ffi_helpers.h | 38 +++++++++----------------------------- - 1 file changed, 9 insertions(+), 29 deletions(-) - -diff --git a/jaxlib/ffi_helpers.h b/jaxlib/ffi_helpers.h -index fba57d11b9f2..47505020f3b8 100644 ---- a/jaxlib/ffi_helpers.h -+++ b/jaxlib/ffi_helpers.h -@@ -62,35 +62,15 @@ namespace jax { - FFI_ASSIGN_OR_RETURN_CONCAT_INNER_(x, y) - - // All the macros below here are to handle the case in FFI_ASSIGN_OR_RETURN --// where the LHS is wrapped in parentheses. --#define FFI_ASSIGN_OR_RETURN_EAT(...) --#define FFI_ASSIGN_OR_RETURN_REM(...) __VA_ARGS__ --#define FFI_ASSIGN_OR_RETURN_EMPTY() -- --#define FFI_ASSIGN_OR_RETURN_IS_EMPTY_INNER(...) \ -- FFI_ASSIGN_OR_RETURN_IS_EMPTY_INNER_HELPER((__VA_ARGS__, 0, 1)) --#define FFI_ASSIGN_OR_RETURN_IS_EMPTY_INNER_HELPER(args) \ -- FFI_ASSIGN_OR_RETURN_IS_EMPTY_INNER_I args --#define FFI_ASSIGN_OR_RETURN_IS_EMPTY_INNER_I(e0, e1, is_empty, ...) is_empty -- --#define FFI_ASSIGN_OR_RETURN_IS_EMPTY(...) \ -- FFI_ASSIGN_OR_RETURN_IS_EMPTY_I(__VA_ARGS__) --#define FFI_ASSIGN_OR_RETURN_IS_EMPTY_I(...) \ -- FFI_ASSIGN_OR_RETURN_IS_EMPTY_INNER(_, ##__VA_ARGS__) -- --#define FFI_ASSIGN_OR_RETURN_IF_1(_Then, _Else) _Then --#define FFI_ASSIGN_OR_RETURN_IF_0(_Then, _Else) _Else --#define FFI_ASSIGN_OR_RETURN_IF(_Cond, _Then, _Else) \ -- FFI_ASSIGN_OR_RETURN_CONCAT_(FFI_ASSIGN_OR_RETURN_IF_, _Cond)(_Then, _Else) -- --#define FFI_ASSIGN_OR_RETURN_IS_PARENTHESIZED(...) \ -- FFI_ASSIGN_OR_RETURN_IS_EMPTY(FFI_ASSIGN_OR_RETURN_EAT __VA_ARGS__) -- --#define FFI_ASSIGN_OR_RETURN_UNPARENTHESIZE_IF_PARENTHESIZED(...) \ -- FFI_ASSIGN_OR_RETURN_IF(FFI_ASSIGN_OR_RETURN_IS_PARENTHESIZED(__VA_ARGS__), \ -- FFI_ASSIGN_OR_RETURN_REM, \ -- FFI_ASSIGN_OR_RETURN_EMPTY()) \ -- __VA_ARGS__ -+// where the LHS is wrapped in parentheses. See a more detailed discussion at -+// https://stackoverflow.com/a/62984543 -+#define FFI_ASSIGN_OR_RETURN_UNPARENTHESIZE_IF_PARENTHESIZED(X) \ -+ FFI_ASSIGN_OR_RETURN_ESCAPE(FFI_ASSIGN_OR_RETURN_EMPTY X) -+#define FFI_ASSIGN_OR_RETURN_EMPTY(...) FFI_ASSIGN_OR_RETURN_EMPTY __VA_ARGS__ -+#define FFI_ASSIGN_OR_RETURN_ESCAPE(...) \ -+ FFI_ASSIGN_OR_RETURN_ESCAPE_(__VA_ARGS__) -+#define FFI_ASSIGN_OR_RETURN_ESCAPE_(...) FFI_ASSIGN_OR_RETURN_##__VA_ARGS__ -+#define FFI_ASSIGN_OR_RETURN_FFI_ASSIGN_OR_RETURN_EMPTY - - template - inline absl::StatusOr MaybeCastNoOverflow(
VariantStatus
linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12numpy2.0python3.10.____cpythonlinux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version12numpy2.0python3.10.____cpython - variant + variant
linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12numpy2.0python3.11.____cpythonlinux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version12numpy2.0python3.11.____cpython - variant + variant
linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12numpy2.0python3.12.____cpythonlinux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version12numpy2.0python3.12.____cpython - variant + variant
linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12numpy2python3.13.____cp313linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version12numpy2python3.13.____cp313 - variant + variant