diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml new file mode 100755 index 000000000..d55741553 --- /dev/null +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -0,0 +1,72 @@ +# This file was generated automatically from conda-smithy. To update this configuration, +# update the conda-forge.yml and/or the recipe/meta.yaml. +# -*- mode: yaml -*- + +jobs: +- job: linux + pool: + vmImage: ubuntu-latest + strategy: + matrix: + linux_aarch64_c_compiler_version11cuda_compiler_version12.8cxx_compiler_version11python3.10.____cpython: + CONFIG: linux_aarch64_c_compiler_version11cuda_compiler_version12.8cxx_compiler_version11python3.10.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-aarch64:alma9 + linux_aarch64_c_compiler_version11cuda_compiler_version12.8cxx_compiler_version11python3.11.____cpython: + CONFIG: linux_aarch64_c_compiler_version11cuda_compiler_version12.8cxx_compiler_version11python3.11.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-aarch64:alma9 + linux_aarch64_c_compiler_version11cuda_compiler_version12.8cxx_compiler_version11python3.12.____cpython: + CONFIG: linux_aarch64_c_compiler_version11cuda_compiler_version12.8cxx_compiler_version11python3.12.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-aarch64:alma9 + linux_aarch64_c_compiler_version11cuda_compiler_version12.8cxx_compiler_version11python3.9.____cpython: + CONFIG: linux_aarch64_c_compiler_version11cuda_compiler_version12.8cxx_compiler_version11python3.9.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-aarch64:alma9 + linux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13python3.10.____cpython: + CONFIG: linux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13python3.10.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-aarch64:alma9 + linux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13python3.11.____cpython: + CONFIG: linux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13python3.11.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-aarch64:alma9 + linux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13python3.12.____cpython: + CONFIG: linux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13python3.12.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-aarch64:alma9 + linux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13python3.9.____cpython: + CONFIG: linux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13python3.9.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-aarch64:alma9 + timeoutInMinutes: 360 + variables: {} + + steps: + # configure qemu binfmt-misc running. This allows us to run docker containers + # embedded qemu-static + - script: | + docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes + ls /proc/sys/fs/binfmt_misc/ + condition: not(startsWith(variables['CONFIG'], 'linux_64')) + displayName: Configure binfmt_misc + + - script: | + export CI=azure + export flow_run_id=azure_$(Build.BuildNumber).$(System.JobAttempt) + export remote_url=$(Build.Repository.Uri) + export sha=$(Build.SourceVersion) + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then + export IS_PR_BUILD="True" + else + export IS_PR_BUILD="False" + fi + .scripts/run_docker_build.sh + displayName: Run docker build + env: + BINSTAR_TOKEN: $(BINSTAR_TOKEN) + FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) + STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) \ No newline at end of file diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 8868805c6..6c6bd902f 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -20,19 +20,7 @@ jobs: osx_64_python3.9.____cpython: CONFIG: osx_64_python3.9.____cpython UPLOAD_PACKAGES: 'True' - osx_arm64_python3.10.____cpython: - CONFIG: osx_arm64_python3.10.____cpython - UPLOAD_PACKAGES: 'True' - osx_arm64_python3.11.____cpython: - CONFIG: osx_arm64_python3.11.____cpython - UPLOAD_PACKAGES: 'True' - osx_arm64_python3.12.____cpython: - CONFIG: osx_arm64_python3.12.____cpython - UPLOAD_PACKAGES: 'True' - osx_arm64_python3.9.____cpython: - CONFIG: osx_arm64_python3.9.____cpython - UPLOAD_PACKAGES: 'True' - timeoutInMinutes: 1 + timeoutInMinutes: 360 variables: {} steps: diff --git a/.ci_support/linux_64_c_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13python3.10.____cpython.yaml b/.ci_support/linux_64_cuda_compiler_version12.6python3.10.____cpython.yaml similarity index 93% rename from .ci_support/linux_64_c_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13python3.10.____cpython.yaml rename to .ci_support/linux_64_cuda_compiler_version12.6python3.10.____cpython.yaml index c008a7a22..b6e487514 100644 --- a/.ci_support/linux_64_c_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13python3.10.____cpython.yaml +++ b/.ci_support/linux_64_cuda_compiler_version12.6python3.10.____cpython.yaml @@ -47,7 +47,7 @@ libprotobuf: nccl: - '2' numpy: -- '2.0' +- '2' openssl: - '3' perl: @@ -69,10 +69,6 @@ tensorflow: zip_keys: - - c_compiler_version - cxx_compiler_version - - cuda_compiler - cuda_compiler_version - - docker_image -- - python - - numpy zlib: - '1' diff --git a/.ci_support/linux_64_c_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13python3.11.____cpython.yaml b/.ci_support/linux_64_cuda_compiler_version12.6python3.11.____cpython.yaml similarity index 93% rename from .ci_support/linux_64_c_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13python3.11.____cpython.yaml rename to .ci_support/linux_64_cuda_compiler_version12.6python3.11.____cpython.yaml index 13854d416..c52ac73f3 100644 --- a/.ci_support/linux_64_c_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13python3.11.____cpython.yaml +++ b/.ci_support/linux_64_cuda_compiler_version12.6python3.11.____cpython.yaml @@ -47,7 +47,7 @@ libprotobuf: nccl: - '2' numpy: -- '2.0' +- '2' openssl: - '3' perl: @@ -69,10 +69,6 @@ tensorflow: zip_keys: - - c_compiler_version - cxx_compiler_version - - cuda_compiler - cuda_compiler_version - - docker_image -- - python - - numpy zlib: - '1' diff --git a/.ci_support/linux_64_c_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13python3.12.____cpython.yaml b/.ci_support/linux_64_cuda_compiler_version12.6python3.12.____cpython.yaml similarity index 93% rename from .ci_support/linux_64_c_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13python3.12.____cpython.yaml rename to .ci_support/linux_64_cuda_compiler_version12.6python3.12.____cpython.yaml index 2ed17df65..47fb81213 100644 --- a/.ci_support/linux_64_c_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13python3.12.____cpython.yaml +++ b/.ci_support/linux_64_cuda_compiler_version12.6python3.12.____cpython.yaml @@ -47,7 +47,7 @@ libprotobuf: nccl: - '2' numpy: -- '2.0' +- '2' openssl: - '3' perl: @@ -69,10 +69,6 @@ tensorflow: zip_keys: - - c_compiler_version - cxx_compiler_version - - cuda_compiler - cuda_compiler_version - - docker_image -- - python - - numpy zlib: - '1' diff --git a/.ci_support/linux_64_c_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13python3.9.____cpython.yaml b/.ci_support/linux_64_cuda_compiler_version12.6python3.9.____cpython.yaml similarity index 93% rename from .ci_support/linux_64_c_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13python3.9.____cpython.yaml rename to .ci_support/linux_64_cuda_compiler_version12.6python3.9.____cpython.yaml index b9d3f1cce..3b2c0a886 100644 --- a/.ci_support/linux_64_c_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13python3.9.____cpython.yaml +++ b/.ci_support/linux_64_cuda_compiler_version12.6python3.9.____cpython.yaml @@ -47,7 +47,7 @@ libprotobuf: nccl: - '2' numpy: -- '2.0' +- '2' openssl: - '3' perl: @@ -69,10 +69,6 @@ tensorflow: zip_keys: - - c_compiler_version - cxx_compiler_version - - cuda_compiler - cuda_compiler_version - - docker_image -- - python - - numpy zlib: - '1' diff --git a/.ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13python3.10.____cpython.yaml b/.ci_support/linux_64_cuda_compiler_versionNonepython3.10.____cpython.yaml similarity index 92% rename from .ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13python3.10.____cpython.yaml rename to .ci_support/linux_64_cuda_compiler_versionNonepython3.10.____cpython.yaml index aba9594b3..255045d7b 100644 --- a/.ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13python3.10.____cpython.yaml +++ b/.ci_support/linux_64_cuda_compiler_versionNonepython3.10.____cpython.yaml @@ -13,7 +13,7 @@ channel_sources: channel_targets: - conda-forge main cuda_compiler: -- None +- cuda-nvcc cuda_compiler_version: - None cudnn: @@ -47,7 +47,7 @@ libprotobuf: nccl: - '2' numpy: -- '2.0' +- '2' openssl: - '3' perl: @@ -69,10 +69,6 @@ tensorflow: zip_keys: - - c_compiler_version - cxx_compiler_version - - cuda_compiler - cuda_compiler_version - - docker_image -- - python - - numpy zlib: - '1' diff --git a/.ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13python3.11.____cpython.yaml b/.ci_support/linux_64_cuda_compiler_versionNonepython3.11.____cpython.yaml similarity index 92% rename from .ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13python3.11.____cpython.yaml rename to .ci_support/linux_64_cuda_compiler_versionNonepython3.11.____cpython.yaml index ff9250874..f9ee18af9 100644 --- a/.ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13python3.11.____cpython.yaml +++ b/.ci_support/linux_64_cuda_compiler_versionNonepython3.11.____cpython.yaml @@ -13,7 +13,7 @@ channel_sources: channel_targets: - conda-forge main cuda_compiler: -- None +- cuda-nvcc cuda_compiler_version: - None cudnn: @@ -47,7 +47,7 @@ libprotobuf: nccl: - '2' numpy: -- '2.0' +- '2' openssl: - '3' perl: @@ -69,10 +69,6 @@ tensorflow: zip_keys: - - c_compiler_version - cxx_compiler_version - - cuda_compiler - cuda_compiler_version - - docker_image -- - python - - numpy zlib: - '1' diff --git a/.ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13python3.12.____cpython.yaml b/.ci_support/linux_64_cuda_compiler_versionNonepython3.12.____cpython.yaml similarity index 92% rename from .ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13python3.12.____cpython.yaml rename to .ci_support/linux_64_cuda_compiler_versionNonepython3.12.____cpython.yaml index 55d773bfa..87b2e4e25 100644 --- a/.ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13python3.12.____cpython.yaml +++ b/.ci_support/linux_64_cuda_compiler_versionNonepython3.12.____cpython.yaml @@ -13,7 +13,7 @@ channel_sources: channel_targets: - conda-forge main cuda_compiler: -- None +- cuda-nvcc cuda_compiler_version: - None cudnn: @@ -47,7 +47,7 @@ libprotobuf: nccl: - '2' numpy: -- '2.0' +- '2' openssl: - '3' perl: @@ -69,10 +69,6 @@ tensorflow: zip_keys: - - c_compiler_version - cxx_compiler_version - - cuda_compiler - cuda_compiler_version - - docker_image -- - python - - numpy zlib: - '1' diff --git a/.ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13python3.9.____cpython.yaml b/.ci_support/linux_64_cuda_compiler_versionNonepython3.9.____cpython.yaml similarity index 92% rename from .ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13python3.9.____cpython.yaml rename to .ci_support/linux_64_cuda_compiler_versionNonepython3.9.____cpython.yaml index 62b9671fc..6edde8ad5 100644 --- a/.ci_support/linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13python3.9.____cpython.yaml +++ b/.ci_support/linux_64_cuda_compiler_versionNonepython3.9.____cpython.yaml @@ -13,7 +13,7 @@ channel_sources: channel_targets: - conda-forge main cuda_compiler: -- None +- cuda-nvcc cuda_compiler_version: - None cudnn: @@ -47,7 +47,7 @@ libprotobuf: nccl: - '2' numpy: -- '2.0' +- '2' openssl: - '3' perl: @@ -69,10 +69,6 @@ tensorflow: zip_keys: - - c_compiler_version - cxx_compiler_version - - cuda_compiler - cuda_compiler_version - - docker_image -- - python - - numpy zlib: - '1' diff --git a/.ci_support/linux_aarch64_c_compiler_version11cuda_compiler_version12.8cxx_compiler_version11python3.10.____cpython.yaml b/.ci_support/linux_aarch64_c_compiler_version11cuda_compiler_version12.8cxx_compiler_version11python3.10.____cpython.yaml new file mode 100644 index 000000000..c5d54e9e0 --- /dev/null +++ b/.ci_support/linux_aarch64_c_compiler_version11cuda_compiler_version12.8cxx_compiler_version11python3.10.____cpython.yaml @@ -0,0 +1,74 @@ +c_compiler: +- gcc +c_compiler_version: +- '11' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +cdt_name: +- conda +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- '12.8' +cudnn: +- '9' +cxx_compiler: +- gxx +cxx_compiler_version: +- '11' +docker_image: +- quay.io/condaforge/linux-anvil-aarch64:alma9 +flatbuffers: +- 24.12.23 +giflib: +- '5.2' +github_actions_labels: +- cirun-openstack-cpu-2xlarge +icu: +- '75' +libabseil: +- '20240722' +libcurl: +- '8' +libgrpc: +- '1.67' +libjpeg_turbo: +- '3' +libpng: +- '1.6' +libprotobuf: +- 5.28.3 +nccl: +- '2' +numpy: +- '2' +openssl: +- '3' +perl: +- 5.32.1 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.10.* *_cpython +snappy: +- '1.2' +sqlite: +- '3' +target_platform: +- linux-aarch64 +tensorflow: +- '2.16' +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - cuda_compiler_version +zlib: +- '1' diff --git a/.ci_support/linux_aarch64_c_compiler_version11cuda_compiler_version12.8cxx_compiler_version11python3.11.____cpython.yaml b/.ci_support/linux_aarch64_c_compiler_version11cuda_compiler_version12.8cxx_compiler_version11python3.11.____cpython.yaml new file mode 100644 index 000000000..d6a5c98f3 --- /dev/null +++ b/.ci_support/linux_aarch64_c_compiler_version11cuda_compiler_version12.8cxx_compiler_version11python3.11.____cpython.yaml @@ -0,0 +1,74 @@ +c_compiler: +- gcc +c_compiler_version: +- '11' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +cdt_name: +- conda +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- '12.8' +cudnn: +- '9' +cxx_compiler: +- gxx +cxx_compiler_version: +- '11' +docker_image: +- quay.io/condaforge/linux-anvil-aarch64:alma9 +flatbuffers: +- 24.12.23 +giflib: +- '5.2' +github_actions_labels: +- cirun-openstack-cpu-2xlarge +icu: +- '75' +libabseil: +- '20240722' +libcurl: +- '8' +libgrpc: +- '1.67' +libjpeg_turbo: +- '3' +libpng: +- '1.6' +libprotobuf: +- 5.28.3 +nccl: +- '2' +numpy: +- '2' +openssl: +- '3' +perl: +- 5.32.1 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.11.* *_cpython +snappy: +- '1.2' +sqlite: +- '3' +target_platform: +- linux-aarch64 +tensorflow: +- '2.16' +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - cuda_compiler_version +zlib: +- '1' diff --git a/.ci_support/linux_aarch64_c_compiler_version11cuda_compiler_version12.8cxx_compiler_version11python3.12.____cpython.yaml b/.ci_support/linux_aarch64_c_compiler_version11cuda_compiler_version12.8cxx_compiler_version11python3.12.____cpython.yaml new file mode 100644 index 000000000..f962096d0 --- /dev/null +++ b/.ci_support/linux_aarch64_c_compiler_version11cuda_compiler_version12.8cxx_compiler_version11python3.12.____cpython.yaml @@ -0,0 +1,74 @@ +c_compiler: +- gcc +c_compiler_version: +- '11' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +cdt_name: +- conda +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- '12.8' +cudnn: +- '9' +cxx_compiler: +- gxx +cxx_compiler_version: +- '11' +docker_image: +- quay.io/condaforge/linux-anvil-aarch64:alma9 +flatbuffers: +- 24.12.23 +giflib: +- '5.2' +github_actions_labels: +- cirun-openstack-cpu-2xlarge +icu: +- '75' +libabseil: +- '20240722' +libcurl: +- '8' +libgrpc: +- '1.67' +libjpeg_turbo: +- '3' +libpng: +- '1.6' +libprotobuf: +- 5.28.3 +nccl: +- '2' +numpy: +- '2' +openssl: +- '3' +perl: +- 5.32.1 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.12.* *_cpython +snappy: +- '1.2' +sqlite: +- '3' +target_platform: +- linux-aarch64 +tensorflow: +- '2.16' +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - cuda_compiler_version +zlib: +- '1' diff --git a/.ci_support/linux_aarch64_c_compiler_version11cuda_compiler_version12.8cxx_compiler_version11python3.9.____cpython.yaml b/.ci_support/linux_aarch64_c_compiler_version11cuda_compiler_version12.8cxx_compiler_version11python3.9.____cpython.yaml new file mode 100644 index 000000000..59064a818 --- /dev/null +++ b/.ci_support/linux_aarch64_c_compiler_version11cuda_compiler_version12.8cxx_compiler_version11python3.9.____cpython.yaml @@ -0,0 +1,74 @@ +c_compiler: +- gcc +c_compiler_version: +- '11' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +cdt_name: +- conda +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- '12.8' +cudnn: +- '9' +cxx_compiler: +- gxx +cxx_compiler_version: +- '11' +docker_image: +- quay.io/condaforge/linux-anvil-aarch64:alma9 +flatbuffers: +- 24.12.23 +giflib: +- '5.2' +github_actions_labels: +- cirun-openstack-cpu-2xlarge +icu: +- '75' +libabseil: +- '20240722' +libcurl: +- '8' +libgrpc: +- '1.67' +libjpeg_turbo: +- '3' +libpng: +- '1.6' +libprotobuf: +- 5.28.3 +nccl: +- '2' +numpy: +- '2' +openssl: +- '3' +perl: +- 5.32.1 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.9.* *_cpython +snappy: +- '1.2' +sqlite: +- '3' +target_platform: +- linux-aarch64 +tensorflow: +- '2.16' +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - cuda_compiler_version +zlib: +- '1' diff --git a/.ci_support/linux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13python3.10.____cpython.yaml b/.ci_support/linux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13python3.10.____cpython.yaml new file mode 100644 index 000000000..8bd0d1167 --- /dev/null +++ b/.ci_support/linux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13python3.10.____cpython.yaml @@ -0,0 +1,74 @@ +c_compiler: +- gcc +c_compiler_version: +- '13' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +cdt_name: +- conda +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- None +cudnn: +- '9' +cxx_compiler: +- gxx +cxx_compiler_version: +- '13' +docker_image: +- quay.io/condaforge/linux-anvil-aarch64:alma9 +flatbuffers: +- 24.12.23 +giflib: +- '5.2' +github_actions_labels: +- cirun-openstack-cpu-2xlarge +icu: +- '75' +libabseil: +- '20240722' +libcurl: +- '8' +libgrpc: +- '1.67' +libjpeg_turbo: +- '3' +libpng: +- '1.6' +libprotobuf: +- 5.28.3 +nccl: +- '2' +numpy: +- '2' +openssl: +- '3' +perl: +- 5.32.1 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.10.* *_cpython +snappy: +- '1.2' +sqlite: +- '3' +target_platform: +- linux-aarch64 +tensorflow: +- '2.16' +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - cuda_compiler_version +zlib: +- '1' diff --git a/.ci_support/linux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13python3.11.____cpython.yaml b/.ci_support/linux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13python3.11.____cpython.yaml new file mode 100644 index 000000000..5d43bf2e6 --- /dev/null +++ b/.ci_support/linux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13python3.11.____cpython.yaml @@ -0,0 +1,74 @@ +c_compiler: +- gcc +c_compiler_version: +- '13' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +cdt_name: +- conda +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- None +cudnn: +- '9' +cxx_compiler: +- gxx +cxx_compiler_version: +- '13' +docker_image: +- quay.io/condaforge/linux-anvil-aarch64:alma9 +flatbuffers: +- 24.12.23 +giflib: +- '5.2' +github_actions_labels: +- cirun-openstack-cpu-2xlarge +icu: +- '75' +libabseil: +- '20240722' +libcurl: +- '8' +libgrpc: +- '1.67' +libjpeg_turbo: +- '3' +libpng: +- '1.6' +libprotobuf: +- 5.28.3 +nccl: +- '2' +numpy: +- '2' +openssl: +- '3' +perl: +- 5.32.1 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.11.* *_cpython +snappy: +- '1.2' +sqlite: +- '3' +target_platform: +- linux-aarch64 +tensorflow: +- '2.16' +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - cuda_compiler_version +zlib: +- '1' diff --git a/.ci_support/linux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13python3.12.____cpython.yaml b/.ci_support/linux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13python3.12.____cpython.yaml new file mode 100644 index 000000000..ab23372e5 --- /dev/null +++ b/.ci_support/linux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13python3.12.____cpython.yaml @@ -0,0 +1,74 @@ +c_compiler: +- gcc +c_compiler_version: +- '13' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +cdt_name: +- conda +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- None +cudnn: +- '9' +cxx_compiler: +- gxx +cxx_compiler_version: +- '13' +docker_image: +- quay.io/condaforge/linux-anvil-aarch64:alma9 +flatbuffers: +- 24.12.23 +giflib: +- '5.2' +github_actions_labels: +- cirun-openstack-cpu-2xlarge +icu: +- '75' +libabseil: +- '20240722' +libcurl: +- '8' +libgrpc: +- '1.67' +libjpeg_turbo: +- '3' +libpng: +- '1.6' +libprotobuf: +- 5.28.3 +nccl: +- '2' +numpy: +- '2' +openssl: +- '3' +perl: +- 5.32.1 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.12.* *_cpython +snappy: +- '1.2' +sqlite: +- '3' +target_platform: +- linux-aarch64 +tensorflow: +- '2.16' +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - cuda_compiler_version +zlib: +- '1' diff --git a/.ci_support/linux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13python3.9.____cpython.yaml b/.ci_support/linux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13python3.9.____cpython.yaml new file mode 100644 index 000000000..53e7266a0 --- /dev/null +++ b/.ci_support/linux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13python3.9.____cpython.yaml @@ -0,0 +1,74 @@ +c_compiler: +- gcc +c_compiler_version: +- '13' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +cdt_name: +- conda +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- None +cudnn: +- '9' +cxx_compiler: +- gxx +cxx_compiler_version: +- '13' +docker_image: +- quay.io/condaforge/linux-anvil-aarch64:alma9 +flatbuffers: +- 24.12.23 +giflib: +- '5.2' +github_actions_labels: +- cirun-openstack-cpu-2xlarge +icu: +- '75' +libabseil: +- '20240722' +libcurl: +- '8' +libgrpc: +- '1.67' +libjpeg_turbo: +- '3' +libpng: +- '1.6' +libprotobuf: +- 5.28.3 +nccl: +- '2' +numpy: +- '2' +openssl: +- '3' +perl: +- 5.32.1 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.9.* *_cpython +snappy: +- '1.2' +sqlite: +- '3' +target_platform: +- linux-aarch64 +tensorflow: +- '2.16' +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - cuda_compiler_version +zlib: +- '1' diff --git a/.ci_support/migrations/cuda128.yaml b/.ci_support/migrations/cuda128.yaml new file mode 100644 index 000000000..a46fec6c0 --- /dev/null +++ b/.ci_support/migrations/cuda128.yaml @@ -0,0 +1,65 @@ +migrator_ts: 1738229377 +__migrator: + kind: + version + use_local: true + migration_number: + 1 + build_number: + 1 + paused: false + override_cbc_keys: + - cuda_compiler_stub + operation: key_add + check_solvable: false + primary_key: cuda_compiler_version + ordering: + cuda_compiler: + - None + - nvcc + - cuda-nvcc + cuda_compiler_version: + - None + - 11.8 + - 12.4 + - 12.6 + - 12.8 + commit_message: | + Upgrade to CUDA 12.8 + + With CUDA 12.8, the following new architectures are added `sm_100`, `sm_101` and `sm_120`. + To build for these architectures, maintainers will need to add these to list of architectures + that their package builds for. + + ref: https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#new-features + +cuda_compiler: # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - cuda-nvcc # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +cuda_compiler_version: # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 12.8 # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +c_compiler_version: # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 13 # [((linux and x86_64) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 11 # [linux and aarch64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +cxx_compiler_version: # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 13 # [((linux and x86_64) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 11 # [linux and aarch64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +fortran_compiler_version: # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 13 # [((linux and x86_64) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 11 # [linux and aarch64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +docker_image: # [os.environ.get("BUILD_PLATFORM", "").startswith("linux-") and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + # CUDA 12 builds on CentOS 7 + - quay.io/condaforge/linux-anvil-x86_64:cos7 # [os.environ.get("CF_CUDA_ENABLED", "False") == "True" and os.environ.get("BUILD_PLATFORM") == "linux-64" and os.environ.get("DEFAULT_LINUX_VERSION", "alma9") == "cos7"] + - quay.io/condaforge/linux-anvil-aarch64:cos7 # [os.environ.get("CF_CUDA_ENABLED", "False") == "True" and os.environ.get("BUILD_PLATFORM") == "linux-aarch64" and os.environ.get("DEFAULT_LINUX_VERSION", "alma9") == "cos7"] + + # CUDA 12 builds on AlmaLinux 8 + - quay.io/condaforge/linux-anvil-x86_64:alma8 # [os.environ.get("CF_CUDA_ENABLED", "False") == "True" and os.environ.get("BUILD_PLATFORM") == "linux-64" and os.environ.get("DEFAULT_LINUX_VERSION", "alma9") in ("alma8", "ubi8")] + - quay.io/condaforge/linux-anvil-aarch64:alma8 # [os.environ.get("CF_CUDA_ENABLED", "False") == "True" and os.environ.get("BUILD_PLATFORM") == "linux-aarch64" and os.environ.get("DEFAULT_LINUX_VERSION", "alma9") in ("alma8", "ubi8")] + + # CUDA 12 builds on AlmaLinux 9 + - quay.io/condaforge/linux-anvil-x86_64:alma9 # [os.environ.get("CF_CUDA_ENABLED", "False") == "True" and os.environ.get("BUILD_PLATFORM") == "linux-64" and os.environ.get("DEFAULT_LINUX_VERSION", "alma9") == "alma9"] + - quay.io/condaforge/linux-anvil-aarch64:alma9 # [os.environ.get("CF_CUDA_ENABLED", "False") == "True" and os.environ.get("BUILD_PLATFORM") == "linux-aarch64" and os.environ.get("DEFAULT_LINUX_VERSION", "alma9") == "alma9"] diff --git a/.ci_support/migrations/flatbuffers241223.yaml b/.ci_support/migrations/flatbuffers241223.yaml deleted file mode 100644 index 90d5d5cf6..000000000 --- a/.ci_support/migrations/flatbuffers241223.yaml +++ /dev/null @@ -1,8 +0,0 @@ -__migrator: - build_number: 1 - commit_message: Rebuild for flatbuffers 24.12.23 - kind: version - migration_number: 1 -flatbuffers: -- 24.12.23 -migrator_ts: 1736590646.156009 diff --git a/.ci_support/migrations/numpy2.yaml b/.ci_support/migrations/numpy2.yaml deleted file mode 100644 index fd981b850..000000000 --- a/.ci_support/migrations/numpy2.yaml +++ /dev/null @@ -1,52 +0,0 @@ -__migrator: - build_number: 1 - kind: version - commit_message: | - Rebuild for numpy 2.0 - - TL;DR: The way we build against numpy has changed as of numpy 2.0. This bot - PR has updated the recipe to account for the changes (see below for details). - - The biggest change is that we no longer need to use the oldest available numpy - version at build time in order to support old numpy version at runtime - numpy - will by default use a compatible ABI for the oldest still-supported numpy versions. - - Additionally, we no longer need to use `{{ pin_compatible("numpy") }}` as a - run requirement - this has been handled for more than two years now by a - run-export on the numpy package itself. The migrator will therefore remove - any occurrences of this. - - However, you will still need to add the lower bound for the numpy version, - in line with what the upstream package requires. The default lower bound from - the run-export is `>=1.19`; if your package needs a newer version than that, - please add `numpy >=x.y` under `run:`. - - Finally, by default, building against numpy 2.0 will assume that the package - is compatible with numpy 2.0, which is not necessarily the case. You should - check that the upstream package explicitly supports numpy 2.0, otherwise you - need to add a `- numpy <2.0dev0` run requirement until that happens (check numpy - issue 26191 for an overview of the most important packages). - - ### To-Dos: - * [ ] Match run-requirements for numpy (i.e. check upstream `pyproject.toml` or however the project specifies numpy compatibility) - * If upstream is not yet compatible with numpy 2.0, add `numpy <2.0dev0` upper bound under `run:`. - * If upstream is already compatible with numpy 2.0, double-check their supported numpy versions. - * If upstream requires a minimum numpy version newer than 1.19, you need to add `numpy >=x.y` under `run:`. - * [ ] Remove any remaining occurrences of `{{ pin_compatible("numpy") }}` that the bot may have missed. - - PS. If the build does not compile anymore, this is almost certainly a sign that - the upstream project is not yet ready for numpy 2.0; do not close this PR until - a version compatible with numpy 2.0 has been released upstream and on this - feedstock (in the meantime, you can keep the bot from reopening this PR in - case of git conflicts by marking it as a draft). - - migration_number: 1 - -# needs to match length of zip {python, python_impl, numpy} -# as it is in global CBC in order to override it -numpy: - - 2.0 - - 2.0 - - 2.0 - - 2.0 -migrator_ts: 1713572489.295986 diff --git a/.ci_support/osx_64_python3.10.____cpython.yaml b/.ci_support/osx_64_python3.10.____cpython.yaml index 719bdd1d2..30dd901f2 100644 --- a/.ci_support/osx_64_python3.10.____cpython.yaml +++ b/.ci_support/osx_64_python3.10.____cpython.yaml @@ -15,7 +15,7 @@ channel_sources: channel_targets: - conda-forge main cuda_compiler: -- None +- cuda-nvcc cuda_compiler_version: - None cxx_compiler: @@ -43,7 +43,7 @@ libprotobuf: macos_machine: - x86_64-apple-darwin13.4.0 numpy: -- '2.0' +- '2' openssl: - '3' pin_run_as_build: @@ -63,7 +63,5 @@ tensorflow: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - numpy zlib: - '1' diff --git a/.ci_support/osx_64_python3.11.____cpython.yaml b/.ci_support/osx_64_python3.11.____cpython.yaml index c9ccfe0d5..2fe552bca 100644 --- a/.ci_support/osx_64_python3.11.____cpython.yaml +++ b/.ci_support/osx_64_python3.11.____cpython.yaml @@ -15,7 +15,7 @@ channel_sources: channel_targets: - conda-forge main cuda_compiler: -- None +- cuda-nvcc cuda_compiler_version: - None cxx_compiler: @@ -43,7 +43,7 @@ libprotobuf: macos_machine: - x86_64-apple-darwin13.4.0 numpy: -- '2.0' +- '2' openssl: - '3' pin_run_as_build: @@ -63,7 +63,5 @@ tensorflow: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - numpy zlib: - '1' diff --git a/.ci_support/osx_64_python3.12.____cpython.yaml b/.ci_support/osx_64_python3.12.____cpython.yaml index 65049e696..e443567df 100644 --- a/.ci_support/osx_64_python3.12.____cpython.yaml +++ b/.ci_support/osx_64_python3.12.____cpython.yaml @@ -15,7 +15,7 @@ channel_sources: channel_targets: - conda-forge main cuda_compiler: -- None +- cuda-nvcc cuda_compiler_version: - None cxx_compiler: @@ -43,7 +43,7 @@ libprotobuf: macos_machine: - x86_64-apple-darwin13.4.0 numpy: -- '2.0' +- '2' openssl: - '3' pin_run_as_build: @@ -63,7 +63,5 @@ tensorflow: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - numpy zlib: - '1' diff --git a/.ci_support/osx_64_python3.9.____cpython.yaml b/.ci_support/osx_64_python3.9.____cpython.yaml index ecb387103..59e20c5bf 100644 --- a/.ci_support/osx_64_python3.9.____cpython.yaml +++ b/.ci_support/osx_64_python3.9.____cpython.yaml @@ -15,7 +15,7 @@ channel_sources: channel_targets: - conda-forge main cuda_compiler: -- None +- cuda-nvcc cuda_compiler_version: - None cxx_compiler: @@ -43,7 +43,7 @@ libprotobuf: macos_machine: - x86_64-apple-darwin13.4.0 numpy: -- '2.0' +- '2' openssl: - '3' pin_run_as_build: @@ -63,7 +63,5 @@ tensorflow: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - numpy zlib: - '1' diff --git a/.ci_support/osx_arm64_python3.10.____cpython.yaml b/.ci_support/osx_arm64_python3.10.____cpython.yaml deleted file mode 100644 index c5998c68e..000000000 --- a/.ci_support/osx_arm64_python3.10.____cpython.yaml +++ /dev/null @@ -1,69 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '11.0' -MACOSX_SDK_VERSION: -- '11.0' -c_compiler: -- clang -c_compiler_version: -- '18' -c_stdlib: -- macosx_deployment_target -c_stdlib_version: -- '11.0' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cuda_compiler: -- None -cuda_compiler_version: -- None -cxx_compiler: -- clangxx -cxx_compiler_version: -- '18' -flatbuffers: -- 24.12.23 -giflib: -- '5.2' -icu: -- '75' -libabseil: -- '20240722' -libcurl: -- '8' -libgrpc: -- '1.67' -libjpeg_turbo: -- '3' -libpng: -- '1.6' -libprotobuf: -- 5.28.3 -macos_machine: -- arm64-apple-darwin20.0.0 -numpy: -- '2.0' -openssl: -- '3' -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.10.* *_cpython -snappy: -- '1.2' -sqlite: -- '3' -target_platform: -- osx-arm64 -tensorflow: -- '2.16' -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - python - - numpy -zlib: -- '1' diff --git a/.ci_support/osx_arm64_python3.11.____cpython.yaml b/.ci_support/osx_arm64_python3.11.____cpython.yaml deleted file mode 100644 index a9a99aee3..000000000 --- a/.ci_support/osx_arm64_python3.11.____cpython.yaml +++ /dev/null @@ -1,69 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '11.0' -MACOSX_SDK_VERSION: -- '11.0' -c_compiler: -- clang -c_compiler_version: -- '18' -c_stdlib: -- macosx_deployment_target -c_stdlib_version: -- '11.0' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cuda_compiler: -- None -cuda_compiler_version: -- None -cxx_compiler: -- clangxx -cxx_compiler_version: -- '18' -flatbuffers: -- 24.12.23 -giflib: -- '5.2' -icu: -- '75' -libabseil: -- '20240722' -libcurl: -- '8' -libgrpc: -- '1.67' -libjpeg_turbo: -- '3' -libpng: -- '1.6' -libprotobuf: -- 5.28.3 -macos_machine: -- arm64-apple-darwin20.0.0 -numpy: -- '2.0' -openssl: -- '3' -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.11.* *_cpython -snappy: -- '1.2' -sqlite: -- '3' -target_platform: -- osx-arm64 -tensorflow: -- '2.16' -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - python - - numpy -zlib: -- '1' diff --git a/.ci_support/osx_arm64_python3.12.____cpython.yaml b/.ci_support/osx_arm64_python3.12.____cpython.yaml deleted file mode 100644 index 9d3932304..000000000 --- a/.ci_support/osx_arm64_python3.12.____cpython.yaml +++ /dev/null @@ -1,69 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '11.0' -MACOSX_SDK_VERSION: -- '11.0' -c_compiler: -- clang -c_compiler_version: -- '18' -c_stdlib: -- macosx_deployment_target -c_stdlib_version: -- '11.0' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cuda_compiler: -- None -cuda_compiler_version: -- None -cxx_compiler: -- clangxx -cxx_compiler_version: -- '18' -flatbuffers: -- 24.12.23 -giflib: -- '5.2' -icu: -- '75' -libabseil: -- '20240722' -libcurl: -- '8' -libgrpc: -- '1.67' -libjpeg_turbo: -- '3' -libpng: -- '1.6' -libprotobuf: -- 5.28.3 -macos_machine: -- arm64-apple-darwin20.0.0 -numpy: -- '2.0' -openssl: -- '3' -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.12.* *_cpython -snappy: -- '1.2' -sqlite: -- '3' -target_platform: -- osx-arm64 -tensorflow: -- '2.16' -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - python - - numpy -zlib: -- '1' diff --git a/.ci_support/osx_arm64_python3.9.____cpython.yaml b/.ci_support/osx_arm64_python3.9.____cpython.yaml deleted file mode 100644 index 0a853b95a..000000000 --- a/.ci_support/osx_arm64_python3.9.____cpython.yaml +++ /dev/null @@ -1,69 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '11.0' -MACOSX_SDK_VERSION: -- '11.0' -c_compiler: -- clang -c_compiler_version: -- '18' -c_stdlib: -- macosx_deployment_target -c_stdlib_version: -- '11.0' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cuda_compiler: -- None -cuda_compiler_version: -- None -cxx_compiler: -- clangxx -cxx_compiler_version: -- '18' -flatbuffers: -- 24.12.23 -giflib: -- '5.2' -icu: -- '75' -libabseil: -- '20240722' -libcurl: -- '8' -libgrpc: -- '1.67' -libjpeg_turbo: -- '3' -libpng: -- '1.6' -libprotobuf: -- 5.28.3 -macos_machine: -- arm64-apple-darwin20.0.0 -numpy: -- '2.0' -openssl: -- '3' -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.9.* *_cpython -snappy: -- '1.2' -sqlite: -- '3' -target_platform: -- osx-arm64 -tensorflow: -- '2.16' -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - python - - numpy -zlib: -- '1' diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml index 3fe57caf7..b13bcb6ba 100644 --- a/.github/workflows/conda-build.yml +++ b/.github/workflows/conda-build.yml @@ -21,45 +21,45 @@ jobs: fail-fast: false matrix: include: - - CONFIG: linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13python3.10.____cpython + - CONFIG: linux_64_cuda_compiler_version12.6python3.10.____cpython UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-2xlarge--${{ github.run_id }}-linux_64_c_compiler_version13cuda_c_h1a635e5433', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-2xlarge--${{ github.run_id }}-linux_64_cuda_compiler_version12.6python_hcc941c96', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13python3.11.____cpython + - CONFIG: linux_64_cuda_compiler_version12.6python3.11.____cpython UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-2xlarge--${{ github.run_id }}-linux_64_c_compiler_version13cuda_c_h70857f1454', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-2xlarge--${{ github.run_id }}-linux_64_cuda_compiler_version12.6python_hdc5b00bd', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13python3.12.____cpython + - CONFIG: linux_64_cuda_compiler_version12.6python3.12.____cpython UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-2xlarge--${{ github.run_id }}-linux_64_c_compiler_version13cuda_c_h2dff17f9f4', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-2xlarge--${{ github.run_id }}-linux_64_cuda_compiler_version12.6python_h82ccd7e7', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13python3.9.____cpython + - CONFIG: linux_64_cuda_compiler_version12.6python3.9.____cpython UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-2xlarge--${{ github.run_id }}-linux_64_c_compiler_version13cuda_c_hbe4b9baad6', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-2xlarge--${{ github.run_id }}-linux_64_cuda_compiler_version12.6python_h0449a975', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_64_c_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13python3.10.____cpython + - CONFIG: linux_64_cuda_compiler_versionNonepython3.10.____cpython UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-2xlarge--${{ github.run_id }}-linux_64_c_compiler_version13cuda_c_ha604d791d6', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-2xlarge--${{ github.run_id }}-linux_64_cuda_compiler_versionNonepython_hb6a3b480', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_64_c_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13python3.11.____cpython + - CONFIG: linux_64_cuda_compiler_versionNonepython3.11.____cpython UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-2xlarge--${{ github.run_id }}-linux_64_c_compiler_version13cuda_c_h4845835b7d', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-2xlarge--${{ github.run_id }}-linux_64_cuda_compiler_versionNonepython_h3c1a96fc', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_64_c_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13python3.12.____cpython + - CONFIG: linux_64_cuda_compiler_versionNonepython3.12.____cpython UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-2xlarge--${{ github.run_id }}-linux_64_c_compiler_version13cuda_c_h2546c6389c', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-2xlarge--${{ github.run_id }}-linux_64_cuda_compiler_versionNonepython_h7883cd14', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_64_c_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13python3.9.____cpython + - CONFIG: linux_64_cuda_compiler_versionNonepython3.9.____cpython UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-2xlarge--${{ github.run_id }}-linux_64_c_compiler_version13cuda_c_hd64767d203', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-2xlarge--${{ github.run_id }}-linux_64_cuda_compiler_versionNonepython_hcf2538a7', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 steps: @@ -79,8 +79,10 @@ jobs: STAGING_BINSTAR_TOKEN: ${{ secrets.STAGING_BINSTAR_TOKEN }} shell: bash run: | - echo "::group::Configure binfmt_misc" - docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes + if [[ "$(uname -m)" == "x86_64" ]]; then + echo "::group::Configure binfmt_misc" + docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes + fi export flow_run_id="github_$GITHUB_RUN_ID" export remote_url="https://github.com/$GITHUB_REPOSITORY" export sha="$GITHUB_SHA" diff --git a/.gitignore b/.gitignore index bb3853666..47b5408a8 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,5 @@ # Rattler-build's artifacts are in `output` when not specifying anything. /output +# Pixi's configuration +.pixi diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 00f377a80..6ee04aa12 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -12,7 +12,7 @@ source .scripts/logging_utils.sh set -xeo pipefail THISDIR="$( cd "$( dirname "$0" )" >/dev/null && pwd )" -PROVIDER_DIR="$(basename $THISDIR)" +PROVIDER_DIR="$(basename "$THISDIR")" FEEDSTOCK_ROOT="$( cd "$( dirname "$0" )/.." >/dev/null && pwd )" RECIPE_ROOT="${FEEDSTOCK_ROOT}/recipe" diff --git a/README.md b/README.md index f5685be07..c41b72432 100644 --- a/README.md +++ b/README.md @@ -37,115 +37,143 @@ Current build status - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + - + - + - + + + + + + + - + @@ -162,7 +190,7 @@ Current release info | Name | Downloads | Version | Platforms | | --- | --- | --- | --- | | [![Conda Recipe](https://img.shields.io/badge/recipe-libtensorflow-green.svg)](https://anaconda.org/conda-forge/libtensorflow) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libtensorflow.svg)](https://anaconda.org/conda-forge/libtensorflow) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libtensorflow.svg)](https://anaconda.org/conda-forge/libtensorflow) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libtensorflow.svg)](https://anaconda.org/conda-forge/libtensorflow) | -| [![Conda Recipe](https://img.shields.io/badge/recipe-libtensorflow_cc-green.svg)](https://anaconda.org/conda-forge/libtensorflow_cc) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libtensorflow_cc.svg)](https://anaconda.org/conda-forge/libtensorflow_cc) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libtensorflow_cc.svg)](https://anaconda.org/conda-forge/libtensorflow_cc) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libtensorflow_cc.svg)](https://anaconda.org/conda-forge/libtensorflow_cc) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libtensorflow__cc-green.svg)](https://anaconda.org/conda-forge/libtensorflow_cc) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libtensorflow_cc.svg)](https://anaconda.org/conda-forge/libtensorflow_cc) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libtensorflow_cc.svg)](https://anaconda.org/conda-forge/libtensorflow_cc) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libtensorflow_cc.svg)](https://anaconda.org/conda-forge/libtensorflow_cc) | | [![Conda Recipe](https://img.shields.io/badge/recipe-tensorflow-green.svg)](https://anaconda.org/conda-forge/tensorflow) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/tensorflow.svg)](https://anaconda.org/conda-forge/tensorflow) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/tensorflow.svg)](https://anaconda.org/conda-forge/tensorflow) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/tensorflow.svg)](https://anaconda.org/conda-forge/tensorflow) | | [![Conda Recipe](https://img.shields.io/badge/recipe-tensorflow--base-green.svg)](https://anaconda.org/conda-forge/tensorflow-base) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/tensorflow-base.svg)](https://anaconda.org/conda-forge/tensorflow-base) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/tensorflow-base.svg)](https://anaconda.org/conda-forge/tensorflow-base) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/tensorflow-base.svg)](https://anaconda.org/conda-forge/tensorflow-base) | | [![Conda Recipe](https://img.shields.io/badge/recipe-tensorflow--cpu-green.svg)](https://anaconda.org/conda-forge/tensorflow-cpu) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/tensorflow-cpu.svg)](https://anaconda.org/conda-forge/tensorflow-cpu) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/tensorflow-cpu.svg)](https://anaconda.org/conda-forge/tensorflow-cpu) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/tensorflow-cpu.svg)](https://anaconda.org/conda-forge/tensorflow-cpu) | diff --git a/azure-pipelines.yml b/azure-pipelines.yml index a13f0ae28..013bdc11a 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -28,4 +28,5 @@ stages: condition: and(succeeded(), eq(dependencies.Check.outputs['Skip.result.start_main'], 'true')) dependsOn: Check jobs: + - template: ./.azure-pipelines/azure-pipelines-linux.yml - template: ./.azure-pipelines/azure-pipelines-osx.yml \ No newline at end of file diff --git a/build-locally.py b/build-locally.py index c4a56c667..9dfe44039 100755 --- a/build-locally.py +++ b/build-locally.py @@ -10,6 +10,7 @@ import os import platform import subprocess +import sys from argparse import ArgumentParser @@ -44,10 +45,19 @@ def run_osx_build(ns): subprocess.check_call([script]) +def run_win_build(ns): + script = ".scripts/run_win_build.bat" + subprocess.check_call(["cmd", "/D", "/Q", "/C", f"CALL {script}"]) + + def verify_config(ns): + choices_filter = ns.filter or "*" valid_configs = { - os.path.basename(f)[:-5] for f in glob.glob(".ci_support/*.yaml") + os.path.basename(f)[:-5] + for f in glob.glob(f".ci_support/{choices_filter}.yaml") } + if choices_filter != "*": + print(f"filtering for '{choices_filter}.yaml' configs") print(f"valid configs are {valid_configs}") if ns.config in valid_configs: print("Using " + ns.config + " configuration") @@ -60,38 +70,43 @@ def verify_config(ns): selections = list(enumerate(sorted(valid_configs), 1)) for i, c in selections: print(f"{i}. {c}") - s = input("\n> ") + try: + s = input("\n> ") + except KeyboardInterrupt: + print("\nno option selected, bye!", file=sys.stderr) + sys.exit(1) idx = int(s) - 1 ns.config = selections[idx][1] print(f"selected {ns.config}") else: raise ValueError("config " + ns.config + " is not valid") - # Remove the following, as implemented - if ns.config.startswith("win"): - raise ValueError( - f"only Linux/macOS configs currently supported, got {ns.config}" + if ( + ns.config.startswith("osx") + and platform.system() == "Darwin" + and not os.environ.get("OSX_SDK_DIR") + ): + raise RuntimeError( + "Need OSX_SDK_DIR env variable set. Run 'export OSX_SDK_DIR=$PWD/SDKs' " + "to download the SDK automatically to '$PWD/SDKs/MacOSX.sdk'. " + "Note: OSX_SDK_DIR must be set to an absolute path. " + "Setting this variable implies agreement to the licensing terms of the SDK by Apple." ) - elif ns.config.startswith("osx"): - if "OSX_SDK_DIR" not in os.environ: - raise RuntimeError( - "Need OSX_SDK_DIR env variable set. Run 'export OSX_SDK_DIR=$PWD/SDKs' " - "to download the SDK automatically to '$PWD/SDKs/MacOSX.sdk'. " - "Note: OSX_SDK_DIR must be set to an absolute path. " - "Setting this variable implies agreement to the licensing terms of the SDK by Apple." - ) def main(args=None): p = ArgumentParser("build-locally") p.add_argument("config", default=None, nargs="?") + p.add_argument( + "--filter", + default=None, + help="Glob string to filter which build choices are presented in interactive mode.", + ) p.add_argument( "--debug", action="store_true", help="Setup debug environment using `conda debug`", ) - p.add_argument( - "--output-id", help="If running debug, specify the output to setup." - ) + p.add_argument("--output-id", help="If running debug, specify the output to setup.") ns = p.parse_args(args=args) verify_config(ns) @@ -104,10 +119,10 @@ def main(args=None): run_docker_build(ns) elif ns.config.startswith("osx"): run_osx_build(ns) + elif ns.config.startswith("win"): + run_win_build(ns) finally: - recipe_license_file = os.path.join( - "recipe", "recipe-scripts-license.txt" - ) + recipe_license_file = os.path.join("recipe", "recipe-scripts-license.txt") if os.path.exists(recipe_license_file): os.remove(recipe_license_file) diff --git a/conda-forge.yml b/conda-forge.yml index 1518f6828..4793b83fd 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -1,10 +1,3 @@ -azure: - settings_linux: - timeoutInMinutes: 1 - settings_osx: - timeoutInMinutes: 1 -build_platform: - osx_arm64: osx_64 conda_build: pkg_format: '2' conda_build_tool: conda-build+conda-libmamba-solver @@ -20,4 +13,5 @@ github_actions: - pull_request provider: linux_64: github_actions + linux_aarch64: default test: native_and_emulated diff --git a/recipe/build.sh b/recipe/build.sh index 3f1ef4369..b1cab566d 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -2,6 +2,13 @@ set -ex +if [[ "${target_platform}" == "linux-aarch64" && "${CI}" == "azure" ]]; +then + echo "ERROR: don't use Azure (2025/05/07) as it will be emulated and waste CI time" + echo "When native aarch64 Azure builders are available, this check can be removed" + exit 1 +fi + if [[ "$CI" == "github_actions" ]]; then export CPU_COUNT=4 fi @@ -89,6 +96,13 @@ else fi if [[ ${cuda_compiler_version} != "None" ]]; then + if [ ${target_platform} == "linux-aarch64" ]; then + NVARCH=sbsa + elif [ ${target_platform} == "linux-64" ]; then + NVARCH=x86_64 + else + NVARCH=${ARCH} + fi export LDFLAGS="${LDFLAGS} -lcusparse" export GCC_HOST_COMPILER_PATH="${GCC}" export GCC_HOST_COMPILER_PREFIX="$(dirname ${GCC})" @@ -101,7 +115,10 @@ if [[ ${cuda_compiler_version} != "None" ]]; then export TF_NCCL_VERSION=$(pkg-config nccl --modversion | grep -Po '\d+\.\d+') export LDFLAGS="${LDFLAGS//-Wl,-z,now/-Wl,-z,lazy}" - export CC_OPT_FLAGS="-march=nocona -mtune=haswell" + + if [ ${target_platform} == "linux-64" ]; then + export CC_OPT_FLAGS="-march=nocona -mtune=haswell" + fi if [[ ${cuda_compiler_version} == 11.8 ]]; then export HERMETIC_CUDA_COMPUTE_CAPABILITIES=sm_35,sm_50,sm_60,sm_62,sm_70,sm_72,sm_75,sm_80,sm_86,sm_87,sm_89,sm_90,compute_90 @@ -110,28 +127,29 @@ if [[ ${cuda_compiler_version} != "None" ]]; then export HERMETIC_CUDA_COMPUTE_CAPABILITIES=sm_60,sm_70,sm_75,sm_80,sm_86,sm_89,sm_90,compute_90 export CUDNN_INSTALL_PATH=$PREFIX export NCCL_INSTALL_PATH=$PREFIX - export CUDA_HOME="${BUILD_PREFIX}/targets/x86_64-linux" - export TF_CUDA_PATHS="${BUILD_PREFIX}/targets/x86_64-linux,${PREFIX}/targets/x86_64-linux" + export CUDA_HOME="${BUILD_PREFIX}/targets/${NVARCH}-linux" + export TF_CUDA_PATHS="${BUILD_PREFIX}/targets/${NVARCH}-linux,${PREFIX}/targets/${ARCH}-linux" # 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/ + rsync -a ${PREFIX}/targets/${NVARCH}-linux/include/ ${BUILD_PREFIX}/targets/${NVARCH}-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/ - rsync -a ${PREFIX}/targets/x86_64-linux/lib/ ${BUILD_PREFIX}/targets/x86_64-linux/lib/ - ln -s ${BUILD_PREFIX}/bin/fatbinary ${BUILD_PREFIX}/targets/x86_64-linux/bin/fatbinary - ln -s ${BUILD_PREFIX}/bin/nvlink ${BUILD_PREFIX}/targets/x86_64-linux/bin/nvlink - ln -s ${BUILD_PREFIX}/bin/ptxas ${BUILD_PREFIX}/targets/x86_64-linux/bin/ptxas - - export LOCAL_CUDA_PATH="${BUILD_PREFIX}/targets/x86_64-linux" + rm -rf ${BUILD_PREFIX}/targets/${NVARCH}-linux/include/third_party + mkdir -p ${BUILD_PREFIX}/targets/${NVARCH}-linux/include/third_party/gpus/cuda/extras/CUPTI + cp -r ${PREFIX}/targets/${NVARCH}-linux/include ${BUILD_PREFIX}/targets/${NVARCH}-linux/include/third_party/gpus/cuda/ + cp -r ${PREFIX}/targets/${NVARCH}-linux/include ${BUILD_PREFIX}/targets/${NVARCH}-linux/include/third_party/gpus/cuda/extras/CUPTI/ + mkdir -p ${BUILD_PREFIX}/targets/${NVARCH}-linux/include/third_party/gpus/cudnn + cp ${PREFIX}/include/cudnn*.h ${BUILD_PREFIX}/targets/${NVARCH}-linux/include/third_party/gpus/cudnn/ + mkdir -p ${BUILD_PREFIX}/targets/${NVARCH}-linux/include/third_party/nccl + cp ${PREFIX}/include/nccl.h ${BUILD_PREFIX}/targets/${NVARCH}-linux/include/third_party/nccl/ + rsync -a ${PREFIX}/targets/${NVARCH}-linux/lib/ ${BUILD_PREFIX}/targets/${NVARCH}-linux/lib/ + mkdir -p ${BUILD_PREFIX}/targets/${NVARCH}-linux/bin + ln -s ${BUILD_PREFIX}/bin/fatbinary ${BUILD_PREFIX}/targets/${NVARCH}-linux/bin/fatbinary + ln -s ${BUILD_PREFIX}/bin/nvlink ${BUILD_PREFIX}/targets/${NVARCH}-linux/bin/nvlink + ln -s ${BUILD_PREFIX}/bin/ptxas ${BUILD_PREFIX}/targets/${NVARCH}-linux/bin/ptxas + + export LOCAL_CUDA_PATH="${BUILD_PREFIX}/targets/${NVARCH}-linux" export LOCAL_CUDNN_PATH="${PREFIX}" export LOCAL_NCCL_PATH="${PREFIX}" @@ -153,13 +171,17 @@ else export TF_NEED_CUDA=0 fi -source ${RECIPE_DIR}/gen-bazel-toolchain.sh +gen-bazel-toolchain if [[ "${target_platform}" == "osx-64" ]]; then # Tensorflow doesn't cope yet with an explicit architecture (darwin_x86_64) on osx-64 yet. TARGET_CPU=darwin # See https://conda-forge.org/docs/maintainer/knowledge_base.html#newer-c-features-with-old-sdk export CXXFLAGS="${CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY" +elif [[ "${target_platform}" == "linux-aarch64" ]]; then + TARGET_CPU=aarch64 +elif [[ "${target_platform}" == "linux-x86_64" ]]; then + TARGET_CPU=x86_64 fi # Get rid of unwanted defaults @@ -212,7 +234,7 @@ if [[ "${build_platform}" == linux-* ]]; then fi cat >> .bazelrc < return $libname if defined, or undefined otherwise. This is to make - # this set -e friendly - if [[ -n "${libname-}" ]]; then - libpath=$(get_library_path ${lib}) - if [ -n "${libpath}" ]; then - ${INSTALL_NAME_TOOL} -change $(get_otool_path "${libpath}") \ - "@loader_path/${rpath}/${libname}" "${OUTPUT}" - fi - fi - done -done - -if [[ "${target_platform}" == "osx-arm64" ]]; then - /usr/bin/codesign -s - -f ${OUTPUT} -fi diff --git a/recipe/custom_toolchain/crosstool_wrapper_driver_is_not_gcc b/recipe/custom_toolchain/crosstool_wrapper_driver_is_not_gcc deleted file mode 100755 index 0dfc5db26..000000000 --- a/recipe/custom_toolchain/crosstool_wrapper_driver_is_not_gcc +++ /dev/null @@ -1,319 +0,0 @@ -#!/usr/bin/env python -# Copyright 2015 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================== -"""Crosstool wrapper for compiling CUDA programs. - -SYNOPSIS: - crosstool_wrapper_is_not_gcc [options passed in by cc_library() - or cc_binary() rule] - -DESCRIPTION: - This script is expected to be called by the cc_library() or cc_binary() bazel - rules. When the option "-x cuda" is present in the list of arguments passed - to this script, it invokes the nvcc CUDA compiler. Most arguments are passed - as is as a string to --compiler-options of nvcc. When "-x cuda" is not - present, this wrapper invokes hybrid_driver_is_not_gcc with the input - arguments as is. - -NOTES: - Changes to the contents of this file must be propagated from - //third_party/gpus/crosstool/crosstool_wrapper_is_not_gcc to - //third_party/gpus/crosstool/v*/*/clang/bin/crosstool_wrapper_is_not_gcc -""" - -# NOTE wolfv this file can be found here: https://raw.githubusercontent.com/tensorflow/tensorflow/master/third_party/gpus/crosstool/clang/bin/crosstool_wrapper_driver_is_not_gcc.tpl -# NOTE updated: ngam: https://github.com/tensorflow/tensorflow/blob/v2.10.0-rc0/third_party/gpus/crosstool/clang/bin/crosstool_wrapper_driver_is_not_gcc.tpl - -from __future__ import print_function - -__author__ = 'keveman@google.com (Manjunath Kudlur)' - -from argparse import ArgumentParser -import os -import subprocess -import re -import sys -import pipes - -# Template values set by cuda_autoconf. -CPU_COMPILER = "${GCC_COMPILER_PATH}" -GCC_HOST_COMPILER_PATH = "${GCC_COMPILER_PATH}" - -NVCC_VERSION = '${CUDA_VERSION}' -NVCC_PATH = '${CUDA_HOME}/bin/nvcc' -PREFIX_DIR = os.path.dirname(GCC_HOST_COMPILER_PATH) - - -def Log(s): - print('gpus/crosstool: {0}'.format(s)) - - -def GetOptionValue(argv, option): - """Extract the list of values for option from the argv list. - - Args: - argv: A list of strings, possibly the argv passed to main(). - option: The option whose value to extract, with the leading '-'. - - Returns: - A list of values, either directly following the option, - (eg., -opt val1 val2) or values collected from multiple occurrences of - the option (eg., -opt val1 -opt val2). - """ - - parser = ArgumentParser() - parser.add_argument(option, nargs='*', action='append') - option = option.lstrip('-').replace('-', '_') - args, _ = parser.parse_known_args(argv) - if not args or not vars(args)[option]: - return [] - else: - return sum(vars(args)[option], []) - - -def GetHostCompilerOptions(argv): - """Collect the -isystem, -iquote, and --sysroot option values from argv. - - Args: - argv: A list of strings, possibly the argv passed to main(). - - Returns: - The string that can be used as the --compiler-options to nvcc. - """ - - parser = ArgumentParser() - parser.add_argument('-isystem', nargs='*', action='append') - parser.add_argument('-iquote', nargs='*', action='append') - parser.add_argument('--sysroot', nargs=1) - parser.add_argument('-g', nargs='*', action='append') - parser.add_argument('-fno-canonical-system-headers', action='store_true') - parser.add_argument('-no-canonical-prefixes', action='store_true') - - args, _ = parser.parse_known_args(argv) - - opts = '' - - if args.isystem: - opts += ' -isystem ' + ' -isystem '.join(sum(args.isystem, [])) - if args.iquote: - opts += ' -iquote ' + ' -iquote '.join(sum(args.iquote, [])) - if args.g: - opts += ' -g' + ' -g'.join(sum(args.g, [])) - if args.fno_canonical_system_headers: - opts += ' -fno-canonical-system-headers' - if args.no_canonical_prefixes: - opts += ' -no-canonical-prefixes' - if args.sysroot: - opts += ' --sysroot ' + args.sysroot[0] - - return opts - - -def _update_options(nvcc_options): - if NVCC_VERSION in ("7.0",): - return nvcc_options - - update_options = {"relaxed-constexpr": "expt-relaxed-constexpr"} - return [update_options[opt] if opt in update_options else opt - for opt in nvcc_options] - - -def GetNvccOptions(argv): - """Collect the -nvcc_options values from argv. - - Args: - argv: A list of strings, possibly the argv passed to main(). - - Returns: - The string that can be passed directly to nvcc. - """ - - parser = ArgumentParser() - parser.add_argument('-nvcc_options', nargs='*', action='append') - - args, _ = parser.parse_known_args(argv) - - if args.nvcc_options: - options = _update_options(sum(args.nvcc_options, [])) - return ' '.join(['--'+a for a in options]) - return '' - - -def system(cmd): - """Invokes cmd with os.system(). - - Args: - cmd: The command. - - Returns: - The exit code if the process exited with exit() or -signal - if the process was terminated by a signal. - """ - retv = os.system(cmd) - if os.WIFEXITED(retv): - return os.WEXITSTATUS(retv) - else: - return -os.WTERMSIG(retv) - - -def InvokeNvcc(argv, log=False): - """Call nvcc with arguments assembled from argv. - - Args: - argv: A list of strings, possibly the argv passed to main(). - log: True if logging is requested. - - Returns: - The return value of calling system('nvcc ' + args) - """ - - host_compiler_options = GetHostCompilerOptions(argv) - nvcc_compiler_options = GetNvccOptions(argv) - opt_option = GetOptionValue(argv, '-O') - m_options = GetOptionValue(argv, '-m') - m_options = ''.join([' -m' + m for m in m_options if m in ['32', '64']]) - include_options = GetOptionValue(argv, '-I') - out_file = GetOptionValue(argv, '-o') - depfiles = GetOptionValue(argv, '-MF') - defines = GetOptionValue(argv, '-D') - defines = ''.join([' -D' + define for define in defines]) - undefines = GetOptionValue(argv, '-U') - undefines = ''.join([' -U' + define for define in undefines]) - std_options = GetOptionValue(argv, '-std') - # Supported -std flags as of CUDA 9.0. Only keep last to mimic gcc/clang. - nvcc_allowed_std_options = ["c++03", "c++11", "c++14"] - nvcc_std_map = {} - if int(NVCC_VERSION.split('.')[0]) >= 11: - nvcc_std_map["c++1z"] = "c++17" - nvcc_allowed_std_options += ["c++17", "c++1z"] - std_options = ''.join([' -std=' + - (nvcc_std_map[define] - if define in nvcc_std_map else define) - for define in std_options if define in nvcc_allowed_std_options][-1:]) - fatbin_options = ''.join([' --fatbin-options=' + option - for option in GetOptionValue(argv, '-Xcuda-fatbinary')]) - - # The list of source files get passed after the -c option. I don't know of - # any other reliable way to just get the list of source files to be compiled. - src_files = GetOptionValue(argv, '-c') - - # Pass -w through from host to nvcc, but don't do anything fancier with - # warnings-related flags, since they're not necessarily the same across - # compilers. - warning_options = ' -w' if '-w' in argv else '' - - if len(src_files) == 0: - return 1 - if len(out_file) != 1: - return 1 - - opt = (' -O2' if (len(opt_option) > 0 and int(opt_option[0]) > 0) - else ' -g') - - includes = (' -I ' + ' -I '.join(include_options) - if len(include_options) > 0 - else '') - - # Unfortunately, there are other options that have -c prefix too. - # So allowing only those look like C/C++ files. - src_files = [f for f in src_files if - re.search('\.cpp$|\.cc$|\.c$|\.cxx$|\.C$', f)] - srcs = ' '.join(src_files) - out = ' -o ' + out_file[0] - - nvccopts = '-D_FORCE_INLINES ' - capabilities_sm = set(GetOptionValue(argv, "--cuda-gpu-arch")) - capabilities_compute = set(GetOptionValue(argv, '--cuda-include-ptx')) - # When both "code=sm_xy" and "code=compute_xy" are requested for a single - # arch, they can be combined using "code=xy,compute_xy" which avoids a - # redundant PTX generation during compilation. - capabilities_both = capabilities_sm.intersection(capabilities_compute) - for capability in capabilities_both: - capability = capability[len('sm_'):] - nvccopts += r'-gencode=arch=compute_%s,code=\"sm_%s,compute_%s\" ' % ( - capability, capability, capability) - for capability in capabilities_sm - capabilities_both: - capability = capability[len('sm_'):] - nvccopts += r'-gencode=arch=compute_%s,\"code=sm_%s\" ' % (capability, - capability) - for capability in capabilities_compute - capabilities_both: - capability = capability[len('sm_'):] - nvccopts += r'-gencode=arch=compute_%s,\"code=compute_%s\" ' % (capability, - capability) - nvccopts += nvcc_compiler_options - nvccopts += undefines - nvccopts += defines - nvccopts += std_options - nvccopts += m_options - nvccopts += warning_options - # Force C++17 dialect (note, everything in just one string!) - nvccopts += ' --std c++17 ' - nvccopts += fatbin_options - - if depfiles: - # Generate the dependency file - depfile = depfiles[0] - cmd = (NVCC_PATH + ' ' + nvccopts + - ' --compiler-options "' + host_compiler_options + '"' + - ' --compiler-bindir=' + GCC_HOST_COMPILER_PATH + - ' -I .' + - ' -x cu ' + opt + includes + ' ' + srcs + ' -M -o ' + depfile) - if log: - Log(cmd) - exit_status = system(cmd) - if exit_status != 0: - return exit_status - - cmd = (NVCC_PATH + ' ' + nvccopts + - ' --compiler-options "' + host_compiler_options + ' -fPIC"' + - ' --compiler-bindir=' + GCC_HOST_COMPILER_PATH + - ' -I .' + - ' -x cu ' + opt + includes + ' -c ' + srcs + out) - - # TODO(zhengxq): for some reason, 'gcc' needs this help to find 'as'. - # Need to investigate and fix. - cmd = 'PATH=' + PREFIX_DIR + ':$PATH ' + cmd - if log: - Log(cmd) - return system(cmd) - - -def main(): - parser = ArgumentParser() - parser.add_argument('-x', nargs=1) - parser.add_argument('--cuda_log', action='store_true') - args, leftover = parser.parse_known_args(sys.argv[1:]) - - if args.x and args.x[0] == 'cuda': - if args.cuda_log: - Log('-x cuda') - leftover = [pipes.quote(s) for s in leftover] - if args.cuda_log: - Log('using nvcc') - return InvokeNvcc(leftover, log=args.cuda_log) - - # Strip our flags before passing through to the CPU compiler for files which - # are not -x cuda. We can't just pass 'leftover' because it also strips -x. - # We not only want to pass -x to the CPU compiler, but also keep it in its - # relative location in the argv list (the compiler is actually sensitive to - # this). - cpu_compiler_flags = [flag for flag in sys.argv[1:] - if not flag.startswith(('--cuda_log'))] - - return subprocess.call([CPU_COMPILER] + cpu_compiler_flags) - - -if __name__ == '__main__': - sys.exit(main()) diff --git a/recipe/gen-bazel-toolchain.sh b/recipe/gen-bazel-toolchain.sh deleted file mode 100755 index 73208eae2..000000000 --- a/recipe/gen-bazel-toolchain.sh +++ /dev/null @@ -1,155 +0,0 @@ -#!/bin/bash - -set -euxo pipefail - -function apply_cc_template() { - # Strip trailing/duplicate whitespace - CFLAGS=$(echo $CFLAGS | xargs echo -n) - CPPFLAGS=$(echo $CPPFLAGS | xargs echo -n) - CXXFLAGS=$(echo $CXXFLAGS | xargs echo -n) - LDFLAGS=$(echo $LDFLAGS | xargs echo -n) - - sed -ie "s:TARGET_CPU:${TARGET_CPU}:" $1 - sed -ie "s:TARGET_LIBC:${TARGET_LIBC}:" $1 - sed -ie "s:TARGET_SYSTEM:${TARGET_SYSTEM}:" $1 - sed -ie "s:TARGET_PLATFORM:${target_platform}:" $1 - sed -ie "s:\${CONDA_BUILD_SYSROOT}:${CONDA_BUILD_SYSROOT}:" $1 - sed -ie "s:\${COMPILER_VERSION}:${BAZEL_TOOLCHAIN_COMPILER_VERSION:-}:" $1 - sed -ie "s:\${SHORT_COMPILER_VERSION}:${SHORT_BAZEL_TOOLCHAIN_COMPILER_VERSION:-}:" $1 - sed -ie "s:\${GCC_COMPILER_PATH}:${GCC:-}:" $1 - sed -ie "s:\${BAZEL_TOOLCHAIN_GCC}:${BAZEL_TOOLCHAIN_GCC}:" $1 - sed -ie "s:\${CUDA_VERSION}:${cuda_compiler_version:-}:" $1 - sed -ie "s:\${CUDA_HOME}:${CUDA_HOME:-}:" $1 - sed -ie "s:\${PREFIX}:${PREFIX}:" $1 - sed -ie "s:\${BUILD_PREFIX}:${BUILD_PREFIX}:" $1 - sed -ie "s:\${HOST_PREFIX}:${HOST_PREFIX}:" $1 - sed -ie "s:\${LD}:${LD}:" $1 - sed -ie "s:\${CFLAGS}:${CFLAGS}:" $1 - sed -ie "s:\${CPPFLAGS}:${CPPFLAGS}:" $1 - sed -ie "s:\${CXXFLAGS}:${CXXFLAGS}:" $1 - sed -ie "s:\${LDFLAGS}:${LDFLAGS}:" $1 - sed -ie "s:\${NM}:${NM}:" $1 - sed -ie "s:\${STRIP}:${STRIP}:" $1 - sed -ie "s:\${AR}:${BAZEL_TOOLCHAIN_AR}:" $1 - sed -ie "s:\${HOST}:${HOST}:" $1 - sed -ie "s:\${LIBCXX}:${BAZEL_TOOLCHAIN_LIBCXX}:" $1 -} - -export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 - -# set up bazel config file for conda provided clang toolchain -cp -r ${RECIPE_DIR}/custom_toolchain . -pushd custom_toolchain - if [[ "${target_platform}" == osx-* ]]; then - export BAZEL_TOOLCHAIN_COMPILER_VERSION=$($CC -v 2>&1 | head -n1 | cut -d' ' -f3) - export SHORT_BAZEL_TOOLCHAIN_COMPILER_VERSION=$(echo ${BAZEL_TOOLCHAIN_COMPILER_VERSION} | cut -d. -f1) - sed -e "s:\${CLANG}:${CLANG}:" \ - -e "s:\${target_platform}:${target_platform}:" \ - -e "s:\${INSTALL_NAME_TOOL}:${INSTALL_NAME_TOOL}:" \ - -e "s:\${CONDA_BUILD_SYSROOT}:${CONDA_BUILD_SYSROOT}:" \ - -e "s:\${MACOSX_SDK_VERSION}:${MACOSX_SDK_VERSION:-}:" \ - -e "s:\${MACOSX_DEPLOYMENT_TARGET}:${MACOSX_DEPLOYMENT_TARGET:-}:" \ - cc_wrapper.sh.template > cc_wrapper.sh - chmod +x cc_wrapper.sh - sed -e "s:\${CLANG}:${CC_FOR_BUILD}:" \ - -e "s:\${target_platform}:${target_platform}:" \ - -e "s:\${INSTALL_NAME_TOOL}:${INSTALL_NAME_TOOL//${HOST}/${BUILD}}:" \ - -e "s:\${CONDA_BUILD_SYSROOT}:${CONDA_BUILD_SYSROOT}:" \ - -e "s:\${MACOSX_SDK_VERSION}:${MACOSX_SDK_VERSION:-}:" \ - -e "s:\${MACOSX_DEPLOYMENT_TARGET}:${MACOSX_DEPLOYMENT_TARGET:-}:" \ - cc_wrapper.sh.template > cc_wrapper_build.sh - chmod +x cc_wrapper.sh - chmod +x cc_wrapper_build.sh - export BAZEL_TOOLCHAIN_GCC="cc_wrapper.sh" - export BAZEL_TOOLCHAIN_LIBCXX="c++" - export BAZEL_TOOLCHAIN_AR=${LIBTOOL} - else - export BAZEL_TOOLCHAIN_COMPILER_VERSION=$(${CC} -v 2>&1|tail -n1|cut -d' ' -f3) - export SHORT_BAZEL_TOOLCHAIN_COMPILER_VERSION=${BAZEL_TOOLCHAIN_COMPILER_VERSION} - export BAZEL_TOOLCHAIN_AR=$(basename ${AR}) - touch cc_wrapper.sh - - export BAZEL_TOOLCHAIN_LIBCXX="stdc++" - export BAZEL_TOOLCHAIN_GCC="${GCC}" - - # for NVCC we need to use a crosstool wrapper - if [[ ${cuda_compiler_version} != "None" ]]; then - export BAZEL_TOOLCHAIN_GCC=crosstool_wrapper_driver_is_not_gcc - fi - fi - - export TARGET_SYSTEM="${HOST}" - if [[ "${target_platform}" == "osx-64" ]]; then - export TARGET_LIBC="macosx" - export TARGET_CPU="darwin_x86_64" - export TARGET_SYSTEM="x86_64-apple-macosx" - elif [[ "${target_platform}" == "osx-arm64" ]]; then - export TARGET_LIBC="macosx" - export TARGET_CPU="darwin_arm64" - export TARGET_SYSTEM="arm64-apple-macosx" - elif [[ "${target_platform}" == "linux-64" ]]; then - export TARGET_LIBC="unknown" - export TARGET_CPU="k8" - elif [[ "${target_platform}" == "linux-aarch64" ]]; then - export TARGET_LIBC="unknown" - export TARGET_CPU="aarch64" - elif [[ "${target_platform}" == "linux-ppc64le" ]]; then - export TARGET_LIBC="unknown" - export TARGET_CPU="ppc" - fi - export BUILD_SYSTEM=${BUILD} - if [[ "${build_platform}" == "osx-64" ]]; then - export BUILD_CPU="darwin" - export BUILD_SYSTEM="x86_64-apple-macosx" - elif [[ "${build_platform}" == "osx-arm64" ]]; then - export BUILD_CPU="darwin" - export BUILD_SYSTEM="arm64-apple-macosx" - elif [[ "${build_platform}" == "linux-64" ]]; then - export BUILD_CPU="k8" - elif [[ "${build_platform}" == "linux-aarch64" ]]; then - export BUILD_CPU="aarch64" - elif [[ "${build_platform}" == "linux-ppc64le" ]]; then - export BUILD_CPU="ppc" - fi - # The current Bazel release cannot distinguish between osx-arm64 and osx-64. - # This will change with later releases and then we should get rid of this section again. - #if [[ "${target_platform}" == osx-* ]]; then - # if [[ "${build_platform}" == "${target_platform}" ]]; then - # export TARGET_CPU="darwin" - # export BUILD_CPU="darwin" - # fi - #fi - - sed -ie "s:TARGET_CPU:${TARGET_CPU}:" BUILD - sed -ie "s:BUILD_CPU:${BUILD_CPU}:" BUILD - - # save HOST_PREFIX before setting PREFIX to be BUILD_PREFIX (in cross-compilation). - HOST_PREFIX=${PREFIX} - - cp cc_toolchain_config.bzl cc_toolchain_build_config.bzl - apply_cc_template cc_toolchain_config.bzl - apply_cc_template crosstool_wrapper_driver_is_not_gcc - ( - if [[ "${build_platform}" != "${target_platform}" ]]; then - if [[ "${target_platform}" == osx-* ]]; then - BAZEL_TOOLCHAIN_GCC=cc_wrapper_build.sh - else - BAZEL_TOOLCHAIN_GCC=${BAZEL_TOOLCHAIN_GCC//${HOST}/${BUILD}} - fi - TARGET_CPU=${BUILD_CPU} - TARGET_SYSTEM=${BUILD_SYSTEM} - target_platform=${build_platform} - PREFIX=${BUILD_PREFIX} - LD=${LD//${HOST}/${BUILD}} - CFLAGS=${CFLAGS//${HOST_PREFIX}/${BUILD_PREFIX}} - CPPFLAGS=${CPPFLAGS//${HOST_PREFIX}/${BUILD_PREFIX}} - CXXFLAGS=${CXXFLAGS//${HOST_PREFIX}/${BUILD_PREFIX}} - LDFLAGS=${LDFLAGS//${HOST_PREFIX}/${BUILD_PREFIX}} - NM=${NM//${HOST}/${BUILD}} - STRIP=${STRIP//${HOST}/${BUILD}} - BAZEL_TOOLCHAIN_AR=${BAZEL_TOOLCHAIN_AR//${HOST}/${BUILD}} - HOST=${BUILD} - fi - apply_cc_template cc_toolchain_build_config.bzl - ) -popd diff --git a/recipe/meta.yaml b/recipe/meta.yaml index ab52192d5..faf723153 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -50,6 +50,10 @@ source: # https://github.com/tensorflow/tensorflow/pull/86413 - patches/0029-Avoid-linking-with-internal-nvrtc.patch - patches/0030-remove-dependencies-to-libcuda.patch + - patches/0031-bump-h5py-req.patch # [aarch64] + # backport https://github.com/tensorflow/tensorflow/pull/90563 (applies to cuda-12.8, any platform) + - patches/0032-gpu_prim-error.patch + - patches/0034-build-dirty.patch # [linux_aarch64 and target_platform != build_platform] - url: https://github.com/tensorflow/estimator/archive/refs/tags/v{{ estimator_version.replace(".rc", "-rc") }}.tar.gz sha256: 2d7e100b1878084da34b5e23b49a0cbb5ee8a7add74b7dd189a82ada1cf85530 folder: tensorflow-estimator @@ -59,6 +63,10 @@ build: skip: true # [win] # The following skip can be removed when the absl::StrFormat build issues are fixed. skip: true # [cuda_compiler_version == "11.8"] + # aarch64 support added only for CUDA 12.8+ + skip: true # [cuda_compiler_version == "12.6" and target_platform == "linux-aarch64"] + # only enable CUDA 12.8 for aarch64 at this time. + skip: true # [cuda_compiler_version == "12.8" and target_platform != "linux-aarch64"] requirements: build: @@ -77,11 +85,15 @@ requirements: - onednn-cpu-threadpool # [build_platform != target_platform] - pybind11 # [build_platform != target_platform] - numpy # [build_platform != target_platform] + - libcurl # [build_platform != target_platform] + - zlib # [build_platform != target_platform] + - pkg-config - {{ compiler('c') }} - {{ stdlib("c") }} - {{ compiler('cxx') }} - {{ compiler('cuda') }} # [cuda_compiler_version != "None"] - bazel 6.* + - bazel-toolchain - libgrpc - libprotobuf - nasm @@ -334,6 +346,7 @@ outputs: # https://github.com/conda-forge/tensorflow-feedstock/issues/162 - {{ compiler('cuda') }} # [cuda_compiler_version != "None"] - bazel 6.* + - bazel-toolchain - python # [build_platform != target_platform] - cross-python_{{ target_platform }} # [build_platform != target_platform] - libabseil # [build_platform != target_platform] @@ -461,7 +474,7 @@ outputs: # 2021/08/01, hmaarrfk # While this seems like a roundabout way of defining the package name # It helps the linter avoid errors on a package not having tests. - {% set tensorflow_cpu_gpu = "tensorflow-cpu" %} # [cuda_compiler_version == "None" or cuda_compiler_version is undefined] + {% set tensorflow_cpu_gpu = "tensorflow-cpu" %} # [cuda_compiler_version == "None"] {% set tensorflow_cpu_gpu = "tensorflow-gpu" %} # [cuda_compiler_version != "None"] - name: {{ tensorflow_cpu_gpu }} build: diff --git a/recipe/patches/0031-bump-h5py-req.patch b/recipe/patches/0031-bump-h5py-req.patch new file mode 100644 index 000000000..5447ebe99 --- /dev/null +++ b/recipe/patches/0031-bump-h5py-req.patch @@ -0,0 +1,282 @@ +diff --git a/ci/official/requirements_updater/requirements.in b/ci/official/requirements_updater/requirements.in +index 626bcca9572..bcab5e720bc 100644 +--- a/ci/official/requirements_updater/requirements.in ++++ b/ci/official/requirements_updater/requirements.in +@@ -1,6 +1,6 @@ + numpy ~= 2.0.0 + wheel ~= 0.41.2 +-h5py >= 3.11.0 ++h5py >= 3.12.0 + lit ~= 17.0.2 + opt_einsum == 3.3.0 + astunparse == 1.6.3 +@@ -21,6 +21,7 @@ tensorboard ~= 2.18.0 + # Test dependencies + grpcio >= 1.24.3, < 2.0 + portpicker == 1.6.0 ++psutil >= 7.0.0 + scipy ~= 1.13.0 + requests >= 2.31.0 + packaging==23.2 +diff --git a/requirements_lock_3_10.txt b/requirements_lock_3_10.txt +index 3ef493e11f5..a23cdd5ea5b 100644 +--- a/requirements_lock_3_10.txt ++++ b/requirements_lock_3_10.txt +@@ -181,28 +181,7 @@ grpcio==1.64.1 \ + # via + # -r ci/official/requirements_updater/requirements.in + # tensorboard +-h5py==3.11.0 \ +- --hash=sha256:083e0329ae534a264940d6513f47f5ada617da536d8dccbafc3026aefc33c90e \ +- --hash=sha256:1625fd24ad6cfc9c1ccd44a66dac2396e7ee74940776792772819fc69f3a3731 \ +- --hash=sha256:21dbdc5343f53b2e25404673c4f00a3335aef25521bd5fa8c707ec3833934892 \ +- --hash=sha256:52c416f8eb0daae39dabe71415cb531f95dce2d81e1f61a74537a50c63b28ab3 \ +- --hash=sha256:55106b04e2c83dfb73dc8732e9abad69d83a436b5b82b773481d95d17b9685e1 \ +- --hash=sha256:67462d0669f8f5459529de179f7771bd697389fcb3faab54d63bf788599a48ea \ +- --hash=sha256:6c4b760082626120031d7902cd983d8c1f424cdba2809f1067511ef283629d4b \ +- --hash=sha256:731839240c59ba219d4cb3bc5880d438248533366f102402cfa0621b71796b62 \ +- --hash=sha256:754c0c2e373d13d6309f408325343b642eb0f40f1a6ad21779cfa9502209e150 \ +- --hash=sha256:75bd7b3d93fbeee40860fd70cdc88df4464e06b70a5ad9ce1446f5f32eb84007 \ +- --hash=sha256:77b19a40788e3e362b54af4dcf9e6fde59ca016db2c61360aa30b47c7b7cef00 \ +- --hash=sha256:7b7e8f78072a2edec87c9836f25f34203fd492a4475709a18b417a33cfb21fa9 \ +- --hash=sha256:8ec9df3dd2018904c4cc06331951e274f3f3fd091e6d6cc350aaa90fa9b42a76 \ +- --hash=sha256:a76cae64080210389a571c7d13c94a1a6cf8cb75153044fd1f822a962c97aeab \ +- --hash=sha256:aa6ae84a14103e8dc19266ef4c3e5d7c00b68f21d07f2966f0ca7bdb6c2761fb \ +- --hash=sha256:bbd732a08187a9e2a6ecf9e8af713f1d68256ee0f7c8b652a32795670fb481ba \ +- --hash=sha256:c072655ad1d5fe9ef462445d3e77a8166cbfa5e599045f8aa3c19b75315f10e5 \ +- --hash=sha256:d9c944d364688f827dc889cf83f1fca311caf4fa50b19f009d1f2b525edd33a3 \ +- --hash=sha256:ef4e2f338fc763f50a8113890f455e1a70acd42a4d083370ceb80c463d803972 \ +- --hash=sha256:f3736fe21da2b7d8a13fe8fe415f1272d2a1ccdeff4849c1421d2fb30fd533bc \ +- --hash=sha256:f4e025e852754ca833401777c25888acb96889ee2c27e7e629a19aee288833f0 ++h5py>=3.12.0 + # via + # -r ci/official/requirements_updater/requirements.in + # keras +@@ -487,24 +492,10 @@ protobuf==4.25.3 \ + --hash=sha256:f1279ab38ecbfae7e456a108c5c0681e4956d5b1090027c1de0f934dfdb4b35c \ + --hash=sha256:f4f118245c4a087776e0a8408be33cf09f6c547442c00395fbfb116fac2f8ac2 + # via tensorboard +-psutil==5.9.8 \ +- --hash=sha256:02615ed8c5ea222323408ceba16c60e99c3f91639b07da6373fb7e6539abc56d \ +- --hash=sha256:05806de88103b25903dff19bb6692bd2e714ccf9e668d050d144012055cbca73 \ +- --hash=sha256:26bd09967ae00920df88e0352a91cff1a78f8d69b3ecabbfe733610c0af486c8 \ +- --hash=sha256:27cc40c3493bb10de1be4b3f07cae4c010ce715290a5be22b98493509c6299e2 \ +- --hash=sha256:36f435891adb138ed3c9e58c6af3e2e6ca9ac2f365efe1f9cfef2794e6c93b4e \ +- --hash=sha256:50187900d73c1381ba1454cf40308c2bf6f34268518b3f36a9b663ca87e65e36 \ +- --hash=sha256:611052c4bc70432ec770d5d54f64206aa7203a101ec273a0cd82418c86503bb7 \ +- --hash=sha256:6be126e3225486dff286a8fb9a06246a5253f4c7c53b475ea5f5ac934e64194c \ +- --hash=sha256:7d79560ad97af658a0f6adfef8b834b53f64746d45b403f225b85c5c2c140eee \ +- --hash=sha256:8cb6403ce6d8e047495a701dc7c5bd788add903f8986d523e3e20b98b733e421 \ +- --hash=sha256:8db4c1b57507eef143a15a6884ca10f7c73876cdf5d51e713151c1236a0e68cf \ +- --hash=sha256:aee678c8720623dc456fa20659af736241f575d79429a0e5e9cf88ae0605cc81 \ +- --hash=sha256:bc56c2a1b0d15aa3eaa5a60c9f3f8e3e565303b465dbf57a1b730e7a2b9844e0 \ +- --hash=sha256:bd1184ceb3f87651a67b2708d4c3338e9b10c5df903f2e3776b62303b26cb631 \ +- --hash=sha256:d06016f7f8625a1825ba3732081d77c94589dca78b7a3fc072194851e88461a4 \ +- --hash=sha256:d16bbddf0693323b8c6123dd804100241da461e41d6e332fb0ba6058f630f8c8 +- # via portpicker ++psutil>=7.0.0 ++ # via ++ # -r ci/official/requirements_updater/requirements.in ++ # portpicker + pygments==2.18.0 \ + --hash=sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199 \ + --hash=sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a +diff --git a/requirements_lock_3_11.txt b/requirements_lock_3_11.txt +index 7e3a884f832..960eb00cf28 100644 +--- a/requirements_lock_3_11.txt ++++ b/requirements_lock_3_11.txt +@@ -181,28 +181,7 @@ grpcio==1.64.1 \ + # via + # -r ci/official/requirements_updater/requirements.in + # tensorboard +-h5py==3.11.0 \ +- --hash=sha256:083e0329ae534a264940d6513f47f5ada617da536d8dccbafc3026aefc33c90e \ +- --hash=sha256:1625fd24ad6cfc9c1ccd44a66dac2396e7ee74940776792772819fc69f3a3731 \ +- --hash=sha256:21dbdc5343f53b2e25404673c4f00a3335aef25521bd5fa8c707ec3833934892 \ +- --hash=sha256:52c416f8eb0daae39dabe71415cb531f95dce2d81e1f61a74537a50c63b28ab3 \ +- --hash=sha256:55106b04e2c83dfb73dc8732e9abad69d83a436b5b82b773481d95d17b9685e1 \ +- --hash=sha256:67462d0669f8f5459529de179f7771bd697389fcb3faab54d63bf788599a48ea \ +- --hash=sha256:6c4b760082626120031d7902cd983d8c1f424cdba2809f1067511ef283629d4b \ +- --hash=sha256:731839240c59ba219d4cb3bc5880d438248533366f102402cfa0621b71796b62 \ +- --hash=sha256:754c0c2e373d13d6309f408325343b642eb0f40f1a6ad21779cfa9502209e150 \ +- --hash=sha256:75bd7b3d93fbeee40860fd70cdc88df4464e06b70a5ad9ce1446f5f32eb84007 \ +- --hash=sha256:77b19a40788e3e362b54af4dcf9e6fde59ca016db2c61360aa30b47c7b7cef00 \ +- --hash=sha256:7b7e8f78072a2edec87c9836f25f34203fd492a4475709a18b417a33cfb21fa9 \ +- --hash=sha256:8ec9df3dd2018904c4cc06331951e274f3f3fd091e6d6cc350aaa90fa9b42a76 \ +- --hash=sha256:a76cae64080210389a571c7d13c94a1a6cf8cb75153044fd1f822a962c97aeab \ +- --hash=sha256:aa6ae84a14103e8dc19266ef4c3e5d7c00b68f21d07f2966f0ca7bdb6c2761fb \ +- --hash=sha256:bbd732a08187a9e2a6ecf9e8af713f1d68256ee0f7c8b652a32795670fb481ba \ +- --hash=sha256:c072655ad1d5fe9ef462445d3e77a8166cbfa5e599045f8aa3c19b75315f10e5 \ +- --hash=sha256:d9c944d364688f827dc889cf83f1fca311caf4fa50b19f009d1f2b525edd33a3 \ +- --hash=sha256:ef4e2f338fc763f50a8113890f455e1a70acd42a4d083370ceb80c463d803972 \ +- --hash=sha256:f3736fe21da2b7d8a13fe8fe415f1272d2a1ccdeff4849c1421d2fb30fd533bc \ +- --hash=sha256:f4e025e852754ca833401777c25888acb96889ee2c27e7e629a19aee288833f0 ++h5py>=3.12.0 + # via + # -r ci/official/requirements_updater/requirements.in + # keras +@@ -487,24 +492,10 @@ protobuf==4.25.3 \ + --hash=sha256:f1279ab38ecbfae7e456a108c5c0681e4956d5b1090027c1de0f934dfdb4b35c \ + --hash=sha256:f4f118245c4a087776e0a8408be33cf09f6c547442c00395fbfb116fac2f8ac2 + # via tensorboard +-psutil==5.9.8 \ +- --hash=sha256:02615ed8c5ea222323408ceba16c60e99c3f91639b07da6373fb7e6539abc56d \ +- --hash=sha256:05806de88103b25903dff19bb6692bd2e714ccf9e668d050d144012055cbca73 \ +- --hash=sha256:26bd09967ae00920df88e0352a91cff1a78f8d69b3ecabbfe733610c0af486c8 \ +- --hash=sha256:27cc40c3493bb10de1be4b3f07cae4c010ce715290a5be22b98493509c6299e2 \ +- --hash=sha256:36f435891adb138ed3c9e58c6af3e2e6ca9ac2f365efe1f9cfef2794e6c93b4e \ +- --hash=sha256:50187900d73c1381ba1454cf40308c2bf6f34268518b3f36a9b663ca87e65e36 \ +- --hash=sha256:611052c4bc70432ec770d5d54f64206aa7203a101ec273a0cd82418c86503bb7 \ +- --hash=sha256:6be126e3225486dff286a8fb9a06246a5253f4c7c53b475ea5f5ac934e64194c \ +- --hash=sha256:7d79560ad97af658a0f6adfef8b834b53f64746d45b403f225b85c5c2c140eee \ +- --hash=sha256:8cb6403ce6d8e047495a701dc7c5bd788add903f8986d523e3e20b98b733e421 \ +- --hash=sha256:8db4c1b57507eef143a15a6884ca10f7c73876cdf5d51e713151c1236a0e68cf \ +- --hash=sha256:aee678c8720623dc456fa20659af736241f575d79429a0e5e9cf88ae0605cc81 \ +- --hash=sha256:bc56c2a1b0d15aa3eaa5a60c9f3f8e3e565303b465dbf57a1b730e7a2b9844e0 \ +- --hash=sha256:bd1184ceb3f87651a67b2708d4c3338e9b10c5df903f2e3776b62303b26cb631 \ +- --hash=sha256:d06016f7f8625a1825ba3732081d77c94589dca78b7a3fc072194851e88461a4 \ +- --hash=sha256:d16bbddf0693323b8c6123dd804100241da461e41d6e332fb0ba6058f630f8c8 +- # via portpicker ++psutil>=7.0.0 ++ # via ++ # -r ci/official/requirements_updater/requirements.in ++ # portpicker + pygments==2.18.0 \ + --hash=sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199 \ + --hash=sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a +diff --git a/requirements_lock_3_12.txt b/requirements_lock_3_12.txt +index 19b72598651..8ea116d7fb0 100644 +--- a/requirements_lock_3_12.txt ++++ b/requirements_lock_3_12.txt +@@ -181,28 +181,7 @@ grpcio==1.64.1 \ + # via + # -r ci/official/requirements_updater/requirements.in + # tensorboard +-h5py==3.11.0 \ +- --hash=sha256:083e0329ae534a264940d6513f47f5ada617da536d8dccbafc3026aefc33c90e \ +- --hash=sha256:1625fd24ad6cfc9c1ccd44a66dac2396e7ee74940776792772819fc69f3a3731 \ +- --hash=sha256:21dbdc5343f53b2e25404673c4f00a3335aef25521bd5fa8c707ec3833934892 \ +- --hash=sha256:52c416f8eb0daae39dabe71415cb531f95dce2d81e1f61a74537a50c63b28ab3 \ +- --hash=sha256:55106b04e2c83dfb73dc8732e9abad69d83a436b5b82b773481d95d17b9685e1 \ +- --hash=sha256:67462d0669f8f5459529de179f7771bd697389fcb3faab54d63bf788599a48ea \ +- --hash=sha256:6c4b760082626120031d7902cd983d8c1f424cdba2809f1067511ef283629d4b \ +- --hash=sha256:731839240c59ba219d4cb3bc5880d438248533366f102402cfa0621b71796b62 \ +- --hash=sha256:754c0c2e373d13d6309f408325343b642eb0f40f1a6ad21779cfa9502209e150 \ +- --hash=sha256:75bd7b3d93fbeee40860fd70cdc88df4464e06b70a5ad9ce1446f5f32eb84007 \ +- --hash=sha256:77b19a40788e3e362b54af4dcf9e6fde59ca016db2c61360aa30b47c7b7cef00 \ +- --hash=sha256:7b7e8f78072a2edec87c9836f25f34203fd492a4475709a18b417a33cfb21fa9 \ +- --hash=sha256:8ec9df3dd2018904c4cc06331951e274f3f3fd091e6d6cc350aaa90fa9b42a76 \ +- --hash=sha256:a76cae64080210389a571c7d13c94a1a6cf8cb75153044fd1f822a962c97aeab \ +- --hash=sha256:aa6ae84a14103e8dc19266ef4c3e5d7c00b68f21d07f2966f0ca7bdb6c2761fb \ +- --hash=sha256:bbd732a08187a9e2a6ecf9e8af713f1d68256ee0f7c8b652a32795670fb481ba \ +- --hash=sha256:c072655ad1d5fe9ef462445d3e77a8166cbfa5e599045f8aa3c19b75315f10e5 \ +- --hash=sha256:d9c944d364688f827dc889cf83f1fca311caf4fa50b19f009d1f2b525edd33a3 \ +- --hash=sha256:ef4e2f338fc763f50a8113890f455e1a70acd42a4d083370ceb80c463d803972 \ +- --hash=sha256:f3736fe21da2b7d8a13fe8fe415f1272d2a1ccdeff4849c1421d2fb30fd533bc \ +- --hash=sha256:f4e025e852754ca833401777c25888acb96889ee2c27e7e629a19aee288833f0 ++h5py>=3.12.0 + # via + # -r ci/official/requirements_updater/requirements.in + # keras +@@ -487,24 +492,10 @@ protobuf==4.25.3 \ + --hash=sha256:f1279ab38ecbfae7e456a108c5c0681e4956d5b1090027c1de0f934dfdb4b35c \ + --hash=sha256:f4f118245c4a087776e0a8408be33cf09f6c547442c00395fbfb116fac2f8ac2 + # via tensorboard +-psutil==5.9.8 \ +- --hash=sha256:02615ed8c5ea222323408ceba16c60e99c3f91639b07da6373fb7e6539abc56d \ +- --hash=sha256:05806de88103b25903dff19bb6692bd2e714ccf9e668d050d144012055cbca73 \ +- --hash=sha256:26bd09967ae00920df88e0352a91cff1a78f8d69b3ecabbfe733610c0af486c8 \ +- --hash=sha256:27cc40c3493bb10de1be4b3f07cae4c010ce715290a5be22b98493509c6299e2 \ +- --hash=sha256:36f435891adb138ed3c9e58c6af3e2e6ca9ac2f365efe1f9cfef2794e6c93b4e \ +- --hash=sha256:50187900d73c1381ba1454cf40308c2bf6f34268518b3f36a9b663ca87e65e36 \ +- --hash=sha256:611052c4bc70432ec770d5d54f64206aa7203a101ec273a0cd82418c86503bb7 \ +- --hash=sha256:6be126e3225486dff286a8fb9a06246a5253f4c7c53b475ea5f5ac934e64194c \ +- --hash=sha256:7d79560ad97af658a0f6adfef8b834b53f64746d45b403f225b85c5c2c140eee \ +- --hash=sha256:8cb6403ce6d8e047495a701dc7c5bd788add903f8986d523e3e20b98b733e421 \ +- --hash=sha256:8db4c1b57507eef143a15a6884ca10f7c73876cdf5d51e713151c1236a0e68cf \ +- --hash=sha256:aee678c8720623dc456fa20659af736241f575d79429a0e5e9cf88ae0605cc81 \ +- --hash=sha256:bc56c2a1b0d15aa3eaa5a60c9f3f8e3e565303b465dbf57a1b730e7a2b9844e0 \ +- --hash=sha256:bd1184ceb3f87651a67b2708d4c3338e9b10c5df903f2e3776b62303b26cb631 \ +- --hash=sha256:d06016f7f8625a1825ba3732081d77c94589dca78b7a3fc072194851e88461a4 \ +- --hash=sha256:d16bbddf0693323b8c6123dd804100241da461e41d6e332fb0ba6058f630f8c8 +- # via portpicker ++psutil>=7.0.0 ++ # via ++ # -r ci/official/requirements_updater/requirements.in ++ # portpicker + pygments==2.18.0 \ + --hash=sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199 \ + --hash=sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a +diff --git a/requirements_lock_3_9.txt b/requirements_lock_3_9.txt +index 115d6caa10d..f52c6922a78 100644 +--- a/requirements_lock_3_9.txt ++++ b/requirements_lock_3_9.txt +@@ -181,28 +181,7 @@ grpcio==1.64.1 \ + # via + # -r ci/official/requirements_updater/requirements.in + # tensorboard +-h5py==3.11.0 \ +- --hash=sha256:083e0329ae534a264940d6513f47f5ada617da536d8dccbafc3026aefc33c90e \ +- --hash=sha256:1625fd24ad6cfc9c1ccd44a66dac2396e7ee74940776792772819fc69f3a3731 \ +- --hash=sha256:21dbdc5343f53b2e25404673c4f00a3335aef25521bd5fa8c707ec3833934892 \ +- --hash=sha256:52c416f8eb0daae39dabe71415cb531f95dce2d81e1f61a74537a50c63b28ab3 \ +- --hash=sha256:55106b04e2c83dfb73dc8732e9abad69d83a436b5b82b773481d95d17b9685e1 \ +- --hash=sha256:67462d0669f8f5459529de179f7771bd697389fcb3faab54d63bf788599a48ea \ +- --hash=sha256:6c4b760082626120031d7902cd983d8c1f424cdba2809f1067511ef283629d4b \ +- --hash=sha256:731839240c59ba219d4cb3bc5880d438248533366f102402cfa0621b71796b62 \ +- --hash=sha256:754c0c2e373d13d6309f408325343b642eb0f40f1a6ad21779cfa9502209e150 \ +- --hash=sha256:75bd7b3d93fbeee40860fd70cdc88df4464e06b70a5ad9ce1446f5f32eb84007 \ +- --hash=sha256:77b19a40788e3e362b54af4dcf9e6fde59ca016db2c61360aa30b47c7b7cef00 \ +- --hash=sha256:7b7e8f78072a2edec87c9836f25f34203fd492a4475709a18b417a33cfb21fa9 \ +- --hash=sha256:8ec9df3dd2018904c4cc06331951e274f3f3fd091e6d6cc350aaa90fa9b42a76 \ +- --hash=sha256:a76cae64080210389a571c7d13c94a1a6cf8cb75153044fd1f822a962c97aeab \ +- --hash=sha256:aa6ae84a14103e8dc19266ef4c3e5d7c00b68f21d07f2966f0ca7bdb6c2761fb \ +- --hash=sha256:bbd732a08187a9e2a6ecf9e8af713f1d68256ee0f7c8b652a32795670fb481ba \ +- --hash=sha256:c072655ad1d5fe9ef462445d3e77a8166cbfa5e599045f8aa3c19b75315f10e5 \ +- --hash=sha256:d9c944d364688f827dc889cf83f1fca311caf4fa50b19f009d1f2b525edd33a3 \ +- --hash=sha256:ef4e2f338fc763f50a8113890f455e1a70acd42a4d083370ceb80c463d803972 \ +- --hash=sha256:f3736fe21da2b7d8a13fe8fe415f1272d2a1ccdeff4849c1421d2fb30fd533bc \ +- --hash=sha256:f4e025e852754ca833401777c25888acb96889ee2c27e7e629a19aee288833f0 ++h5py>=3.12.0 + # via + # -r ci/official/requirements_updater/requirements.in + # keras +@@ -491,24 +496,20 @@ protobuf==4.25.3 \ + --hash=sha256:f1279ab38ecbfae7e456a108c5c0681e4956d5b1090027c1de0f934dfdb4b35c \ + --hash=sha256:f4f118245c4a087776e0a8408be33cf09f6c547442c00395fbfb116fac2f8ac2 + # via tensorboard +-psutil==5.9.8 \ +- --hash=sha256:02615ed8c5ea222323408ceba16c60e99c3f91639b07da6373fb7e6539abc56d \ +- --hash=sha256:05806de88103b25903dff19bb6692bd2e714ccf9e668d050d144012055cbca73 \ +- --hash=sha256:26bd09967ae00920df88e0352a91cff1a78f8d69b3ecabbfe733610c0af486c8 \ +- --hash=sha256:27cc40c3493bb10de1be4b3f07cae4c010ce715290a5be22b98493509c6299e2 \ +- --hash=sha256:36f435891adb138ed3c9e58c6af3e2e6ca9ac2f365efe1f9cfef2794e6c93b4e \ +- --hash=sha256:50187900d73c1381ba1454cf40308c2bf6f34268518b3f36a9b663ca87e65e36 \ +- --hash=sha256:611052c4bc70432ec770d5d54f64206aa7203a101ec273a0cd82418c86503bb7 \ +- --hash=sha256:6be126e3225486dff286a8fb9a06246a5253f4c7c53b475ea5f5ac934e64194c \ +- --hash=sha256:7d79560ad97af658a0f6adfef8b834b53f64746d45b403f225b85c5c2c140eee \ +- --hash=sha256:8cb6403ce6d8e047495a701dc7c5bd788add903f8986d523e3e20b98b733e421 \ +- --hash=sha256:8db4c1b57507eef143a15a6884ca10f7c73876cdf5d51e713151c1236a0e68cf \ +- --hash=sha256:aee678c8720623dc456fa20659af736241f575d79429a0e5e9cf88ae0605cc81 \ +- --hash=sha256:bc56c2a1b0d15aa3eaa5a60c9f3f8e3e565303b465dbf57a1b730e7a2b9844e0 \ +- --hash=sha256:bd1184ceb3f87651a67b2708d4c3338e9b10c5df903f2e3776b62303b26cb631 \ +- --hash=sha256:d06016f7f8625a1825ba3732081d77c94589dca78b7a3fc072194851e88461a4 \ +- --hash=sha256:d16bbddf0693323b8c6123dd804100241da461e41d6e332fb0ba6058f630f8c8 +- # via portpicker ++psutil>=7.0.0 \ ++ --hash=sha256:101d71dc322e3cffd7cea0650b09b3d08b8e7c4109dd6809fe452dfd00e58b25 \ ++ --hash=sha256:1e744154a6580bc968a0195fd25e80432d3afec619daf145b9e5ba16cc1d688e \ ++ --hash=sha256:1fcee592b4c6f146991ca55919ea3d1f8926497a713ed7faaf8225e174581e91 \ ++ --hash=sha256:39db632f6bb862eeccf56660871433e111b6ea58f2caea825571951d4b6aa3da \ ++ --hash=sha256:4b1388a4f6875d7e2aff5c4ca1cc16c545ed41dd8bb596cefea80111db353a34 \ ++ --hash=sha256:4cf3d4eb1aa9b348dec30105c55cd9b7d4629285735a102beb4441e38db90553 \ ++ --hash=sha256:7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456 \ ++ --hash=sha256:84df4eb63e16849689f76b1ffcb36db7b8de703d1bc1fe41773db487621b6c17 \ ++ --hash=sha256:a5f098451abc2828f7dc6b58d44b532b22f2088f4999a937557b603ce72b1993 \ ++ --hash=sha256:ba3fcef7523064a6c9da440fc4d6bd07da93ac726b5733c29027d7dc95b39d99 ++ # via ++ # -r ci/official/requirements_updater/requirements.in ++ # portpicker + pygments==2.18.0 \ + --hash=sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199 \ + --hash=sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a diff --git a/recipe/patches/0032-gpu_prim-error.patch b/recipe/patches/0032-gpu_prim-error.patch new file mode 100644 index 000000000..45b46e8e6 --- /dev/null +++ b/recipe/patches/0032-gpu_prim-error.patch @@ -0,0 +1,57 @@ +From a2b525b41e7f37f899144ace54d14a1849a2b18e Mon Sep 17 00:00:00 2001 +From: "Patrick J. LoPresti" +Date: Thu, 3 Apr 2025 10:44:00 -0700 +Subject: [PATCH] Adapt commit 5467ee9 from XLA to TensorFlow. + +TensorFlow has a build failure with newer CUDA. The problem has been +fixed in XLA (openxla/xla#16095 and TensorFlow commit 5457ee9). This +change adapts this commit to tensorflow/core/kernels/gpu_prim.h. + +Fixes #90562. +--- + WORKSPACE.rej | 20 +++++++++++++ + tensorflow/core/kernels/gpu_prim.h | 13 ++++---- + .../toolchains/python/python_repo.bzl.rej | 11 +++++++ + tensorflow/workspace2.bzl.rej | 16 ++++++++++ + ...rosstool_wrapper_driver_is_not_gcc.tpl.rej | 11 +++++++ + .../gpus/find_cuda_config.py.gz.base64.rej | 4 +++ + third_party/gpus/find_cuda_config.py.rej | 30 +++++++++++++++++++ + 7 files changed, 97 insertions(+), 8 deletions(-) + create mode 100644 WORKSPACE.rej + create mode 100644 tensorflow/tools/toolchains/python/python_repo.bzl.rej + create mode 100644 tensorflow/workspace2.bzl.rej + create mode 100644 third_party/gpus/crosstool/clang/bin/crosstool_wrapper_driver_is_not_gcc.tpl.rej + create mode 100644 third_party/gpus/find_cuda_config.py.gz.base64.rej + create mode 100644 third_party/gpus/find_cuda_config.py.rej + +diff --git a/tensorflow/core/kernels/gpu_prim.h b/tensorflow/core/kernels/gpu_prim.h +index bef22b50ada12c..f80bd54d4a1779 100644 +--- a/tensorflow/core/kernels/gpu_prim.h ++++ b/tensorflow/core/kernels/gpu_prim.h +@@ -44,10 +44,9 @@ __device__ __forceinline__ void ThreadStoreVolatilePtr( + Eigen::numext::bit_cast(val); + } + +-template <> +-__device__ __forceinline__ Eigen::half ThreadLoadVolatilePointer( +- Eigen::half *ptr, Int2Type /*is_primitive*/) { +- uint16_t result = *reinterpret_cast(ptr); ++__device__ __forceinline__ Eigen::half ThreadLoadVolatilePointer( ++ const Eigen::half *ptr, Int2Type /*is_primitive*/) { ++ uint16_t result = *reinterpret_cast(ptr); + return Eigen::numext::bit_cast(result); + } + +@@ -59,10 +58,8 @@ __device__ __forceinline__ void ThreadStoreVolatilePtr( + Eigen::numext::bit_cast(val); + } + +-template <> +-__device__ __forceinline__ Eigen::bfloat16 +-ThreadLoadVolatilePointer(Eigen::bfloat16 *ptr, +- Int2Type /*is_primitive*/) { ++__device__ __forceinline__ Eigen::bfloat16 ThreadLoadVolatilePointer( ++ Eigen::bfloat16 *ptr, Int2Type /*is_primitive*/) { + uint16_t result = *reinterpret_cast(ptr); + return Eigen::numext::bit_cast(result); + } diff --git a/recipe/patches/0034-build-dirty.patch b/recipe/patches/0034-build-dirty.patch new file mode 100644 index 000000000..f4bd222cd --- /dev/null +++ b/recipe/patches/0034-build-dirty.patch @@ -0,0 +1,24 @@ +--- third_party/llvm/workspace.bzl 2025-04-17 15:16:37.539588592 +0000 ++++ third_party/llvm/workspace.bzl 2025-04-17 15:17:14.799548942 +0000 +@@ -23,6 +23,7 @@ + "//third_party/llvm:toolchains.patch", + "//third_party/llvm:zstd.patch", + "//third_party/llvm:rocdl_shuffle_down.patch", ++ "//third_party/llvm:dirty.patch", + ], + link_files = {"//third_party/llvm:run_lit.sh": "mlir/run_lit.sh"}, + ) +--- /dev/null 2025-04-17 14:29:17.993999811 +0000 ++++ third_party/llvm/dirty.patch 2025-04-17 16:14:55.340857915 +0000 +@@ -0,0 +1,11 @@ ++--- a/utils/bazel/llvm-project-overlay/llvm/config.bzl 2025-04-17 16:11:50.417140143 +0000 +++++ b/utils/bazel/llvm-project-overlay/llvm/config.bzl 2025-04-17 16:11:54.891132310 +0000 ++@@ -103,7 +103,7 @@ ++ "@bazel_tools//src/conditions:linux_aarch64": native_arch_defines("AArch64", "aarch64-unknown-linux-gnu"), ++ "@bazel_tools//src/conditions:linux_ppc64le": native_arch_defines("PowerPC", "powerpc64le-unknown-linux-gnu"), ++ "@bazel_tools//src/conditions:linux_s390x": native_arch_defines("SystemZ", "systemz-unknown-linux_gnu"), ++- "//conditions:default": native_arch_defines("X86", "x86_64-unknown-linux-gnu"), +++ "//conditions:default": native_arch_defines("AArch64", "aarch64-unknown-linux-gnu"), ++ }) + [ ++ "LLVM_VERSION_MAJOR={}".format(LLVM_VERSION_MAJOR), ++ "LLVM_VERSION_MINOR={}".format(LLVM_VERSION_MINOR),
VariantStatus
linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13python3.10.____cpythonlinux_64_cuda_compiler_version12.6python3.10.____cpython - variant + variant
linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13python3.11.____cpythonlinux_64_cuda_compiler_version12.6python3.11.____cpython - variant + variant
linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13python3.12.____cpythonlinux_64_cuda_compiler_version12.6python3.12.____cpython - variant + variant
linux_64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13python3.9.____cpythonlinux_64_cuda_compiler_version12.6python3.9.____cpython - variant + variant
linux_64_c_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13python3.10.____cpythonlinux_64_cuda_compiler_versionNonepython3.10.____cpython - variant + variant
linux_64_c_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13python3.11.____cpythonlinux_64_cuda_compiler_versionNonepython3.11.____cpython - variant + variant
linux_64_c_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13python3.12.____cpythonlinux_64_cuda_compiler_versionNonepython3.12.____cpython - variant + variant
linux_64_c_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13python3.9.____cpythonlinux_64_cuda_compiler_versionNonepython3.9.____cpython - variant + variant
osx_64_python3.10.____cpythonlinux_aarch64_c_compiler_version11cuda_compiler_version12.8cxx_compiler_version11python3.10.____cpython - variant + variant
osx_64_python3.11.____cpythonlinux_aarch64_c_compiler_version11cuda_compiler_version12.8cxx_compiler_version11python3.11.____cpython - variant + variant
osx_64_python3.12.____cpythonlinux_aarch64_c_compiler_version11cuda_compiler_version12.8cxx_compiler_version11python3.12.____cpython - variant + variant
osx_64_python3.9.____cpythonlinux_aarch64_c_compiler_version11cuda_compiler_version12.8cxx_compiler_version11python3.9.____cpython - variant + variant + +
linux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13python3.10.____cpython + + variant + +
linux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13python3.11.____cpython + + variant
osx_arm64_python3.10.____cpythonlinux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13python3.12.____cpython - variant + variant
osx_arm64_python3.11.____cpythonlinux_aarch64_c_compiler_version13cuda_compiler_versionNonecxx_compiler_version13python3.9.____cpython - variant + variant
osx_arm64_python3.12.____cpythonosx_64_python3.10.____cpython + + variant + +
osx_64_python3.11.____cpython + + variant + +
osx_64_python3.12.____cpython - variant + variant
osx_arm64_python3.9.____cpythonosx_64_python3.9.____cpython - variant + variant