diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index bcfc9f37..d61eb1f3 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -8,50 +8,41 @@ jobs: vmImage: macOS-13 strategy: matrix: - osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython: - CONFIG: osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython + osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython: + CONFIG: osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython UPLOAD_PACKAGES: 'True' - osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython: - CONFIG: osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython + osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython: + CONFIG: osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython UPLOAD_PACKAGES: 'True' - osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython: - CONFIG: osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython + osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython: + CONFIG: osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython UPLOAD_PACKAGES: 'True' - osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython: - CONFIG: osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython + osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313: + CONFIG: osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313 UPLOAD_PACKAGES: 'True' - osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313: - CONFIG: osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313 + osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython: + CONFIG: osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython UPLOAD_PACKAGES: 'True' - osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython: - CONFIG: osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython + osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython: + CONFIG: osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython UPLOAD_PACKAGES: 'True' - osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython: - CONFIG: osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython + osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython: + CONFIG: osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython UPLOAD_PACKAGES: 'True' - osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython: - CONFIG: osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython + osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313: + CONFIG: osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313 UPLOAD_PACKAGES: 'True' - osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython: - CONFIG: osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython + osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython: + CONFIG: osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython UPLOAD_PACKAGES: 'True' - osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313: - CONFIG: osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313 + osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython: + CONFIG: osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython UPLOAD_PACKAGES: 'True' - osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython: - CONFIG: osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython + osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython: + CONFIG: osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython UPLOAD_PACKAGES: 'True' - osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython: - CONFIG: osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython - UPLOAD_PACKAGES: 'True' - osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython: - CONFIG: osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython - UPLOAD_PACKAGES: 'True' - osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython: - CONFIG: osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython - UPLOAD_PACKAGES: 'True' - osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313: - CONFIG: osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313 + osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313: + CONFIG: osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313 UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 variables: {} @@ -76,4 +67,4 @@ jobs: env: BINSTAR_TOKEN: $(BINSTAR_TOKEN) FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) - STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) \ No newline at end of file + STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) diff --git a/.ci_support/linux_64_blas_implgenericc_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalse.yaml b/.ci_support/linux_64_blas_implgenericchannel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml similarity index 85% rename from .ci_support/linux_64_blas_implgenericc_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalse.yaml rename to .ci_support/linux_64_blas_implgenericchannel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml index 8ea52536..30c738de 100644 --- a/.ci_support/linux_64_blas_implgenericc_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalse.yaml +++ b/.ci_support/linux_64_blas_implgenericchannel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml @@ -3,7 +3,7 @@ blas_impl: c_compiler: - gcc c_compiler_version: -- '13' +- '14' c_stdlib: - sysroot c_stdlib_version: @@ -17,13 +17,13 @@ channel_targets: cuda_compiler: - cuda-nvcc cuda_compiler_version: -- '12.6' +- '12.9' cudnn: - '9' cxx_compiler: - gxx cxx_compiler_version: -- '13' +- '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 github_actions_labels: @@ -31,7 +31,7 @@ github_actions_labels: is_rc: - 'False' libabseil: -- '20250127' +- '20250512' libblas: - 3.9.* *netlib libcblas: @@ -41,25 +41,21 @@ liblapack: libmagma_sparse: - '2.9' libprotobuf: -- 5.29.3 +- 6.31.1 libtorch: - '2.6' magma: - '2.9' megabuild: -- 'true' +- true mkl: - '2024' nccl: - '2' numpy: -- '2.0' -- '2.0' -- '2.0' - '2' -- '2.0' orc: -- 2.1.1 +- 2.2.0 pin_run_as_build: python: min_pin: x.x @@ -69,7 +65,6 @@ python: - 3.11.* *_cpython - 3.12.* *_cpython - 3.13.* *_cp313 -- 3.9.* *_cpython pytorch: - '2.6' target_platform: @@ -77,12 +72,9 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version - - cuda_compiler + - c_stdlib_version - cuda_compiler_version - - docker_image - - channel_targets - is_rc -- - python - - numpy zlib: - '1' diff --git a/.ci_support/linux_64_blas_implgenericc_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse.yaml b/.ci_support/linux_64_blas_implgenericchannel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml similarity index 85% rename from .ci_support/linux_64_blas_implgenericc_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse.yaml rename to .ci_support/linux_64_blas_implgenericchannel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml index a4f56c0d..0769514d 100644 --- a/.ci_support/linux_64_blas_implgenericc_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse.yaml +++ b/.ci_support/linux_64_blas_implgenericchannel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml @@ -3,7 +3,7 @@ blas_impl: c_compiler: - gcc c_compiler_version: -- '13' +- '14' c_stdlib: - sysroot c_stdlib_version: @@ -15,7 +15,7 @@ channel_sources: channel_targets: - conda-forge main cuda_compiler: -- None +- cuda-nvcc cuda_compiler_version: - None cudnn: @@ -23,7 +23,7 @@ cudnn: cxx_compiler: - gxx cxx_compiler_version: -- '13' +- '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 github_actions_labels: @@ -31,7 +31,7 @@ github_actions_labels: is_rc: - 'False' libabseil: -- '20250127' +- '20250512' libblas: - 3.9.* *netlib libcblas: @@ -41,25 +41,21 @@ liblapack: libmagma_sparse: - '2.9' libprotobuf: -- 5.29.3 +- 6.31.1 libtorch: - '2.6' magma: - '2.9' megabuild: -- 'true' +- true mkl: - '2024' nccl: - '2' numpy: -- '2.0' -- '2.0' -- '2.0' - '2' -- '2.0' orc: -- 2.1.1 +- 2.2.0 pin_run_as_build: python: min_pin: x.x @@ -69,7 +65,6 @@ python: - 3.11.* *_cpython - 3.12.* *_cpython - 3.13.* *_cp313 -- 3.9.* *_cpython pytorch: - '2.6' target_platform: @@ -77,12 +72,9 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version - - cuda_compiler + - c_stdlib_version - cuda_compiler_version - - docker_image - - channel_targets - is_rc -- - python - - numpy zlib: - '1' diff --git a/.ci_support/linux_64_blas_implmklc_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalse.yaml b/.ci_support/linux_64_blas_implmklchannel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml similarity index 85% rename from .ci_support/linux_64_blas_implmklc_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalse.yaml rename to .ci_support/linux_64_blas_implmklchannel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml index 1c072eef..184bb12c 100644 --- a/.ci_support/linux_64_blas_implmklc_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalse.yaml +++ b/.ci_support/linux_64_blas_implmklchannel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml @@ -3,7 +3,7 @@ blas_impl: c_compiler: - gcc c_compiler_version: -- '13' +- '14' c_stdlib: - sysroot c_stdlib_version: @@ -17,13 +17,13 @@ channel_targets: cuda_compiler: - cuda-nvcc cuda_compiler_version: -- '12.6' +- '12.9' cudnn: - '9' cxx_compiler: - gxx cxx_compiler_version: -- '13' +- '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 github_actions_labels: @@ -31,7 +31,7 @@ github_actions_labels: is_rc: - 'False' libabseil: -- '20250127' +- '20250512' libblas: - 3.9.* *netlib libcblas: @@ -41,25 +41,21 @@ liblapack: libmagma_sparse: - '2.9' libprotobuf: -- 5.29.3 +- 6.31.1 libtorch: - '2.6' magma: - '2.9' megabuild: -- 'true' +- true mkl: - '2024' nccl: - '2' numpy: -- '2.0' -- '2.0' -- '2.0' - '2' -- '2.0' orc: -- 2.1.1 +- 2.2.0 pin_run_as_build: python: min_pin: x.x @@ -69,7 +65,6 @@ python: - 3.11.* *_cpython - 3.12.* *_cpython - 3.13.* *_cp313 -- 3.9.* *_cpython pytorch: - '2.6' target_platform: @@ -77,12 +72,9 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version - - cuda_compiler + - c_stdlib_version - cuda_compiler_version - - docker_image - - channel_targets - is_rc -- - python - - numpy zlib: - '1' diff --git a/.ci_support/linux_64_blas_implmklc_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse.yaml b/.ci_support/linux_64_blas_implmklchannel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml similarity index 85% rename from .ci_support/linux_64_blas_implmklc_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse.yaml rename to .ci_support/linux_64_blas_implmklchannel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml index 089a310d..21bc3a50 100644 --- a/.ci_support/linux_64_blas_implmklc_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse.yaml +++ b/.ci_support/linux_64_blas_implmklchannel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml @@ -3,7 +3,7 @@ blas_impl: c_compiler: - gcc c_compiler_version: -- '13' +- '14' c_stdlib: - sysroot c_stdlib_version: @@ -15,7 +15,7 @@ channel_sources: channel_targets: - conda-forge main cuda_compiler: -- None +- cuda-nvcc cuda_compiler_version: - None cudnn: @@ -23,7 +23,7 @@ cudnn: cxx_compiler: - gxx cxx_compiler_version: -- '13' +- '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 github_actions_labels: @@ -31,7 +31,7 @@ github_actions_labels: is_rc: - 'False' libabseil: -- '20250127' +- '20250512' libblas: - 3.9.* *netlib libcblas: @@ -41,25 +41,21 @@ liblapack: libmagma_sparse: - '2.9' libprotobuf: -- 5.29.3 +- 6.31.1 libtorch: - '2.6' magma: - '2.9' megabuild: -- 'true' +- true mkl: - '2024' nccl: - '2' numpy: -- '2.0' -- '2.0' -- '2.0' - '2' -- '2.0' orc: -- 2.1.1 +- 2.2.0 pin_run_as_build: python: min_pin: x.x @@ -69,7 +65,6 @@ python: - 3.11.* *_cpython - 3.12.* *_cpython - 3.13.* *_cp313 -- 3.9.* *_cpython pytorch: - '2.6' target_platform: @@ -77,12 +72,9 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version - - cuda_compiler + - c_stdlib_version - cuda_compiler_version - - docker_image - - channel_targets - is_rc -- - python - - numpy zlib: - '1' diff --git a/.ci_support/linux_aarch64_c_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalse.yaml b/.ci_support/linux_aarch64_channel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml similarity index 86% rename from .ci_support/linux_aarch64_c_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalse.yaml rename to .ci_support/linux_aarch64_channel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml index 02433e33..88b93fe5 100644 --- a/.ci_support/linux_aarch64_c_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalse.yaml +++ b/.ci_support/linux_aarch64_channel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml @@ -17,7 +17,7 @@ channel_targets: cuda_compiler: - cuda-nvcc cuda_compiler_version: -- '12.6' +- '12.9' cudnn: - '9' cxx_compiler: @@ -31,7 +31,7 @@ github_actions_labels: is_rc: - 'False' libabseil: -- '20250127' +- '20250512' libblas: - 3.9.* *netlib libcblas: @@ -41,25 +41,21 @@ liblapack: libmagma_sparse: - '2.9' libprotobuf: -- 5.29.3 +- 6.31.1 libtorch: - '2.6' magma: - '2.9' megabuild: -- 'true' +- true mkl: - '2024' nccl: - '2' numpy: -- '2.0' -- '2.0' -- '2.0' - '2' -- '2.0' orc: -- 2.1.1 +- 2.2.0 pin_run_as_build: python: min_pin: x.x @@ -69,7 +65,6 @@ python: - 3.11.* *_cpython - 3.12.* *_cpython - 3.13.* *_cp313 -- 3.9.* *_cpython pytorch: - '2.6' target_platform: @@ -77,12 +72,9 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version - - cuda_compiler + - c_stdlib_version - cuda_compiler_version - - docker_image - - channel_targets - is_rc -- - python - - numpy zlib: - '1' diff --git a/.ci_support/linux_aarch64_c_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse.yaml b/.ci_support/linux_aarch64_channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml similarity index 86% rename from .ci_support/linux_aarch64_c_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse.yaml rename to .ci_support/linux_aarch64_channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml index 621a20b8..962e24c8 100644 --- a/.ci_support/linux_aarch64_c_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse.yaml +++ b/.ci_support/linux_aarch64_channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml @@ -15,7 +15,7 @@ channel_sources: channel_targets: - conda-forge main cuda_compiler: -- None +- cuda-nvcc cuda_compiler_version: - None cudnn: @@ -31,7 +31,7 @@ github_actions_labels: is_rc: - 'False' libabseil: -- '20250127' +- '20250512' libblas: - 3.9.* *netlib libcblas: @@ -41,25 +41,21 @@ liblapack: libmagma_sparse: - '2.9' libprotobuf: -- 5.29.3 +- 6.31.1 libtorch: - '2.6' magma: - '2.9' megabuild: -- 'true' +- true mkl: - '2024' nccl: - '2' numpy: -- '2.0' -- '2.0' -- '2.0' - '2' -- '2.0' orc: -- 2.1.1 +- 2.2.0 pin_run_as_build: python: min_pin: x.x @@ -69,7 +65,6 @@ python: - 3.11.* *_cpython - 3.12.* *_cpython - 3.13.* *_cp313 -- 3.9.* *_cpython pytorch: - '2.6' target_platform: @@ -77,12 +72,9 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version - - cuda_compiler + - c_stdlib_version - cuda_compiler_version - - docker_image - - channel_targets - is_rc -- - python - - numpy zlib: - '1' diff --git a/.ci_support/migrations/absl_grpc_proto_25Q2.yaml b/.ci_support/migrations/absl_grpc_proto_25Q2.yaml new file mode 100644 index 00000000..10b7a095 --- /dev/null +++ b/.ci_support/migrations/absl_grpc_proto_25Q2.yaml @@ -0,0 +1,29 @@ +__migrator: + build_number: 1 + commit_message: Rebuild for libabseil 20250512, libgrpc 1.73 & libprotobuf 6.31.1 + kind: version + migration_number: 1 + exclude: + # core deps + - abseil-cpp + - grpc-cpp + - libprotobuf + # required for building/testing + - protobuf + - re2 + # bazel stack + - bazel + - grpc_java_plugin + - singlejar +libabseil: +- 20250512 +libgrpc: +- "1.73" +libprotobuf: +- 6.31.1 +# we need to leave this migration open until we're ready to move the global baseline, see +# https://github.com/conda-forge/conda-forge.github.io/issues/2467; grpc 1.72 requires 11.0, +# see https://github.com/grpc/grpc/commit/f122d248443c81592e748da1adb240cbf0a0231c +c_stdlib_version: # [osx] + - 11.0 # [osx] +migrator_ts: 1748506837.6039238 diff --git a/.ci_support/migrations/cuda129.yaml b/.ci_support/migrations/cuda129.yaml new file mode 100644 index 00000000..663a53ae --- /dev/null +++ b/.ci_support/migrations/cuda129.yaml @@ -0,0 +1,49 @@ +migrator_ts: 1738229377 +__migrator: + kind: + version + migration_number: + 1 + build_number: + 1 + paused: false + use_local: true + override_cbc_keys: + - cuda_compiler_stub + check_solvable: false + primary_key: cuda_compiler_version + ordering: + cuda_compiler_version: + - 11.8 + - 12.4 + - 12.6 + - 12.8 + - None + - 12.9 + commit_message: | + Upgrade to CUDA 12.9 + + With CUDA 12.9, 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 + +c_stdlib_version: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 2.17 # [linux 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.9 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 12.8 # [win64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +c_compiler_version: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 14 # [(linux and x86_64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 13 # [(linux and aarch64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +cxx_compiler_version: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 14 # [(linux and x86_64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 13 # [(linux and aarch64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +fortran_compiler_version: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 14 # [(linux and x86_64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 13 # [(linux and aarch64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] diff --git a/.ci_support/migrations/magma.yaml b/.ci_support/migrations/magma.yaml deleted file mode 100644 index f9d302d9..00000000 --- a/.ci_support/migrations/magma.yaml +++ /dev/null @@ -1,12 +0,0 @@ -__migrator: - build_number: 1 - commit_message: Rebuild for magma 2.9 - kind: version - migration_number: 1 -magma: -- '2.9' -libmagma: -- '2.9' -libmagma_sparse: -- '2.9' -migrator_ts: 1744083773.2525206 diff --git a/.ci_support/migrations/numpy2.yaml b/.ci_support/migrations/numpy2.yaml deleted file mode 100644 index d19357f2..00000000 --- a/.ci_support/migrations/numpy2.yaml +++ /dev/null @@ -1,72 +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 numpy 2.0 package itself is currently only available from a special release - channel (`conda-forge/label/numpy_rc`) and will not be available on the main - `conda-forge` channel until the release of numpy 2.0 GA. - - 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, 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` run requirement until that happens (check numpy - issue 26191 for an overview of the most important packages). - - Note that the numpy release candidate promises to be ABI-compatible with the - final 2.0 release. This means that building against 2.0.0rc1 produces packages - that can be published to our main channels. - - If you already want to use the numpy 2.0 release candidate yourself, you can do - ``` - conda config --add channels conda-forge/label/numpy_rc - ``` - or add this channel to your `.condarc` file directly. - - ### 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` upper bound under `run:`. - * If upstream is already compatible with numpy 2.0, nothing else should be necessary in most cases. - * If upstream requires a minimum numpy version newer than 1.19, you can 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 - exclude: - # needs local overrides that get stomped on by the migrator, which then fails - - scipy - ordering: - # prefer channels including numpy_rc (otherwise smithy doesn't - # know which of the two values should be taken on merge) - channel_sources: - - conda-forge - - conda-forge/label/numpy_rc,conda-forge - -# needs to match length of zip {python, python_impl, numpy} -# as it is in global CBC in order to override it -numpy: - - 1.22 # no py38 support for numpy 2.0 - - 2.0 - - 2.0 - - 2.0 - - 2.0 -channel_sources: - - conda-forge/label/numpy_rc,conda-forge -migrator_ts: 1713572489.295986 diff --git a/.ci_support/migrations/python313.yaml b/.ci_support/migrations/python313.yaml deleted file mode 100644 index f9389e3b..00000000 --- a/.ci_support/migrations/python313.yaml +++ /dev/null @@ -1,46 +0,0 @@ -migrator_ts: 1724712607 -__migrator: - commit_message: Rebuild for python 3.13 - migration_number: 1 - operation: key_add - primary_key: python - ordering: - python: - - 3.6.* *_cpython - - 3.7.* *_cpython - - 3.8.* *_cpython - - 3.9.* *_cpython - - 3.10.* *_cpython - - 3.11.* *_cpython - - 3.12.* *_cpython - - 3.13.* *_cp313 # new entry - - 3.6.* *_73_pypy - - 3.7.* *_73_pypy - - 3.8.* *_73_pypy - - 3.9.* *_73_pypy - paused: false - longterm: true - pr_limit: 20 - max_solver_attempts: 3 # this will make the bot retry "not solvable" stuff 12 times - exclude: - # this shouldn't attempt to modify the python feedstocks - - python - - pypy3.6 - - pypy-meta - - cross-python - - python_abi - # see https://github.com/conda-forge/scipy-feedstock/pull/283 - - scipy - exclude_pinned_pkgs: false - additional_zip_keys: - - channel_sources - -python: -- 3.13.* *_cp313 -channel_sources: -- conda-forge/label/python_rc,conda-forge -# additional entries to add for zip_keys -numpy: -- 2 -python_impl: -- cpython diff --git a/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython.yaml b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython.yaml deleted file mode 100644 index b9c1f8ea..00000000 --- a/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython.yaml +++ /dev/null @@ -1,73 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '10.15' -MACOSX_SDK_VERSION: -- '13.3' -blas_impl: -- generic -c_compiler: -- clang -c_compiler_version: -- '18' -c_stdlib: -- macosx_deployment_target -c_stdlib_version: -- '10.15' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cuda_compiler: -- None -cuda_compiler_version: -- None -cxx_compiler: -- clangxx -cxx_compiler_version: -- '18' -is_rc: -- 'False' -libabseil: -- '20250127' -libblas: -- 3.9.* *netlib -libcblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libmagma_sparse: -- '2.9' -libprotobuf: -- 5.29.3 -libtorch: -- '2.6' -llvm_openmp: -- '18' -macos_machine: -- x86_64-apple-darwin13.4.0 -megabuild: -- 'false' -mkl: -- '2023' -numpy: -- '2.0' -orc: -- 2.1.1 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.9.* *_cpython -pytorch: -- '2.6' -target_platform: -- osx-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - channel_targets - - is_rc -- - python - - numpy -zlib: -- '1' diff --git a/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython.yaml b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython.yaml similarity index 87% rename from .ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython.yaml rename to .ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython.yaml index 97abfe1b..c064796c 100644 --- a/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython.yaml +++ b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython.yaml @@ -1,5 +1,5 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.15' +- '11.0' MACOSX_SDK_VERSION: - '13.3' blas_impl: @@ -7,27 +7,27 @@ blas_impl: c_compiler: - clang c_compiler_version: -- '18' +- '19' c_stdlib: - macosx_deployment_target c_stdlib_version: -- '10.15' +- '11.0' channel_sources: - conda-forge channel_targets: - conda-forge main cuda_compiler: -- None +- cuda-nvcc cuda_compiler_version: - None cxx_compiler: - clangxx cxx_compiler_version: -- '18' +- '19' is_rc: - 'False' libabseil: -- '20250127' +- '20250512' libblas: - 3.9.* *netlib libcblas: @@ -37,21 +37,21 @@ liblapack: libmagma_sparse: - '2.9' libprotobuf: -- 5.29.3 +- 6.31.1 libtorch: - '2.6' llvm_openmp: -- '18' +- '19' macos_machine: - x86_64-apple-darwin13.4.0 megabuild: -- 'false' +- false mkl: - '2023' numpy: -- '2.0' +- '2' orc: -- 2.1.1 +- 2.2.0 pin_run_as_build: python: min_pin: x.x @@ -67,7 +67,5 @@ zip_keys: - cxx_compiler_version - - channel_targets - is_rc -- - python - - numpy zlib: - '1' diff --git a/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython.yaml b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython.yaml similarity index 87% rename from .ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython.yaml rename to .ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython.yaml index 23cb55b8..110347aa 100644 --- a/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython.yaml +++ b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython.yaml @@ -1,5 +1,5 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.15' +- '11.0' MACOSX_SDK_VERSION: - '13.3' blas_impl: @@ -7,27 +7,27 @@ blas_impl: c_compiler: - clang c_compiler_version: -- '18' +- '19' c_stdlib: - macosx_deployment_target c_stdlib_version: -- '10.15' +- '11.0' channel_sources: - conda-forge channel_targets: - conda-forge main cuda_compiler: -- None +- cuda-nvcc cuda_compiler_version: - None cxx_compiler: - clangxx cxx_compiler_version: -- '18' +- '19' is_rc: - 'False' libabseil: -- '20250127' +- '20250512' libblas: - 3.9.* *netlib libcblas: @@ -37,21 +37,21 @@ liblapack: libmagma_sparse: - '2.9' libprotobuf: -- 5.29.3 +- 6.31.1 libtorch: - '2.6' llvm_openmp: -- '18' +- '19' macos_machine: - x86_64-apple-darwin13.4.0 megabuild: -- 'false' +- false mkl: - '2023' numpy: -- '2.0' +- '2' orc: -- 2.1.1 +- 2.2.0 pin_run_as_build: python: min_pin: x.x @@ -67,7 +67,5 @@ zip_keys: - cxx_compiler_version - - channel_targets - is_rc -- - python - - numpy zlib: - '1' diff --git a/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython.yaml b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython.yaml similarity index 87% rename from .ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython.yaml rename to .ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython.yaml index 16b1ea51..056d9086 100644 --- a/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython.yaml +++ b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython.yaml @@ -1,5 +1,5 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.15' +- '11.0' MACOSX_SDK_VERSION: - '13.3' blas_impl: @@ -7,27 +7,27 @@ blas_impl: c_compiler: - clang c_compiler_version: -- '18' +- '19' c_stdlib: - macosx_deployment_target c_stdlib_version: -- '10.15' +- '11.0' channel_sources: - conda-forge channel_targets: - conda-forge main cuda_compiler: -- None +- cuda-nvcc cuda_compiler_version: - None cxx_compiler: - clangxx cxx_compiler_version: -- '18' +- '19' is_rc: - 'False' libabseil: -- '20250127' +- '20250512' libblas: - 3.9.* *netlib libcblas: @@ -37,21 +37,21 @@ liblapack: libmagma_sparse: - '2.9' libprotobuf: -- 5.29.3 +- 6.31.1 libtorch: - '2.6' llvm_openmp: -- '18' +- '19' macos_machine: - x86_64-apple-darwin13.4.0 megabuild: -- 'false' +- false mkl: - '2023' numpy: -- '2.0' +- '2' orc: -- 2.1.1 +- 2.2.0 pin_run_as_build: python: min_pin: x.x @@ -67,7 +67,5 @@ zip_keys: - cxx_compiler_version - - channel_targets - is_rc -- - python - - numpy zlib: - '1' diff --git a/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313.yaml b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313.yaml similarity index 88% rename from .ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313.yaml rename to .ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313.yaml index 99335b1b..e881592f 100644 --- a/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313.yaml +++ b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313.yaml @@ -1,5 +1,5 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.15' +- '11.0' MACOSX_SDK_VERSION: - '13.3' blas_impl: @@ -7,27 +7,27 @@ blas_impl: c_compiler: - clang c_compiler_version: -- '18' +- '19' c_stdlib: - macosx_deployment_target c_stdlib_version: -- '10.15' +- '11.0' channel_sources: - conda-forge channel_targets: - conda-forge main cuda_compiler: -- None +- cuda-nvcc cuda_compiler_version: - None cxx_compiler: - clangxx cxx_compiler_version: -- '18' +- '19' is_rc: - 'False' libabseil: -- '20250127' +- '20250512' libblas: - 3.9.* *netlib libcblas: @@ -37,21 +37,21 @@ liblapack: libmagma_sparse: - '2.9' libprotobuf: -- 5.29.3 +- 6.31.1 libtorch: - '2.6' llvm_openmp: -- '18' +- '19' macos_machine: - x86_64-apple-darwin13.4.0 megabuild: -- 'false' +- false mkl: - '2023' numpy: - '2' orc: -- 2.1.1 +- 2.2.0 pin_run_as_build: python: min_pin: x.x @@ -67,7 +67,5 @@ zip_keys: - cxx_compiler_version - - channel_targets - is_rc -- - python - - numpy zlib: - '1' diff --git a/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython.yaml b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython.yaml deleted file mode 100644 index 297be0d0..00000000 --- a/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython.yaml +++ /dev/null @@ -1,73 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '10.15' -MACOSX_SDK_VERSION: -- '13.3' -blas_impl: -- mkl -c_compiler: -- clang -c_compiler_version: -- '18' -c_stdlib: -- macosx_deployment_target -c_stdlib_version: -- '10.15' -channel_sources: -- conda-forge -channel_targets: -- conda-forge main -cuda_compiler: -- None -cuda_compiler_version: -- None -cxx_compiler: -- clangxx -cxx_compiler_version: -- '18' -is_rc: -- 'False' -libabseil: -- '20250127' -libblas: -- 3.9.* *netlib -libcblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libmagma_sparse: -- '2.9' -libprotobuf: -- 5.29.3 -libtorch: -- '2.6' -llvm_openmp: -- '18' -macos_machine: -- x86_64-apple-darwin13.4.0 -megabuild: -- 'false' -mkl: -- '2023' -numpy: -- '2.0' -orc: -- 2.1.1 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.9.* *_cpython -pytorch: -- '2.6' -target_platform: -- osx-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - channel_targets - - is_rc -- - python - - numpy -zlib: -- '1' diff --git a/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython.yaml b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython.yaml similarity index 87% rename from .ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython.yaml rename to .ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython.yaml index 81177e00..584e4e14 100644 --- a/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython.yaml +++ b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython.yaml @@ -1,5 +1,5 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.15' +- '11.0' MACOSX_SDK_VERSION: - '13.3' blas_impl: @@ -7,27 +7,27 @@ blas_impl: c_compiler: - clang c_compiler_version: -- '18' +- '19' c_stdlib: - macosx_deployment_target c_stdlib_version: -- '10.15' +- '11.0' channel_sources: - conda-forge channel_targets: - conda-forge main cuda_compiler: -- None +- cuda-nvcc cuda_compiler_version: - None cxx_compiler: - clangxx cxx_compiler_version: -- '18' +- '19' is_rc: - 'False' libabseil: -- '20250127' +- '20250512' libblas: - 3.9.* *netlib libcblas: @@ -37,21 +37,21 @@ liblapack: libmagma_sparse: - '2.9' libprotobuf: -- 5.29.3 +- 6.31.1 libtorch: - '2.6' llvm_openmp: -- '18' +- '19' macos_machine: - x86_64-apple-darwin13.4.0 megabuild: -- 'false' +- false mkl: - '2023' numpy: -- '2.0' +- '2' orc: -- 2.1.1 +- 2.2.0 pin_run_as_build: python: min_pin: x.x @@ -67,7 +67,5 @@ zip_keys: - cxx_compiler_version - - channel_targets - is_rc -- - python - - numpy zlib: - '1' diff --git a/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython.yaml b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython.yaml similarity index 87% rename from .ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython.yaml rename to .ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython.yaml index 613a6358..9ed2d1ad 100644 --- a/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython.yaml +++ b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython.yaml @@ -1,5 +1,5 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.15' +- '11.0' MACOSX_SDK_VERSION: - '13.3' blas_impl: @@ -7,27 +7,27 @@ blas_impl: c_compiler: - clang c_compiler_version: -- '18' +- '19' c_stdlib: - macosx_deployment_target c_stdlib_version: -- '10.15' +- '11.0' channel_sources: - conda-forge channel_targets: - conda-forge main cuda_compiler: -- None +- cuda-nvcc cuda_compiler_version: - None cxx_compiler: - clangxx cxx_compiler_version: -- '18' +- '19' is_rc: - 'False' libabseil: -- '20250127' +- '20250512' libblas: - 3.9.* *netlib libcblas: @@ -37,21 +37,21 @@ liblapack: libmagma_sparse: - '2.9' libprotobuf: -- 5.29.3 +- 6.31.1 libtorch: - '2.6' llvm_openmp: -- '18' +- '19' macos_machine: - x86_64-apple-darwin13.4.0 megabuild: -- 'false' +- false mkl: - '2023' numpy: -- '2.0' +- '2' orc: -- 2.1.1 +- 2.2.0 pin_run_as_build: python: min_pin: x.x @@ -67,7 +67,5 @@ zip_keys: - cxx_compiler_version - - channel_targets - is_rc -- - python - - numpy zlib: - '1' diff --git a/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython.yaml b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython.yaml similarity index 87% rename from .ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython.yaml rename to .ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython.yaml index 6b7439fe..e12b6d67 100644 --- a/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython.yaml +++ b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython.yaml @@ -1,5 +1,5 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.15' +- '11.0' MACOSX_SDK_VERSION: - '13.3' blas_impl: @@ -7,27 +7,27 @@ blas_impl: c_compiler: - clang c_compiler_version: -- '18' +- '19' c_stdlib: - macosx_deployment_target c_stdlib_version: -- '10.15' +- '11.0' channel_sources: - conda-forge channel_targets: - conda-forge main cuda_compiler: -- None +- cuda-nvcc cuda_compiler_version: - None cxx_compiler: - clangxx cxx_compiler_version: -- '18' +- '19' is_rc: - 'False' libabseil: -- '20250127' +- '20250512' libblas: - 3.9.* *netlib libcblas: @@ -37,21 +37,21 @@ liblapack: libmagma_sparse: - '2.9' libprotobuf: -- 5.29.3 +- 6.31.1 libtorch: - '2.6' llvm_openmp: -- '18' +- '19' macos_machine: - x86_64-apple-darwin13.4.0 megabuild: -- 'false' +- false mkl: - '2023' numpy: -- '2.0' +- '2' orc: -- 2.1.1 +- 2.2.0 pin_run_as_build: python: min_pin: x.x @@ -67,7 +67,5 @@ zip_keys: - cxx_compiler_version - - channel_targets - is_rc -- - python - - numpy zlib: - '1' diff --git a/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313.yaml b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313.yaml similarity index 88% rename from .ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313.yaml rename to .ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313.yaml index 1f5eedf8..54814c0d 100644 --- a/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313.yaml +++ b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313.yaml @@ -1,5 +1,5 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.15' +- '11.0' MACOSX_SDK_VERSION: - '13.3' blas_impl: @@ -7,27 +7,27 @@ blas_impl: c_compiler: - clang c_compiler_version: -- '18' +- '19' c_stdlib: - macosx_deployment_target c_stdlib_version: -- '10.15' +- '11.0' channel_sources: - conda-forge channel_targets: - conda-forge main cuda_compiler: -- None +- cuda-nvcc cuda_compiler_version: - None cxx_compiler: - clangxx cxx_compiler_version: -- '18' +- '19' is_rc: - 'False' libabseil: -- '20250127' +- '20250512' libblas: - 3.9.* *netlib libcblas: @@ -37,21 +37,21 @@ liblapack: libmagma_sparse: - '2.9' libprotobuf: -- 5.29.3 +- 6.31.1 libtorch: - '2.6' llvm_openmp: -- '18' +- '19' macos_machine: - x86_64-apple-darwin13.4.0 megabuild: -- 'false' +- false mkl: - '2023' numpy: - '2' orc: -- 2.1.1 +- 2.2.0 pin_run_as_build: python: min_pin: x.x @@ -67,7 +67,5 @@ zip_keys: - cxx_compiler_version - - channel_targets - is_rc -- - python - - numpy zlib: - '1' diff --git a/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython.yaml b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython.yaml deleted file mode 100644 index a207bffb..00000000 --- a/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython.yaml +++ /dev/null @@ -1,73 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '11.0' -MACOSX_SDK_VERSION: -- '13.3' -blas_impl: -- generic -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' -is_rc: -- 'False' -libabseil: -- '20250127' -libblas: -- 3.9.* *netlib -libcblas: -- 3.9.* *netlib -liblapack: -- 3.9.* *netlib -libmagma_sparse: -- '2.9' -libprotobuf: -- 5.29.3 -libtorch: -- '2.6' -llvm_openmp: -- '18' -macos_machine: -- arm64-apple-darwin20.0.0 -megabuild: -- 'false' -mkl: -- '2023' -numpy: -- '2.0' -orc: -- 2.1.1 -pin_run_as_build: - python: - min_pin: x.x - max_pin: x.x -python: -- 3.9.* *_cpython -pytorch: -- '2.6' -target_platform: -- osx-arm64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version -- - channel_targets - - is_rc -- - python - - numpy -zlib: -- '1' diff --git a/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython.yaml b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython.yaml similarity index 89% rename from .ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython.yaml rename to .ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython.yaml index d31ddf14..a7e222a0 100644 --- a/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython.yaml +++ b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython.yaml @@ -7,7 +7,7 @@ blas_impl: c_compiler: - clang c_compiler_version: -- '18' +- '19' c_stdlib: - macosx_deployment_target c_stdlib_version: @@ -17,17 +17,17 @@ channel_sources: channel_targets: - conda-forge main cuda_compiler: -- None +- cuda-nvcc cuda_compiler_version: - None cxx_compiler: - clangxx cxx_compiler_version: -- '18' +- '19' is_rc: - 'False' libabseil: -- '20250127' +- '20250512' libblas: - 3.9.* *netlib libcblas: @@ -37,21 +37,21 @@ liblapack: libmagma_sparse: - '2.9' libprotobuf: -- 5.29.3 +- 6.31.1 libtorch: - '2.6' llvm_openmp: -- '18' +- '19' macos_machine: - arm64-apple-darwin20.0.0 megabuild: -- 'false' +- false mkl: - '2023' numpy: -- '2.0' +- '2' orc: -- 2.1.1 +- 2.2.0 pin_run_as_build: python: min_pin: x.x @@ -67,7 +67,5 @@ zip_keys: - cxx_compiler_version - - channel_targets - is_rc -- - python - - numpy zlib: - '1' diff --git a/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython.yaml b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython.yaml similarity index 89% rename from .ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython.yaml rename to .ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython.yaml index c2ec2c19..98dd3cf7 100644 --- a/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython.yaml +++ b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython.yaml @@ -7,7 +7,7 @@ blas_impl: c_compiler: - clang c_compiler_version: -- '18' +- '19' c_stdlib: - macosx_deployment_target c_stdlib_version: @@ -17,17 +17,17 @@ channel_sources: channel_targets: - conda-forge main cuda_compiler: -- None +- cuda-nvcc cuda_compiler_version: - None cxx_compiler: - clangxx cxx_compiler_version: -- '18' +- '19' is_rc: - 'False' libabseil: -- '20250127' +- '20250512' libblas: - 3.9.* *netlib libcblas: @@ -37,21 +37,21 @@ liblapack: libmagma_sparse: - '2.9' libprotobuf: -- 5.29.3 +- 6.31.1 libtorch: - '2.6' llvm_openmp: -- '18' +- '19' macos_machine: - arm64-apple-darwin20.0.0 megabuild: -- 'false' +- false mkl: - '2023' numpy: -- '2.0' +- '2' orc: -- 2.1.1 +- 2.2.0 pin_run_as_build: python: min_pin: x.x @@ -67,7 +67,5 @@ zip_keys: - cxx_compiler_version - - channel_targets - is_rc -- - python - - numpy zlib: - '1' diff --git a/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython.yaml b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython.yaml similarity index 89% rename from .ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython.yaml rename to .ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython.yaml index 382144cb..66d7adb7 100644 --- a/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython.yaml +++ b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython.yaml @@ -7,7 +7,7 @@ blas_impl: c_compiler: - clang c_compiler_version: -- '18' +- '19' c_stdlib: - macosx_deployment_target c_stdlib_version: @@ -17,17 +17,17 @@ channel_sources: channel_targets: - conda-forge main cuda_compiler: -- None +- cuda-nvcc cuda_compiler_version: - None cxx_compiler: - clangxx cxx_compiler_version: -- '18' +- '19' is_rc: - 'False' libabseil: -- '20250127' +- '20250512' libblas: - 3.9.* *netlib libcblas: @@ -37,21 +37,21 @@ liblapack: libmagma_sparse: - '2.9' libprotobuf: -- 5.29.3 +- 6.31.1 libtorch: - '2.6' llvm_openmp: -- '18' +- '19' macos_machine: - arm64-apple-darwin20.0.0 megabuild: -- 'false' +- false mkl: - '2023' numpy: -- '2.0' +- '2' orc: -- 2.1.1 +- 2.2.0 pin_run_as_build: python: min_pin: x.x @@ -67,7 +67,5 @@ zip_keys: - cxx_compiler_version - - channel_targets - is_rc -- - python - - numpy zlib: - '1' diff --git a/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313.yaml b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313.yaml similarity index 90% rename from .ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313.yaml rename to .ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313.yaml index 73cdf50b..13839507 100644 --- a/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313.yaml +++ b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313.yaml @@ -7,7 +7,7 @@ blas_impl: c_compiler: - clang c_compiler_version: -- '18' +- '19' c_stdlib: - macosx_deployment_target c_stdlib_version: @@ -17,17 +17,17 @@ channel_sources: channel_targets: - conda-forge main cuda_compiler: -- None +- cuda-nvcc cuda_compiler_version: - None cxx_compiler: - clangxx cxx_compiler_version: -- '18' +- '19' is_rc: - 'False' libabseil: -- '20250127' +- '20250512' libblas: - 3.9.* *netlib libcblas: @@ -37,21 +37,21 @@ liblapack: libmagma_sparse: - '2.9' libprotobuf: -- 5.29.3 +- 6.31.1 libtorch: - '2.6' llvm_openmp: -- '18' +- '19' macos_machine: - arm64-apple-darwin20.0.0 megabuild: -- 'false' +- false mkl: - '2023' numpy: - '2' orc: -- 2.1.1 +- 2.2.0 pin_run_as_build: python: min_pin: x.x @@ -67,7 +67,5 @@ zip_keys: - cxx_compiler_version - - channel_targets - is_rc -- - python - - numpy zlib: - '1' diff --git a/.ci_support/win_64_channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6is_rcFalse.yaml b/.ci_support/win_64_channel_targetsconda-forge_maincuda_compiler_version12.8is_rcFalse.yaml similarity index 77% rename from .ci_support/win_64_channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6is_rcFalse.yaml rename to .ci_support/win_64_channel_targetsconda-forge_maincuda_compiler_version12.8is_rcFalse.yaml index 67922e09..c2613296 100644 --- a/.ci_support/win_64_channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6is_rcFalse.yaml +++ b/.ci_support/win_64_channel_targetsconda-forge_maincuda_compiler_version12.8is_rcFalse.yaml @@ -1,7 +1,7 @@ blas_impl: - mkl c_compiler: -- vs2019 +- vs2022 c_stdlib: - vs channel_sources: @@ -11,37 +11,33 @@ channel_targets: cuda_compiler: - cuda-nvcc cuda_compiler_version: -- '12.6' +- '12.8' cudnn: - '9' cxx_compiler: -- vs2019 +- vs2022 github_actions_labels: - cirun-azure-windows-2xlarge is_rc: - 'False' libabseil: -- '20250127' +- '20250512' libmagma_sparse: - '2.9' libprotobuf: -- 5.29.3 +- 6.31.1 libtorch: - '2.6' magma: - '2.9' megabuild: -- 'true' +- true mkl: - '2024' numpy: -- '2.0' -- '2.0' -- '2.0' - '2' -- '2.0' orc: -- 2.1.1 +- 2.2.0 pin_run_as_build: python: min_pin: x.x @@ -51,7 +47,6 @@ python: - 3.11.* *_cpython - 3.12.* *_cpython - 3.13.* *_cp313 -- 3.9.* *_cpython pytorch: - '2.6' target_platform: @@ -59,9 +54,5 @@ target_platform: zip_keys: - - channel_targets - is_rc -- - cuda_compiler - - cuda_compiler_version -- - python - - numpy zlib: - '1' diff --git a/.ci_support/win_64_channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNoneis_rcFalse.yaml b/.ci_support/win_64_channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml similarity index 77% rename from .ci_support/win_64_channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNoneis_rcFalse.yaml rename to .ci_support/win_64_channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml index 32ff4d7c..c49ea743 100644 --- a/.ci_support/win_64_channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNoneis_rcFalse.yaml +++ b/.ci_support/win_64_channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml @@ -1,7 +1,7 @@ blas_impl: - mkl c_compiler: -- vs2019 +- vs2022 c_stdlib: - vs channel_sources: @@ -9,39 +9,35 @@ channel_sources: channel_targets: - conda-forge main cuda_compiler: -- None +- cuda-nvcc cuda_compiler_version: - None cudnn: - '9' cxx_compiler: -- vs2019 +- vs2022 github_actions_labels: - cirun-azure-windows-2xlarge is_rc: - 'False' libabseil: -- '20250127' +- '20250512' libmagma_sparse: - '2.9' libprotobuf: -- 5.29.3 +- 6.31.1 libtorch: - '2.6' magma: - '2.9' megabuild: -- 'true' +- true mkl: - '2024' numpy: -- '2.0' -- '2.0' -- '2.0' - '2' -- '2.0' orc: -- 2.1.1 +- 2.2.0 pin_run_as_build: python: min_pin: x.x @@ -51,7 +47,6 @@ python: - 3.11.* *_cpython - 3.12.* *_cpython - 3.13.* *_cp313 -- 3.9.* *_cpython pytorch: - '2.6' target_platform: @@ -59,9 +54,5 @@ target_platform: zip_keys: - - channel_targets - is_rc -- - cuda_compiler - - cuda_compiler_version -- - python - - numpy zlib: - '1' diff --git a/.gitattributes b/.gitattributes index 18f114a1..85ccb8f4 100644 --- a/.gitattributes +++ b/.gitattributes @@ -24,4 +24,5 @@ bld.bat text eol=crlf /README.md linguist-generated=true azure-pipelines.yml linguist-generated=true build-locally.py linguist-generated=true +pixi.toml linguist-generated=true shippable.yml linguist-generated=true diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml index 40a005a9..2d527019 100644 --- a/.github/workflows/conda-build.yml +++ b/.github/workflows/conda-build.yml @@ -16,61 +16,70 @@ jobs: build: name: ${{ matrix.CONFIG }} runs-on: ${{ matrix.runs_on }} - timeout-minutes: 900 + timeout-minutes: 1200 strategy: fail-fast: false matrix: include: - - CONFIG: linux_64_blas_implgenericc_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse + - CONFIG: linux_64_blas_implgenericchannel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse + SHORT_CONFIG: linux_64_blas_implgenericchannel_targets_h71a96c7d UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_64_blas_implgenericc_compiler_hb59e174a3e', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_64_blas_implgenericchannel_targets_h71a96c7d', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 CONDA_FORGE_DOCKER_RUN_ARGS: "--gpus all" - - CONFIG: linux_64_blas_implgenericc_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalse + - CONFIG: linux_64_blas_implgenericchannel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse + SHORT_CONFIG: linux_64_blas_implgenericchannel_targets_h17c608a0 UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_64_blas_implgenericc_compiler_h5e2cde8be1', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_64_blas_implgenericchannel_targets_h17c608a0', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 CONDA_FORGE_DOCKER_RUN_ARGS: "--gpus all" - - CONFIG: linux_64_blas_implmklc_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse + - CONFIG: linux_64_blas_implmklchannel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse + SHORT_CONFIG: linux_64_blas_implmklchannel_targetscond_h5b18f8bc UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_64_blas_implmklc_compiler_ver_h0b96eb68c6', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_64_blas_implmklchannel_targetscond_h5b18f8bc', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 CONDA_FORGE_DOCKER_RUN_ARGS: "--gpus all" - - CONFIG: linux_64_blas_implmklc_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalse + - CONFIG: linux_64_blas_implmklchannel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse + SHORT_CONFIG: linux_64_blas_implmklchannel_targetscond_h38f93959 UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_64_blas_implmklc_compiler_ver_hc39dedf959', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_64_blas_implmklchannel_targetscond_h38f93959', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 CONDA_FORGE_DOCKER_RUN_ARGS: "--gpus all" - - CONFIG: linux_aarch64_c_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse + - CONFIG: linux_aarch64_channel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse + SHORT_CONFIG: linux_aarch64_channel_targetsconda-forge_heefc8d83 UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_aarch64_c_compiler_version13c_h352ed12235', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_aarch64_channel_targetsconda-forge_heefc8d83', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 CONDA_FORGE_DOCKER_RUN_ARGS: "--gpus all" - - CONFIG: linux_aarch64_c_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalse + - CONFIG: linux_aarch64_channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse + SHORT_CONFIG: linux_aarch64_channel_targetsconda-forge_h56c2c839 UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_aarch64_c_compiler_version13c_h94771c6c09', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_aarch64_channel_targetsconda-forge_h56c2c839', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 CONDA_FORGE_DOCKER_RUN_ARGS: "--gpus all" - - CONFIG: win_64_channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNoneis_rcFalse + - CONFIG: win_64_channel_targetsconda-forge_maincuda_compiler_version12.8is_rcFalse + SHORT_CONFIG: win_64_channel_targetsconda-forge_maincu_hca575dce UPLOAD_PACKAGES: True os: windows - runs_on: ['cirun-azure-windows-2xlarge--${{ github.run_id }}-win_64_channel_targetsconda-forge_m_h0b759d4e63', 'windows', 'x64', 'self-hosted'] - - CONFIG: win_64_channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6is_rcFalse + runs_on: ['cirun-azure-windows-2xlarge--${{ github.run_id }}-win_64_channel_targetsconda-forge_maincu_hca575dce', 'windows', 'x64', 'self-hosted'] + - CONFIG: win_64_channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse + SHORT_CONFIG: win_64_channel_targetsconda-forge_maincu_hc68ac914 UPLOAD_PACKAGES: True os: windows - runs_on: ['cirun-azure-windows-2xlarge--${{ github.run_id }}-win_64_channel_targetsconda-forge_m_h790f30616b', 'windows', 'x64', 'self-hosted'] + runs_on: ['cirun-azure-windows-2xlarge--${{ github.run_id }}-win_64_channel_targetsconda-forge_maincu_hc68ac914', 'windows', 'x64', 'self-hosted'] steps: - name: Checkout code uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - name: Build on Linux + id: build-linux if: matrix.os == 'ubuntu' env: CONFIG: ${{ matrix.CONFIG }} @@ -83,8 +92,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" @@ -99,6 +110,7 @@ jobs: ./.scripts/run_docker_build.sh - name: Build on macOS + id: build-macos if: matrix.os == 'macos' env: CONFIG: ${{ matrix.CONFIG }} @@ -122,6 +134,8 @@ jobs: ./.scripts/run_osx_build.sh - name: Build on windows + id: build-windows + if: matrix.os == 'windows' shell: cmd run: | set "flow_run_id=github_%GITHUB_RUN_ID%" @@ -129,6 +143,9 @@ jobs: set "sha=%GITHUB_SHA%" call ".scripts\run_win_build.bat" env: + # default value; make it explicit, as it needs to match with artefact + # generation below. Not configurable for now, can be revisited later + CONDA_BLD_DIR: C:\bld MINIFORGE_HOME: D:\Miniforge PYTHONUNBUFFERED: 1 CONFIG: ${{ matrix.CONFIG }} @@ -137,4 +154,84 @@ jobs: BINSTAR_TOKEN: ${{ secrets.BINSTAR_TOKEN }} FEEDSTOCK_TOKEN: ${{ secrets.FEEDSTOCK_TOKEN }} STAGING_BINSTAR_TOKEN: ${{ secrets.STAGING_BINSTAR_TOKEN }} - if: matrix.os == 'windows' \ No newline at end of file + + - name: Determine build outcome + # this is to merge the status of the linux/osx/win builds into + # something we can easily reuse during artefact generation + id: determine-status + if: ${{ always() }} + shell: bash + env: + OS: ${{ matrix.os }} + run: | + if [[ "$OS" == "ubuntu" ]]; then + STATUS=${{ steps.build-linux.outcome }} + elif [[ "$OS" == "macos" ]]; then + STATUS=${{ steps.build-macos.outcome }} + elif [[ "$OS" == "windows" ]]; then + STATUS=${{ steps.build-windows.outcome }} + fi + if [ -z "$STATUS" ]; then + # steps that never ran will have empty status + STATUS="cancelled" + fi + echo "status=$STATUS" >> $GITHUB_OUTPUT + + - name: Prepare conda build artifacts + continue-on-error: true + id: prepare-artifacts + shell: bash + # we do not want to trigger artefact creation if the build was cancelled + if: ${{ always() && steps.determine-status.outputs.status != 'cancelled' }} + env: + CI: github_actions + CONFIG: ${{ matrix.CONFIG }} + SHORT_CONFIG: ${{ matrix.SHORT_CONFIG }} + JOB_STATUS: ${{ steps.determine-status.outputs.status }} + OS: ${{ matrix.os }} + run: | + export CI_RUN_ID=$GITHUB_RUN_ID + export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)" + export ARTIFACT_STAGING_DIR="$GITHUB_WORKSPACE" + if [ $OS == "macos" ]; then + export CONDA_BLD_DIR="${MINIFORGE_HOME:-${HOME}/miniforge3}/conda-bld" + elif [ $OS == "windows" ]; then + # this needs to be consistent with build step, see above + export CONDA_BLD_DIR="C:\\bld" + else + export CONDA_BLD_DIR="build_artifacts" + fi + # Archive everything in CONDA_BLD_DIR except environments + # Archive the CONDA_BLD_DIR environments only when the job fails + # Use different prefix for successful and failed build artifacts + # so random failures don't prevent rebuilds from creating artifacts. + if [ $JOB_STATUS == "failure" ]; then + export BLD_ARTIFACT_PREFIX="conda_artifacts" + export ENV_ARTIFACT_PREFIX="conda_envs" + else + export BLD_ARTIFACT_PREFIX="conda_pkgs" + fi + if [ $OS == "windows" ]; then + pwsh -Command ". '.scripts/create_conda_build_artifacts.bat'" + else + ./.scripts/create_conda_build_artifacts.sh + fi + + - name: Store conda build artifacts + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 + if: ${{ always() && steps.prepare-artifacts.outcome == 'success' }} + with: + name: ${{ steps.prepare-artifacts.outputs.BLD_ARTIFACT_NAME }} + path: ${{ steps.prepare-artifacts.outputs.BLD_ARTIFACT_PATH }} + retention-days: 14 + continue-on-error: true + + - name: Store conda build environment artifacts + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 + # only relevant if build failed, see above + if: ${{ always() && steps.determine-status.outputs.status == 'failure' && steps.prepare-artifacts.outcome == 'success' }} + with: + name: ${{ steps.prepare-artifacts.outputs.ENV_ARTIFACT_NAME }} + path: ${{ steps.prepare-artifacts.outputs.ENV_ARTIFACT_PATH }} + retention-days: 14 + continue-on-error: true \ No newline at end of file diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 827a29fb..780a358f 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -97,4 +97,4 @@ fi ( startgroup "Final checks" ) 2> /dev/null -touch "${FEEDSTOCK_ROOT}/build_artifacts/conda-forge-build-done-${CONFIG}" \ No newline at end of file +touch "${FEEDSTOCK_ROOT}/build_artifacts/conda-forge-build-done-${CONFIG}" diff --git a/.scripts/create_conda_build_artifacts.bat b/.scripts/create_conda_build_artifacts.bat new file mode 100755 index 00000000..0bb6fc0b --- /dev/null +++ b/.scripts/create_conda_build_artifacts.bat @@ -0,0 +1,77 @@ +setlocal enableextensions enabledelayedexpansion + +rem INPUTS (environment variables that need to be set before calling this script): +rem +rem CI (azure/github_actions/UNSET) +rem CI_RUN_ID (unique identifier for the CI job run) +rem FEEDSTOCK_NAME +rem CONFIG (build matrix configuration string) +rem SHORT_CONFIG (uniquely-shortened configuration string) +rem CONDA_BLD_DIR (path to the conda-bld directory) +rem ARTIFACT_STAGING_DIR (use working directory if unset) +rem BLD_ARTIFACT_PREFIX (prefix for the conda build artifact name, skip if unset) +rem ENV_ARTIFACT_PREFIX (prefix for the conda build environments artifact name, skip if unset) + +rem OUTPUTS +rem +rem BLD_ARTIFACT_NAME +rem BLD_ARTIFACT_PATH +rem ENV_ARTIFACT_NAME +rem ENV_ARTIFACT_PATH + +rem Check that the conda-build directory exists +if not exist %CONDA_BLD_DIR% ( + echo conda-build directory does not exist + exit 1 +) + +if not defined ARTIFACT_STAGING_DIR ( + rem Set staging dir to the working dir + set ARTIFACT_STAGING_DIR=%cd% +) + +rem Set a unique ID for the artifact(s), specialized for this particular job run +set ARTIFACT_UNIQUE_ID=%CI_RUN_ID%_%CONFIG% +if not "%ARTIFACT_UNIQUE_ID%" == "%ARTIFACT_UNIQUE_ID:~0,80%" ( + set ARTIFACT_UNIQUE_ID=%CI_RUN_ID%_%SHORT_CONFIG% +) + +rem Make the build artifact zip +if defined BLD_ARTIFACT_PREFIX ( + set BLD_ARTIFACT_NAME=%BLD_ARTIFACT_PREFIX%_%ARTIFACT_UNIQUE_ID% + echo BLD_ARTIFACT_NAME: !BLD_ARTIFACT_NAME! + + set "BLD_ARTIFACT_PATH=%ARTIFACT_STAGING_DIR%\%FEEDSTOCK_NAME%_%BLD_ARTIFACT_PREFIX%_%ARCHIVE_UNIQUE_ID%.zip" + 7z a "!BLD_ARTIFACT_PATH!" "%CONDA_BLD_DIR%" -xr^^!.git/ -xr^^!_*_env*/ -xr^^!*_cache/ -bb + if errorlevel 1 exit 1 + echo BLD_ARTIFACT_PATH: !BLD_ARTIFACT_PATH! + + if "%CI%" == "azure" ( + echo ##vso[task.setVariable variable=BLD_ARTIFACT_NAME]!BLD_ARTIFACT_NAME! + echo ##vso[task.setVariable variable=BLD_ARTIFACT_PATH]!BLD_ARTIFACT_PATH! + ) + if "%CI%" == "github_actions" ( + echo BLD_ARTIFACT_NAME=!BLD_ARTIFACT_NAME!>> !GITHUB_OUTPUT! + echo BLD_ARTIFACT_PATH=!BLD_ARTIFACT_PATH!>> !GITHUB_OUTPUT! + ) +) + +rem Make the environments artifact zip +if defined ENV_ARTIFACT_PREFIX ( + set ENV_ARTIFACT_NAME=!ENV_ARTIFACT_PREFIX!_%ARTIFACT_UNIQUE_ID% + echo ENV_ARTIFACT_NAME: !ENV_ARTIFACT_NAME! + + set "ENV_ARTIFACT_PATH=%ARTIFACT_STAGING_DIR%\%FEEDSTOCK_NAME%_%ENV_ARTIFACT_PREFIX%_%ARCHIVE_UNIQUE_ID%.zip" + 7z a "!ENV_ARTIFACT_PATH!" -r "%CONDA_BLD_DIR%"/_*_env*/ -bb + if errorlevel 1 exit 1 + echo ENV_ARTIFACT_PATH: !ENV_ARTIFACT_PATH! + + if "%CI%" == "azure" ( + echo ##vso[task.setVariable variable=ENV_ARTIFACT_NAME]!ENV_ARTIFACT_NAME! + echo ##vso[task.setVariable variable=ENV_ARTIFACT_PATH]!ENV_ARTIFACT_PATH! + ) + if "%CI%" == "github_actions" ( + echo ENV_ARTIFACT_NAME=!ENV_ARTIFACT_NAME!>> !GITHUB_OUTPUT! + echo ENV_ARTIFACT_PATH=!ENV_ARTIFACT_PATH!>> !GITHUB_OUTPUT! + ) +) diff --git a/.scripts/create_conda_build_artifacts.sh b/.scripts/create_conda_build_artifacts.sh new file mode 100755 index 00000000..819c3b9c --- /dev/null +++ b/.scripts/create_conda_build_artifacts.sh @@ -0,0 +1,113 @@ +#!/usr/bin/env bash + +# INPUTS (environment variables that need to be set before calling this script): +# +# CI (azure/github_actions/UNSET) +# CI_RUN_ID (unique identifier for the CI job run) +# FEEDSTOCK_NAME +# CONFIG (build matrix configuration string) +# SHORT_CONFIG (uniquely-shortened configuration string) +# CONDA_BLD_DIR (path to the conda-bld directory) +# ARTIFACT_STAGING_DIR (use working directory if unset) +# BLD_ARTIFACT_PREFIX (prefix for the conda build artifact name, skip if unset) +# ENV_ARTIFACT_PREFIX (prefix for the conda build environments artifact name, skip if unset) + +# OUTPUTS +# +# BLD_ARTIFACT_NAME +# BLD_ARTIFACT_PATH +# ENV_ARTIFACT_NAME +# ENV_ARTIFACT_PATH + +source .scripts/logging_utils.sh + +# DON'T do set -x, because it results in double echo-ing pipeline commands +# and that might end up inserting extraneous quotation marks in output variables +set -e + +# Check that the conda-build directory exists +if [ ! -d "$CONDA_BLD_DIR" ]; then + echo "conda-build directory does not exist" + exit 1 +fi + +# Set staging dir to the working dir, in Windows style if applicable +if [[ -z "${ARTIFACT_STAGING_DIR}" ]]; then + if pwd -W; then + ARTIFACT_STAGING_DIR=$(pwd -W) + else + ARTIFACT_STAGING_DIR=$PWD + fi +fi +echo "ARTIFACT_STAGING_DIR: $ARTIFACT_STAGING_DIR" + +FEEDSTOCK_ROOT=$(cd "$(dirname "$0")/.."; pwd;) +if [ -z ${FEEDSTOCK_NAME} ]; then + export FEEDSTOCK_NAME=$(basename ${FEEDSTOCK_ROOT}) +fi + +# Set a unique ID for the artifact(s), specialized for this particular job run +ARTIFACT_UNIQUE_ID="${CI_RUN_ID}_${CONFIG}" +if [[ ${#ARTIFACT_UNIQUE_ID} -gt 80 ]]; then + ARTIFACT_UNIQUE_ID="${CI_RUN_ID}_${SHORT_CONFIG}" +fi +echo "ARTIFACT_UNIQUE_ID: $ARTIFACT_UNIQUE_ID" + +# Set a descriptive ID for the archive(s), specialized for this particular job run +ARCHIVE_UNIQUE_ID="${CI_RUN_ID}_${CONFIG}" + +# Make the build artifact zip +if [[ ! -z "$BLD_ARTIFACT_PREFIX" ]]; then + export BLD_ARTIFACT_NAME="${BLD_ARTIFACT_PREFIX}_${ARTIFACT_UNIQUE_ID}" + export BLD_ARTIFACT_PATH="${ARTIFACT_STAGING_DIR}/${FEEDSTOCK_NAME}_${BLD_ARTIFACT_PREFIX}_${ARCHIVE_UNIQUE_ID}.zip" + + ( startgroup "Archive conda build directory" ) 2> /dev/null + + # Try 7z and fall back to zip if it fails (for cross-platform use) + if ! 7z a "$BLD_ARTIFACT_PATH" "$CONDA_BLD_DIR" '-xr!.git/' '-xr!_*_env*/' '-xr!*_cache/' -bb; then + pushd "$CONDA_BLD_DIR" + zip -r -y -T "$BLD_ARTIFACT_PATH" . -x '*.git/*' '*_*_env*/*' '*_cache/*' + popd + fi + + ( endgroup "Archive conda build directory" ) 2> /dev/null + + echo "BLD_ARTIFACT_NAME: $BLD_ARTIFACT_NAME" + echo "BLD_ARTIFACT_PATH: $BLD_ARTIFACT_PATH" + + if [[ "$CI" == "azure" ]]; then + echo "##vso[task.setVariable variable=BLD_ARTIFACT_NAME]$BLD_ARTIFACT_NAME" + echo "##vso[task.setVariable variable=BLD_ARTIFACT_PATH]$BLD_ARTIFACT_PATH" + elif [[ "$CI" == "github_actions" ]]; then + echo "BLD_ARTIFACT_NAME=$BLD_ARTIFACT_NAME" >> $GITHUB_OUTPUT + echo "BLD_ARTIFACT_PATH=$BLD_ARTIFACT_PATH" >> $GITHUB_OUTPUT + fi +fi + +# Make the environments artifact zip +if [[ ! -z "$ENV_ARTIFACT_PREFIX" ]]; then + export ENV_ARTIFACT_NAME="${ENV_ARTIFACT_PREFIX}_${ARTIFACT_UNIQUE_ID}" + export ENV_ARTIFACT_PATH="${ARTIFACT_STAGING_DIR}/${FEEDSTOCK_NAME}_${ENV_ARTIFACT_PREFIX}_${ARCHIVE_UNIQUE_ID}.zip" + + ( startgroup "Archive conda build environments" ) 2> /dev/null + + # Try 7z and fall back to zip if it fails (for cross-platform use) + if ! 7z a "$ENV_ARTIFACT_PATH" -r "$CONDA_BLD_DIR"/'_*_env*/' -bb; then + pushd "$CONDA_BLD_DIR" + zip -r -y -T "$ENV_ARTIFACT_PATH" . -i '*_*_env*/*' + popd + fi + + ( endgroup "Archive conda build environments" ) 2> /dev/null + + echo "ENV_ARTIFACT_NAME: $ENV_ARTIFACT_NAME" + echo "ENV_ARTIFACT_PATH: $ENV_ARTIFACT_PATH" + + if [[ "$CI" == "azure" ]]; then + echo "##vso[task.setVariable variable=ENV_ARTIFACT_NAME]$ENV_ARTIFACT_NAME" + echo "##vso[task.setVariable variable=ENV_ARTIFACT_PATH]$ENV_ARTIFACT_PATH" + elif [[ "$CI" == "github_actions" ]]; then + echo "ENV_ARTIFACT_NAME=$ENV_ARTIFACT_NAME" >> $GITHUB_OUTPUT + echo "ENV_ARTIFACT_PATH=$ENV_ARTIFACT_PATH" >> $GITHUB_OUTPUT + fi +fi diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 6ee04aa1..b63b5a05 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -111,4 +111,4 @@ docker run ${DOCKER_RUN_ARGS} \ test -f "$DONE_CANARY" # This closes the last group opened in `build_steps.sh` -( endgroup "Final checks" ) 2> /dev/null \ No newline at end of file +( endgroup "Final checks" ) 2> /dev/null diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 0e3c3942..361edeb2 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -117,4 +117,4 @@ else fi ( endgroup "Uploading packages" ) 2> /dev/null -fi \ No newline at end of file +fi diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat index 283e1438..27c552b1 100755 --- a/.scripts/run_win_build.bat +++ b/.scripts/run_win_build.bat @@ -25,7 +25,7 @@ set "MICROMAMBA_EXE=%MICROMAMBA_TMPDIR%\micromamba.exe" echo Downloading micromamba %MICROMAMBA_VERSION% if not exist "%MICROMAMBA_TMPDIR%" mkdir "%MICROMAMBA_TMPDIR%" -certutil -urlcache -split -f "%MICROMAMBA_URL%" "%MICROMAMBA_EXE%" +powershell -ExecutionPolicy Bypass -Command "(New-Object Net.WebClient).DownloadFile('%MICROMAMBA_URL%', '%MICROMAMBA_EXE%')" if !errorlevel! neq 0 exit /b !errorlevel! echo Creating environment @@ -148,4 +148,4 @@ if /i "%CI%" == "azure" ( echo ##[endgroup] exit /b ) -exit /b \ No newline at end of file +exit /b diff --git a/README.md b/README.md index 4ce0f750..96a642ef 100644 --- a/README.md +++ b/README.md @@ -37,164 +37,143 @@ Current build status - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - diff --git a/build-locally.py b/build-locally.py index 02c23747..9dfe4403 100755 --- a/build-locally.py +++ b/build-locally.py @@ -106,9 +106,7 @@ def main(args=None): 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) @@ -124,9 +122,7 @@ def main(args=None): 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 d4eae11d..65785c09 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -2,12 +2,9 @@ azure: free_disk_space: true settings_linux: timeoutInMinutes: 1 - settings_win: - variables: - CONDA_BLD_PATH: C:\\bld\\ bot: abi_migration_branches: - - v2.5.x + - v2.6.x build_platform: linux_aarch64: linux_64 osx_arm64: osx_64 @@ -19,7 +16,8 @@ github: tooling_branch_name: main github_actions: self_hosted: true - timeout_minutes: 900 + store_build_artifacts: true + timeout_minutes: 1200 triggers: - push - pull_request diff --git a/recipe/bld.bat b/recipe/bld.bat index 7f3ce96e..6a5a517d 100644 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -69,8 +69,7 @@ set "USE_LITE_PROTO=ON" SET "USE_ITT=0" SET "USE_NUMA=0" -@REM TODO(baszalmstra): There are linker errors because of mixing Intel OpenMP (iomp) and Microsoft OpenMP (vcomp) -set "USE_OPENMP=OFF" +set "USE_OPENMP=ON" @REM Use our Pybind11, Eigen, sleef set USE_SYSTEM_EIGEN_INSTALL=1 @@ -87,7 +86,7 @@ if not "%cuda_compiler_version%" == "None" ( @REM set CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v%desired_cuda% @REM set CUDA_BIN_PATH=%CUDA_PATH%\bin - set "TORCH_CUDA_ARCH_LIST=5.0;6.0;6.1;7.0;7.5;8.0;8.6;8.9;9.0+PTX" + set "TORCH_CUDA_ARCH_LIST=5.0;6.0;7.0;7.5;8.0;8.6;9.0;10.0;12.0+PTX" set "TORCH_NVCC_FLAGS=-Xfatbin -compress-all" set MAGMA_HOME=%LIBRARY_PREFIX% diff --git a/recipe/build.sh b/recipe/build.sh index 13d48aa6..d27a67c8 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -99,6 +99,10 @@ rm -rf $PREFIX/bin/protoc export USE_SYSTEM_PYBIND11=1 export USE_SYSTEM_EIGEN_INSTALL=1 +# workaround to stop setup.py from trying to check whether we checked out +# all submodules (we don't use all of them) +rm -f .gitmodules + # prevent six from being downloaded > third_party/NNPACK/cmake/DownloadSix.cmake @@ -155,6 +159,8 @@ fi # MacOS build is simple, and will not be for CUDA if [[ "$OSTYPE" == "darwin"* ]]; then + export USE_CUDA=0 + # Produce macOS builds with torch.distributed support. # This is enabled by default on Linux, but disabled by default on macOS, # because it requires an non-bundled compile-time dependency (libuv @@ -210,8 +216,8 @@ elif [[ ${cuda_compiler_version} != "None" ]]; then # https://pytorch.org/docs/stable/cpp_extension.html (Compute capabilities) # https://github.com/pytorch/pytorch/blob/main/.ci/manywheel/build_cuda.sh case ${cuda_compiler_version} in - 12.[0-6]) - export TORCH_CUDA_ARCH_LIST="5.0;6.0;6.1;7.0;7.5;8.0;8.6;8.9;9.0+PTX" + 12.[89]) + export TORCH_CUDA_ARCH_LIST="5.0;6.0;7.0;7.5;8.0;8.6;9.0;10.0;12.0+PTX" ;; *) echo "No CUDA architecture list exists for CUDA v${cuda_compiler_version}. See build.sh for information on adding one." diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index a0c8d801..ab62c578 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -1,6 +1,14 @@ c_stdlib_version: # [unix] - 10.15 # [osx and x86_64] +# problem with GCC 14 in vendored xnnpack +c_compiler_version: # [aarch64] + - 13 # [aarch64] + - 13 # [aarch64] +cxx_compiler_version: # [aarch64] + - 13 # [aarch64] + - 13 # [aarch64] + MACOSX_SDK_VERSION: # [osx] - 13.3 # [osx] diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 2ce1bb2e..6b52893b 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,6 +1,6 @@ # if you wish to build release candidate number X, append the version string with ".rcX" {% set version = "2.6.0" %} -{% set build = 4 %} +{% set build = 5 %} # Use a higher build number for the CUDA variant, to ensure that it's # preferred by conda's solver, and it's preferentially @@ -63,6 +63,9 @@ source: - patches/0016-Fix-CUPTI-lookup-to-include-target-directory.patch - patches/0017-Hide-torch_python-symbols-142214.patch - patches/0018-Always-use-system-nvtx.patch + # backport https://github.com/pytorch/pytorch/pull/153091 + - patches/0019-Fix-tensorpipe-compilation-with-clang-17-153091.patch + - patches/0020-Use-Intel-LLVM-openmp.patch - patches_submodules/fbgemm/0001-remove-DESTINATION-lib-from-CMake-install-directives.patch # [win] - patches_submodules/tensorpipe/0001-switch-away-from-find_package-CUDA.patch # backport https://github.com/google/XNNPACK/commit/5f23827e66cca435fa400b6e221892ac95af0079 @@ -71,8 +74,8 @@ source: build: number: {{ build }} - # cuda 11.8 was dropped due to maintenance effort, see discussion in #177 - skip: true # [cuda_compiler_version == "11.8"] + # debug + skip: true # [cuda_compiler_version != "None"] # This logic allows two rc variants to be defined in the conda_build_config, but only one to actually be built. # We want to be able to define two variants in the cbc so we can assign different labels to each in the upload channel # (by zipping is_rc with channel_targets). This prevents rc builds being used unless specifically requested. @@ -109,8 +112,7 @@ requirements: - {{ compiler('c') }} - {{ compiler('cxx') }} - {{ compiler('cuda') }} # [cuda_compiler_version != "None"] - - llvm-openmp # [unix] - - intel-openmp {{ mkl }} # [win] + - llvm-openmp - libuv # [win] - cmake <4 - ninja @@ -162,8 +164,7 @@ requirements: - libblas # [blas_impl != "mkl"] - libcblas # [blas_impl != "mkl"] - liblapack # [blas_impl != "mkl"] - - llvm-openmp # [unix] - - intel-openmp {{ mkl }} # [win] + - llvm-openmp - libabseil - libprotobuf - sleef @@ -176,7 +177,6 @@ requirements: run: # GPU requirements without run_exports - {{ pin_compatible('cudnn') }} # [cuda_compiler_version != "None"] - - intel-openmp {{ mkl }} # [win] - libblas * *{{ blas_impl }} # [blas_impl == "mkl"] run_constrained: # These constraints ensure conflict between pytorch and @@ -264,8 +264,7 @@ outputs: - {{ compiler('c') }} - {{ compiler('cxx') }} - {{ compiler('cuda') }} # [cuda_compiler_version != "None"] - - llvm-openmp # [unix] - - intel-openmp {{ mkl }} # [win] + - llvm-openmp - cmake <4 - ninja # Keep libprotobuf here so that a compatibile version @@ -312,8 +311,7 @@ outputs: - libcblas * *_mkl # [blas_impl == "mkl"] - libcblas # [blas_impl != "mkl"] - liblapack # [blas_impl != "mkl"] - - llvm-openmp # [unix] - - intel-openmp {{ mkl }} # [win] + - llvm-openmp - libabseil - libprotobuf - pybind11 @@ -327,8 +325,7 @@ outputs: - {{ pin_subpackage('libtorch', exact=True) }} # [megabuild] # for non-megabuild, allow libtorch from any python version - libtorch {{ version }}.* *_{{ build }} # [not megabuild] - - llvm-openmp # [unix] - - intel-openmp {{ mkl }} # [win] + - llvm-openmp - libblas * *{{ blas_impl }} # [blas_impl == "mkl"] - nomkl # [blas_impl != "mkl"] # GPU requirements without run_exports @@ -447,6 +444,8 @@ outputs: # minor tolerance violations {% set skips = skips ~ " or test_1_sized_with_0_strided_cpu_float32" %} # [osx] {% set skips = skips ~ " or test_batchnorm_nhwc_cpu" %} # [unix] + # failure due to unraised error + {% set skips = skips ~ " or test_norm_matrix_degenerate_shapes_cpu" %} # timeouts and failures on aarch, see https://github.com/conda-forge/pytorch-cpu-feedstock/pull/298#issuecomment-2555888508 {% set skips = skips ~ " or test_pynode_destruction_deadlock" %} # [aarch64] {% set skips = skips ~ " or (TestLinalgCPU and test_cholesky_cpu_float32)" %} # [aarch64] diff --git a/recipe/patches/0001-Force-usage-of-python-3-and-error-without-numpy.patch b/recipe/patches/0001-Force-usage-of-python-3-and-error-without-numpy.patch index 5f175049..6265a2be 100644 --- a/recipe/patches/0001-Force-usage-of-python-3-and-error-without-numpy.patch +++ b/recipe/patches/0001-Force-usage-of-python-3-and-error-without-numpy.patch @@ -1,7 +1,7 @@ From b1493b8712c1fc4ad02b2640c191f3c7f1fc6c9d Mon Sep 17 00:00:00 2001 From: Mark Harfouche Date: Sun, 1 Sep 2024 17:35:40 -0400 -Subject: [PATCH 01/15] Force usage of python 3 and error without numpy +Subject: [PATCH 01/20] Force usage of python 3 and error without numpy --- cmake/Dependencies.cmake | 6 +++--- diff --git a/recipe/patches/0002-Help-find-numpy.patch b/recipe/patches/0002-Help-find-numpy.patch index 653c4b5d..61ebf8ff 100644 --- a/recipe/patches/0002-Help-find-numpy.patch +++ b/recipe/patches/0002-Help-find-numpy.patch @@ -1,7 +1,7 @@ From e88ebf63cc47b4471e6be3142cda1c2483b4dc9b Mon Sep 17 00:00:00 2001 From: Mark Harfouche Date: Tue, 1 Oct 2024 00:28:40 -0400 -Subject: [PATCH 02/15] Help find numpy +Subject: [PATCH 02/20] Help find numpy --- tools/setup_helpers/cmake.py | 6 ++++++ diff --git a/recipe/patches/0003-Update-sympy-version.patch b/recipe/patches/0003-Update-sympy-version.patch index 52df04c9..7920888f 100644 --- a/recipe/patches/0003-Update-sympy-version.patch +++ b/recipe/patches/0003-Update-sympy-version.patch @@ -1,7 +1,7 @@ From 3fb6b3704a6359521e186bfd4c6644a56aa08d90 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Thu, 17 Oct 2024 15:04:05 -0700 -Subject: [PATCH 03/15] Update sympy version +Subject: [PATCH 03/20] Update sympy version --- setup.py | 2 +- diff --git a/recipe/patches/0004-Fix-duplicate-linker-script.patch b/recipe/patches/0004-Fix-duplicate-linker-script.patch index 8458e4a8..84bd673d 100644 --- a/recipe/patches/0004-Fix-duplicate-linker-script.patch +++ b/recipe/patches/0004-Fix-duplicate-linker-script.patch @@ -1,7 +1,7 @@ From be785be20dab23d5cee88e13adf40150ce9ead3c Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sun, 3 Nov 2024 01:12:36 -0700 -Subject: [PATCH 04/15] Fix duplicate linker script +Subject: [PATCH 04/20] Fix duplicate linker script --- setup.py | 4 +++- diff --git a/recipe/patches/0005-Allow-overriding-CUDA-related-paths.patch b/recipe/patches/0005-Allow-overriding-CUDA-related-paths.patch index 23d83bab..a91d8bab 100644 --- a/recipe/patches/0005-Allow-overriding-CUDA-related-paths.patch +++ b/recipe/patches/0005-Allow-overriding-CUDA-related-paths.patch @@ -1,7 +1,7 @@ From e0cb086099287bd51fdbe8e6f847ec2d0646f085 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Wed, 27 Nov 2024 13:47:23 +0100 -Subject: [PATCH 05/15] Allow overriding CUDA-related paths +Subject: [PATCH 05/20] Allow overriding CUDA-related paths --- cmake/Modules/FindCUDAToolkit.cmake | 2 +- diff --git a/recipe/patches/0006-Use-BLAS_USE_CBLAS_DOT-for-OpenBLAS-builds.patch b/recipe/patches/0006-Use-BLAS_USE_CBLAS_DOT-for-OpenBLAS-builds.patch index 2ababacc..28994c96 100644 --- a/recipe/patches/0006-Use-BLAS_USE_CBLAS_DOT-for-OpenBLAS-builds.patch +++ b/recipe/patches/0006-Use-BLAS_USE_CBLAS_DOT-for-OpenBLAS-builds.patch @@ -1,7 +1,7 @@ From 7e7547dab6c26e7fd324fde6cb6aad5d57bebcf9 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Wed, 18 Dec 2024 03:59:00 +0000 -Subject: [PATCH 06/15] Use BLAS_USE_CBLAS_DOT for OpenBLAS builds +Subject: [PATCH 06/20] Use BLAS_USE_CBLAS_DOT for OpenBLAS builds There are two calling conventions for *dotu functions diff --git a/recipe/patches/0007-fix-issue-142484.patch b/recipe/patches/0007-fix-issue-142484.patch index 30674b10..793abcc5 100644 --- a/recipe/patches/0007-fix-issue-142484.patch +++ b/recipe/patches/0007-fix-issue-142484.patch @@ -1,7 +1,7 @@ From 63f0d3218792d874650a7926f2b956ecbe74eac0 Mon Sep 17 00:00:00 2001 From: "Zheng, Zhaoqiong" Date: Fri, 27 Dec 2024 13:49:36 +0800 -Subject: [PATCH 07/15] fix issue 142484 +Subject: [PATCH 07/20] fix issue 142484 From https://github.com/pytorch/pytorch/pull/143894 --- diff --git a/recipe/patches/0008-Fix-FindOpenBLAS.patch b/recipe/patches/0008-Fix-FindOpenBLAS.patch index 6a430787..5d642114 100644 --- a/recipe/patches/0008-Fix-FindOpenBLAS.patch +++ b/recipe/patches/0008-Fix-FindOpenBLAS.patch @@ -1,7 +1,7 @@ From 6e00778c46305f6a36670fa99a326c2426203a42 Mon Sep 17 00:00:00 2001 From: Bas Zalmstra Date: Thu, 16 May 2024 10:46:49 +0200 -Subject: [PATCH 08/15] Fix FindOpenBLAS +Subject: [PATCH 08/20] Fix FindOpenBLAS --- cmake/Modules/FindOpenBLAS.cmake | 15 +++++++++------ diff --git a/recipe/patches/0009-simplify-torch.utils.cpp_extension.include_paths-use.patch b/recipe/patches/0009-simplify-torch.utils.cpp_extension.include_paths-use.patch index 8b898e57..86396a51 100644 --- a/recipe/patches/0009-simplify-torch.utils.cpp_extension.include_paths-use.patch +++ b/recipe/patches/0009-simplify-torch.utils.cpp_extension.include_paths-use.patch @@ -1,14 +1,14 @@ From 12a4473ae7a47da2a30121f329a2c3c8f3f456c5 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 23 Jan 2025 22:46:58 +1100 -Subject: [PATCH 09/15] simplify torch.utils.cpp_extension.include_paths; use +Subject: [PATCH 09/20] simplify torch.utils.cpp_extension.include_paths; use it in cpp_builder The /TH headers have not existed since pytorch 1.11 --- - torch/_inductor/cpp_builder.py | 13 +++---------- + torch/_inductor/cpp_builder.py | 11 ++--------- torch/utils/cpp_extension.py | 4 ---- - 2 files changed, 3 insertions(+), 14 deletions(-) + 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/torch/_inductor/cpp_builder.py b/torch/_inductor/cpp_builder.py index 92cf88df8eb..9328e3f96e2 100644 @@ -19,7 +19,8 @@ index 92cf88df8eb..9328e3f96e2 100644 include_pytorch: bool, aot_mode: bool ) -> Tuple[List[str], List[str], List[str]]: - from torch.utils.cpp_extension import _TORCH_PATH, TORCH_LIB_PATH -- ++ from torch.utils.cpp_extension import include_paths, TORCH_LIB_PATH + - include_dirs = [ - os.path.join(_TORCH_PATH, "include"), - os.path.join(_TORCH_PATH, "include", "torch", "csrc", "api", "include"), @@ -28,8 +29,6 @@ index 92cf88df8eb..9328e3f96e2 100644 - os.path.join(_TORCH_PATH, "include", "TH"), - os.path.join(_TORCH_PATH, "include", "THC"), - ] -+ from torch.utils.cpp_extension import include_paths, TORCH_LIB_PATH -+ + include_dirs = include_paths() libraries_dirs = [TORCH_LIB_PATH] libraries = [] diff --git a/recipe/patches/0010-point-include-paths-to-PREFIX-include.patch b/recipe/patches/0010-point-include-paths-to-PREFIX-include.patch index 4a03ba8d..6e7393e4 100644 --- a/recipe/patches/0010-point-include-paths-to-PREFIX-include.patch +++ b/recipe/patches/0010-point-include-paths-to-PREFIX-include.patch @@ -1,7 +1,7 @@ From 2e9805edf7c26bf7890a8704460047592fff3a79 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 23 Jan 2025 22:58:14 +1100 -Subject: [PATCH 10/15] point include paths to $PREFIX/include +Subject: [PATCH 10/20] point include paths to $PREFIX/include --- torch/utils/cpp_extension.py | 18 ++++++++++++++++++ diff --git a/recipe/patches/0011-Add-conda-prefix-to-inductor-include-paths.patch b/recipe/patches/0011-Add-conda-prefix-to-inductor-include-paths.patch index 00619aca..6e83d440 100644 --- a/recipe/patches/0011-Add-conda-prefix-to-inductor-include-paths.patch +++ b/recipe/patches/0011-Add-conda-prefix-to-inductor-include-paths.patch @@ -1,7 +1,7 @@ From e8eef4b33903af5886cbde7b4342ebc2705933ef Mon Sep 17 00:00:00 2001 From: Daniel Petry Date: Tue, 21 Jan 2025 17:45:23 -0600 -Subject: [PATCH 11/15] Add conda prefix to inductor include paths +Subject: [PATCH 11/20] Add conda prefix to inductor include paths Currently inductor doesn't look in conda's includes and libs. This results in errors when it tries to compile, if system versions are being used of diff --git a/recipe/patches/0012-make-ATEN_INCLUDE_DIR-relative-to-TORCH_INSTALL_PREF.patch b/recipe/patches/0012-make-ATEN_INCLUDE_DIR-relative-to-TORCH_INSTALL_PREF.patch index 125face3..9bf2070e 100644 --- a/recipe/patches/0012-make-ATEN_INCLUDE_DIR-relative-to-TORCH_INSTALL_PREF.patch +++ b/recipe/patches/0012-make-ATEN_INCLUDE_DIR-relative-to-TORCH_INSTALL_PREF.patch @@ -1,7 +1,7 @@ From 7c955a22b748da66317f69f49f2e99d826083a0d Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 28 Jan 2025 14:15:34 +1100 -Subject: [PATCH 12/15] make ATEN_INCLUDE_DIR relative to TORCH_INSTALL_PREFIX +Subject: [PATCH 12/20] make ATEN_INCLUDE_DIR relative to TORCH_INSTALL_PREFIX we cannot set CMAKE_INSTALL_PREFIX without the pytorch build complaining, but we can use TORCH_INSTALL_PREFIX, which is set correctly relative to our CMake files already: diff --git a/recipe/patches/0013-remove-DESTINATION-lib-from-CMake-install-TARGETS-di.patch b/recipe/patches/0013-remove-DESTINATION-lib-from-CMake-install-TARGETS-di.patch index 36b52de7..0898e671 100644 --- a/recipe/patches/0013-remove-DESTINATION-lib-from-CMake-install-TARGETS-di.patch +++ b/recipe/patches/0013-remove-DESTINATION-lib-from-CMake-install-TARGETS-di.patch @@ -1,7 +1,7 @@ From c4cc82934faf2e32ab283a2ec2d9266049db9872 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 28 Jan 2025 10:58:29 +1100 -Subject: [PATCH 13/15] remove `DESTINATION lib` from CMake `install(TARGETS` +Subject: [PATCH 13/20] remove `DESTINATION lib` from CMake `install(TARGETS` directives Suggested-By: Silvio Traversaro diff --git a/recipe/patches/0014-avoid-deprecated-find_package-CUDA-in-caffe2-CMake-m.patch b/recipe/patches/0014-avoid-deprecated-find_package-CUDA-in-caffe2-CMake-m.patch index 9879f126..8ea040f7 100644 --- a/recipe/patches/0014-avoid-deprecated-find_package-CUDA-in-caffe2-CMake-m.patch +++ b/recipe/patches/0014-avoid-deprecated-find_package-CUDA-in-caffe2-CMake-m.patch @@ -1,7 +1,7 @@ From e644304ce9c67c3f4185141dc603f8196e32a7cd Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 30 Jan 2025 08:33:44 +1100 -Subject: [PATCH 14/15] avoid deprecated `find_package(CUDA)` in caffe2 CMake +Subject: [PATCH 14/20] avoid deprecated `find_package(CUDA)` in caffe2 CMake metadata vendor the not-available-anymore function torch_cuda_get_nvcc_gencode_flag from CMake diff --git a/recipe/patches/0015-export-AOTI_TORCH_EXPORT-on-Windows.-140030.patch b/recipe/patches/0015-export-AOTI_TORCH_EXPORT-on-Windows.-140030.patch index d5f1cbfa..7ab4e05f 100644 --- a/recipe/patches/0015-export-AOTI_TORCH_EXPORT-on-Windows.-140030.patch +++ b/recipe/patches/0015-export-AOTI_TORCH_EXPORT-on-Windows.-140030.patch @@ -1,7 +1,7 @@ From afc5756195b26f0fcbe0ee96a267149db0bbe71c Mon Sep 17 00:00:00 2001 From: Xu Han Date: Wed, 15 Jan 2025 23:43:41 +0000 -Subject: [PATCH 15/15] export AOTI_TORCH_EXPORT on Windows. (#140030) +Subject: [PATCH 15/20] export AOTI_TORCH_EXPORT on Windows. (#140030) Fixes #139954 diff --git a/recipe/patches/0016-Fix-CUPTI-lookup-to-include-target-directory.patch b/recipe/patches/0016-Fix-CUPTI-lookup-to-include-target-directory.patch index 30983fc2..6eb10f65 100644 --- a/recipe/patches/0016-Fix-CUPTI-lookup-to-include-target-directory.patch +++ b/recipe/patches/0016-Fix-CUPTI-lookup-to-include-target-directory.patch @@ -1,14 +1,14 @@ -From 559073f84ee8ca6041534850815a77bc39260aa6 Mon Sep 17 00:00:00 2001 +From d9bf21be98566c8c5ec1a1ead50049dcdc6f16f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Thu, 6 Mar 2025 13:57:25 +0100 -Subject: [PATCH 16/16] Fix CUPTI lookup to include target directory +Subject: [PATCH 16/20] Fix CUPTI lookup to include target directory --- cmake/Dependencies.cmake | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake -index b94993c34..aa4d8baf6 100644 +index b94993c34ba..aa4d8baf6de 100644 --- a/cmake/Dependencies.cmake +++ b/cmake/Dependencies.cmake @@ -1602,6 +1602,7 @@ if(USE_KINETO) diff --git a/recipe/patches/0017-Hide-torch_python-symbols-142214.patch b/recipe/patches/0017-Hide-torch_python-symbols-142214.patch index d9c26b7e..5166bc8d 100644 --- a/recipe/patches/0017-Hide-torch_python-symbols-142214.patch +++ b/recipe/patches/0017-Hide-torch_python-symbols-142214.patch @@ -1,13 +1,12 @@ -From 17865a4af5ca2e97a168b61f881a11cb16780230 Mon Sep 17 00:00:00 2001 +From accc42d402a59b520ca890c4e6ebb1b10a9c6e7c Mon Sep 17 00:00:00 2001 From: cyy Date: Mon, 16 Dec 2024 00:59:26 +0000 -Subject: [PATCH] Hide torch_python symbols (#142214) +Subject: [PATCH 17/20] Hide torch_python symbols (#142214) Change symbols in torch_python to invisible by default on platforms other than Apple. Pull Request resolved: https://github.com/pytorch/pytorch/pull/142214 Approved by: https://github.com/ezyang --- - torch/CMakeLists.txt | 2 +- torch/csrc/Layout.h | 4 ++-- torch/csrc/MemoryFormat.h | 3 ++- torch/csrc/Module.cpp | 3 ++- @@ -19,7 +18,7 @@ Approved by: https://github.com/ezyang torch/csrc/lazy/ts_backend/ts_backend_impl.h | 2 +- torch/csrc/tensor/python_tensor.h | 7 ++++--- torch/csrc/utils/device_lazy_init.h | 3 ++- - 12 files changed, 27 insertions(+), 19 deletions(-) + 11 files changed, 26 insertions(+), 18 deletions(-) diff --git a/torch/csrc/Layout.h b/torch/csrc/Layout.h index 3b6844c9bad..a6864094df9 100644 @@ -250,6 +249,3 @@ index bc5f4912e2a..16fbe41bb83 100644 void set_requires_device_init(at::DeviceType device_type, bool value); inline void maybe_initialize_device(at::Device& device) { --- -2.20.1.windows.1 - diff --git a/recipe/patches/0018-Always-use-system-nvtx.patch b/recipe/patches/0018-Always-use-system-nvtx.patch index e693a3fd..7b1f2e46 100644 --- a/recipe/patches/0018-Always-use-system-nvtx.patch +++ b/recipe/patches/0018-Always-use-system-nvtx.patch @@ -1,7 +1,7 @@ -From 4760a58f156522e8f02ec83befcc53bd6323ec2f Mon Sep 17 00:00:00 2001 +From 52a299f21b22d6668e9d08b56f00581494544101 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 22 Mar 2025 22:50:49 -0700 -Subject: [PATCH] Always use system nvtx +Subject: [PATCH 18/20] Always use system nvtx --- cmake/public/cuda.cmake | 2 +- @@ -20,6 +20,3 @@ index 792e2ac78d3..cb1ece22cf3 100644 find_path(nvtx3_dir NAMES nvtx3) else() find_path(nvtx3_dir NAMES nvtx3 PATHS "${PROJECT_SOURCE_DIR}/third_party/NVTX/c/include" NO_DEFAULT_PATH) --- -2.20.1.windows.1 - diff --git a/recipe/patches/0019-Fix-tensorpipe-compilation-with-clang-17-153091.patch b/recipe/patches/0019-Fix-tensorpipe-compilation-with-clang-17-153091.patch new file mode 100644 index 00000000..52a5da98 --- /dev/null +++ b/recipe/patches/0019-Fix-tensorpipe-compilation-with-clang-17-153091.patch @@ -0,0 +1,50 @@ +From 384a49f151e20649e9690b8fdc7127d49a021dc9 Mon Sep 17 00:00:00 2001 +From: pytorchbot +Date: Wed, 7 May 2025 17:07:42 -0400 +Subject: [PATCH 19/20] Fix tensorpipe compilation with clang-17 (#153091) + +Fix tensorpipe compilation with clang-17 (#151344) + +By suppressing `missing-template-arg-list-after-template-kw` warning, which seems to be required to compile Google's libnop, which is in a semi-abandoned state now +``` +In file included from /Users/malfet/git/pytorch/pytorch/third_party/tensorpipe/third_party/libnop/include/nop/base/variant.h:21: +/Users/malfet/git/pytorch/pytorch/third_party/tensorpipe/third_party/libnop/include/nop/types/variant.h:241:30: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw] + 241 | index_ = value_.template Construct(std::forward(args)...); + | ^ +/Users/malfet/git/pytorch/pytorch/third_party/tensorpipe/third_party/libnop/include/nop/types/variant.h:258:26: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw] + 258 | if (!value_.template Assign(TypeTag{}, index_, std::forward(value))) { + | ^ +/Users/malfet/git/pytorch/pytorch/third_party/tensorpipe/third_party/libnop/include/nop/types/variant.h:265:26: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw] + 265 | if (!value_.template Assign(index_, std::forward(value))) { + | ^ +3 errors generated. +``` + +Fixes https://github.com/pytorch/pytorch/issues/151316 + +Pull Request resolved: https://github.com/pytorch/pytorch/pull/151344 +Approved by: https://github.com/ZainRizvi, https://github.com/seemethere + +(cherry picked from commit 331423e5c24170b218e743b3392acbad4480340d) + +Co-authored-by: Nikita Shulga <2453524+malfet@users.noreply.github.com> + +Co-Authored-By: Alfredo Luque +--- + cmake/Dependencies.cmake | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake +index aa4d8baf6de..8702a557ebd 100644 +--- a/cmake/Dependencies.cmake ++++ b/cmake/Dependencies.cmake +@@ -1152,6 +1152,9 @@ if(USE_DISTRIBUTED AND USE_TENSORPIPE) + # Tensorpipe uses cuda_add_library + torch_update_find_cuda_flags() + add_subdirectory(${PROJECT_SOURCE_DIR}/third_party/tensorpipe) ++ # Suppress warning to unblock libnop comiplation by clang-17 ++ # See https://github.com/pytorch/pytorch/issues/151316 ++ target_compile_options_if_supported(tensorpipe -Wno-missing-template-arg-list-after-template-kw) + + list(APPEND Caffe2_DEPENDENCY_LIBS tensorpipe) + list(APPEND Caffe2_DEPENDENCY_LIBS nlohmann) diff --git a/recipe/patches/0020-Use-Intel-LLVM-openmp.patch b/recipe/patches/0020-Use-Intel-LLVM-openmp.patch new file mode 100644 index 00000000..b130f8ef --- /dev/null +++ b/recipe/patches/0020-Use-Intel-LLVM-openmp.patch @@ -0,0 +1,28 @@ +From 009fc93880d1192fcc5a7d2f9e67b20866df6bf2 Mon Sep 17 00:00:00 2001 +From: Isuru Fernando +Date: Thu, 31 Jul 2025 12:34:30 -0500 +Subject: [PATCH 20/20] Use Intel/LLVM openmp + +This make MSVC use __kmp_* symbols available in both libiomp.dll +and libiomp5md.dll instead of vcomp* symbols which are only in +vcomp140.dll and libiomp5md.dll, but are missing in libiomp.dll +--- + cmake/Modules/FindOpenMP.cmake | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/cmake/Modules/FindOpenMP.cmake b/cmake/Modules/FindOpenMP.cmake +index 9366f4cb4c5..94785cfaf69 100644 +--- a/cmake/Modules/FindOpenMP.cmake ++++ b/cmake/Modules/FindOpenMP.cmake +@@ -109,9 +109,9 @@ function(_OPENMP_FLAG_CANDIDATES LANG) + set(OMP_FLAG_MIPSpro "-mp") + if(__header_dir MATCHES ".*Microsoft Visual Studio.*") + # MSVC header. No need to pass it as additional include. +- set(OMP_FLAG_MSVC "-openmp:experimental" "-openmp") ++ set(OMP_FLAG_MSVC "-openmp:llvm" "-openmp:experimental" "-openmp") + else() +- set(OMP_FLAG_MSVC "-openmp:experimental -I${__header_dir}" "-openmp -I${__header_dir}") ++ set(OMP_FLAG_MSVC "-openmp:llvm" "-openmp:experimental -I${__header_dir}" "-openmp -I${__header_dir}") + endif() + set(OMP_FLAG_PathScale "-openmp") + set(OMP_FLAG_NAG "-openmp")
VariantStatus
linux_64_blas_implgenericc_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalselinux_64_blas_implgenericchannel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse - variant + variant
linux_64_blas_implgenericc_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalselinux_64_blas_implgenericchannel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse - variant + variant
linux_64_blas_implmklc_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalselinux_64_blas_implmklchannel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse - variant + variant
linux_64_blas_implmklc_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalselinux_64_blas_implmklchannel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse - variant + variant
linux_aarch64_c_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalselinux_aarch64_channel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse - variant + variant
linux_aarch64_c_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalselinux_aarch64_channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse - variant + variant
osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpythonosx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython - variant + variant
osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpythonosx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython - variant + variant
osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpythonosx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython - variant + variant
osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpythonosx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313 - variant + variant
osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython - variant + variant
osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpythonosx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython - variant + variant
osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpythonosx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython - variant + variant
osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpythonosx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313 - variant + variant
osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpythonosx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython - variant + variant
osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython - variant + variant
osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpythonosx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython - variant + variant
osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpythonosx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313 - variant + variant
osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpythonwin_64_channel_targetsconda-forge_maincuda_compiler_version12.8is_rcFalse - variant + variant
osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpythonwin_64_channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse - variant - -
osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313 - - variant - -
win_64_channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNoneis_rcFalse - - variant - -
win_64_channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6is_rcFalse - - variant + variant