diff --git a/.ci_support/linux_64_blas_implgenericchannel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml b/.ci_support/linux_64_blas_implgenericchannel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml index d40b2866..7a936148 100644 --- a/.ci_support/linux_64_blas_implgenericchannel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml +++ b/.ci_support/linux_64_blas_implgenericchannel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml @@ -8,8 +8,6 @@ c_stdlib: - sysroot c_stdlib_version: - '2.17' -cdt_name: -- conda channel_sources: - conda-forge channel_targets: @@ -41,7 +39,7 @@ libmagma_sparse: libprotobuf: - 6.31.1 libtorch: -- '2.6' +- '2.7' magma: - '2.9' megabuild: @@ -53,7 +51,7 @@ nccl: numpy: - '2' orc: -- 2.2.0 +- 2.2.1 pin_run_as_build: python: min_pin: x.x @@ -66,7 +64,7 @@ python: - 3.12.* *_cpython - 3.13.* *_cp313 pytorch: -- '2.6' +- '2.7' target_platform: - linux-64 zip_keys: diff --git a/.ci_support/linux_64_blas_implgenericchannel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml b/.ci_support/linux_64_blas_implgenericchannel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml index 7b9807d3..7ee909eb 100644 --- a/.ci_support/linux_64_blas_implgenericchannel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml +++ b/.ci_support/linux_64_blas_implgenericchannel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml @@ -8,8 +8,6 @@ c_stdlib: - sysroot c_stdlib_version: - '2.17' -cdt_name: -- conda channel_sources: - conda-forge channel_targets: @@ -41,7 +39,7 @@ libmagma_sparse: libprotobuf: - 6.31.1 libtorch: -- '2.6' +- '2.7' magma: - '2.9' megabuild: @@ -53,7 +51,7 @@ nccl: numpy: - '2' orc: -- 2.2.0 +- 2.2.1 pin_run_as_build: python: min_pin: x.x @@ -66,7 +64,7 @@ python: - 3.12.* *_cpython - 3.13.* *_cp313 pytorch: -- '2.6' +- '2.7' target_platform: - linux-64 zip_keys: diff --git a/.ci_support/linux_64_blas_implmklchannel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml b/.ci_support/linux_64_blas_implmklchannel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml index 5a2789cb..207e4a3c 100644 --- a/.ci_support/linux_64_blas_implmklchannel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml +++ b/.ci_support/linux_64_blas_implmklchannel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml @@ -8,8 +8,6 @@ c_stdlib: - sysroot c_stdlib_version: - '2.17' -cdt_name: -- conda channel_sources: - conda-forge channel_targets: @@ -41,7 +39,7 @@ libmagma_sparse: libprotobuf: - 6.31.1 libtorch: -- '2.6' +- '2.7' magma: - '2.9' megabuild: @@ -53,7 +51,7 @@ nccl: numpy: - '2' orc: -- 2.2.0 +- 2.2.1 pin_run_as_build: python: min_pin: x.x @@ -66,7 +64,7 @@ python: - 3.12.* *_cpython - 3.13.* *_cp313 pytorch: -- '2.6' +- '2.7' target_platform: - linux-64 zip_keys: diff --git a/.ci_support/linux_64_blas_implmklchannel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml b/.ci_support/linux_64_blas_implmklchannel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml index bc4b8536..2e1f421f 100644 --- a/.ci_support/linux_64_blas_implmklchannel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml +++ b/.ci_support/linux_64_blas_implmklchannel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml @@ -8,8 +8,6 @@ c_stdlib: - sysroot c_stdlib_version: - '2.17' -cdt_name: -- conda channel_sources: - conda-forge channel_targets: @@ -41,7 +39,7 @@ libmagma_sparse: libprotobuf: - 6.31.1 libtorch: -- '2.6' +- '2.7' magma: - '2.9' megabuild: @@ -53,7 +51,7 @@ nccl: numpy: - '2' orc: -- 2.2.0 +- 2.2.1 pin_run_as_build: python: min_pin: x.x @@ -66,7 +64,7 @@ python: - 3.12.* *_cpython - 3.13.* *_cp313 pytorch: -- '2.6' +- '2.7' target_platform: - linux-64 zip_keys: diff --git a/.ci_support/linux_aarch64_channel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml b/.ci_support/linux_aarch64_channel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml index 4ced13c0..ae5a77aa 100644 --- a/.ci_support/linux_aarch64_channel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml +++ b/.ci_support/linux_aarch64_channel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml @@ -8,8 +8,6 @@ c_stdlib: - sysroot c_stdlib_version: - '2.17' -cdt_name: -- conda channel_sources: - conda-forge channel_targets: @@ -41,7 +39,7 @@ libmagma_sparse: libprotobuf: - 6.31.1 libtorch: -- '2.6' +- '2.7' magma: - '2.9' megabuild: @@ -53,7 +51,7 @@ nccl: numpy: - '2' orc: -- 2.2.0 +- 2.2.1 pin_run_as_build: python: min_pin: x.x @@ -66,7 +64,7 @@ python: - 3.12.* *_cpython - 3.13.* *_cp313 pytorch: -- '2.6' +- '2.7' target_platform: - linux-aarch64 zip_keys: diff --git a/.ci_support/linux_aarch64_channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml b/.ci_support/linux_aarch64_channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml index ab055fd9..bab7acc5 100644 --- a/.ci_support/linux_aarch64_channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml +++ b/.ci_support/linux_aarch64_channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml @@ -8,8 +8,6 @@ c_stdlib: - sysroot c_stdlib_version: - '2.17' -cdt_name: -- conda channel_sources: - conda-forge channel_targets: @@ -41,7 +39,7 @@ libmagma_sparse: libprotobuf: - 6.31.1 libtorch: -- '2.6' +- '2.7' magma: - '2.9' megabuild: @@ -53,7 +51,7 @@ nccl: numpy: - '2' orc: -- 2.2.0 +- 2.2.1 pin_run_as_build: python: min_pin: x.x @@ -66,7 +64,7 @@ python: - 3.12.* *_cpython - 3.13.* *_cp313 pytorch: -- '2.6' +- '2.7' target_platform: - linux-aarch64 zip_keys: diff --git a/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython.yaml b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython.yaml index 857838f8..8be669d5 100644 --- a/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython.yaml +++ b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython.yaml @@ -39,7 +39,7 @@ libmagma_sparse: libprotobuf: - 6.31.1 libtorch: -- '2.6' +- '2.7' llvm_openmp: - '19' macos_machine: @@ -51,7 +51,7 @@ mkl: numpy: - '2' orc: -- 2.2.0 +- 2.2.1 pin_run_as_build: python: min_pin: x.x @@ -61,7 +61,7 @@ pybind11_abi: python: - 3.10.* *_cpython pytorch: -- '2.6' +- '2.7' target_platform: - osx-64 zip_keys: diff --git a/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython.yaml b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython.yaml index de901805..20e30c1e 100644 --- a/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython.yaml +++ b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython.yaml @@ -39,7 +39,7 @@ libmagma_sparse: libprotobuf: - 6.31.1 libtorch: -- '2.6' +- '2.7' llvm_openmp: - '19' macos_machine: @@ -51,7 +51,7 @@ mkl: numpy: - '2' orc: -- 2.2.0 +- 2.2.1 pin_run_as_build: python: min_pin: x.x @@ -61,7 +61,7 @@ pybind11_abi: python: - 3.11.* *_cpython pytorch: -- '2.6' +- '2.7' target_platform: - osx-64 zip_keys: diff --git a/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython.yaml b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython.yaml index 5bba5f95..645d7d5a 100644 --- a/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython.yaml +++ b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython.yaml @@ -39,7 +39,7 @@ libmagma_sparse: libprotobuf: - 6.31.1 libtorch: -- '2.6' +- '2.7' llvm_openmp: - '19' macos_machine: @@ -51,7 +51,7 @@ mkl: numpy: - '2' orc: -- 2.2.0 +- 2.2.1 pin_run_as_build: python: min_pin: x.x @@ -61,7 +61,7 @@ pybind11_abi: python: - 3.12.* *_cpython pytorch: -- '2.6' +- '2.7' target_platform: - osx-64 zip_keys: diff --git a/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313.yaml b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313.yaml index 859260c7..2370ea2e 100644 --- a/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313.yaml +++ b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313.yaml @@ -39,7 +39,7 @@ libmagma_sparse: libprotobuf: - 6.31.1 libtorch: -- '2.6' +- '2.7' llvm_openmp: - '19' macos_machine: @@ -51,7 +51,7 @@ mkl: numpy: - '2' orc: -- 2.2.0 +- 2.2.1 pin_run_as_build: python: min_pin: x.x @@ -61,7 +61,7 @@ pybind11_abi: python: - 3.13.* *_cp313 pytorch: -- '2.6' +- '2.7' target_platform: - osx-64 zip_keys: diff --git a/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython.yaml b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython.yaml index 3e623646..f33a4006 100644 --- a/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython.yaml +++ b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython.yaml @@ -39,7 +39,7 @@ libmagma_sparse: libprotobuf: - 6.31.1 libtorch: -- '2.6' +- '2.7' llvm_openmp: - '19' macos_machine: @@ -51,7 +51,7 @@ mkl: numpy: - '2' orc: -- 2.2.0 +- 2.2.1 pin_run_as_build: python: min_pin: x.x @@ -61,7 +61,7 @@ pybind11_abi: python: - 3.10.* *_cpython pytorch: -- '2.6' +- '2.7' target_platform: - osx-64 zip_keys: diff --git a/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython.yaml b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython.yaml index 350780da..86392226 100644 --- a/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython.yaml +++ b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython.yaml @@ -39,7 +39,7 @@ libmagma_sparse: libprotobuf: - 6.31.1 libtorch: -- '2.6' +- '2.7' llvm_openmp: - '19' macos_machine: @@ -51,7 +51,7 @@ mkl: numpy: - '2' orc: -- 2.2.0 +- 2.2.1 pin_run_as_build: python: min_pin: x.x @@ -61,7 +61,7 @@ pybind11_abi: python: - 3.11.* *_cpython pytorch: -- '2.6' +- '2.7' target_platform: - osx-64 zip_keys: diff --git a/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython.yaml b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython.yaml index 8815158f..a13e1498 100644 --- a/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython.yaml +++ b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython.yaml @@ -39,7 +39,7 @@ libmagma_sparse: libprotobuf: - 6.31.1 libtorch: -- '2.6' +- '2.7' llvm_openmp: - '19' macos_machine: @@ -51,7 +51,7 @@ mkl: numpy: - '2' orc: -- 2.2.0 +- 2.2.1 pin_run_as_build: python: min_pin: x.x @@ -61,7 +61,7 @@ pybind11_abi: python: - 3.12.* *_cpython pytorch: -- '2.6' +- '2.7' target_platform: - osx-64 zip_keys: diff --git a/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313.yaml b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313.yaml index df79ec36..18f53c78 100644 --- a/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313.yaml +++ b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313.yaml @@ -39,7 +39,7 @@ libmagma_sparse: libprotobuf: - 6.31.1 libtorch: -- '2.6' +- '2.7' llvm_openmp: - '19' macos_machine: @@ -51,7 +51,7 @@ mkl: numpy: - '2' orc: -- 2.2.0 +- 2.2.1 pin_run_as_build: python: min_pin: x.x @@ -61,7 +61,7 @@ pybind11_abi: python: - 3.13.* *_cp313 pytorch: -- '2.6' +- '2.7' target_platform: - osx-64 zip_keys: diff --git a/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython.yaml b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython.yaml index 7e73b7e4..6dce277f 100644 --- a/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython.yaml +++ b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.10.____cpython.yaml @@ -39,7 +39,7 @@ libmagma_sparse: libprotobuf: - 6.31.1 libtorch: -- '2.6' +- '2.7' llvm_openmp: - '19' macos_machine: @@ -51,7 +51,7 @@ mkl: numpy: - '2' orc: -- 2.2.0 +- 2.2.1 pin_run_as_build: python: min_pin: x.x @@ -61,7 +61,7 @@ pybind11_abi: python: - 3.10.* *_cpython pytorch: -- '2.6' +- '2.7' target_platform: - osx-arm64 zip_keys: diff --git a/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython.yaml b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython.yaml index 422a958a..95299b40 100644 --- a/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython.yaml +++ b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.11.____cpython.yaml @@ -39,7 +39,7 @@ libmagma_sparse: libprotobuf: - 6.31.1 libtorch: -- '2.6' +- '2.7' llvm_openmp: - '19' macos_machine: @@ -51,7 +51,7 @@ mkl: numpy: - '2' orc: -- 2.2.0 +- 2.2.1 pin_run_as_build: python: min_pin: x.x @@ -61,7 +61,7 @@ pybind11_abi: python: - 3.11.* *_cpython pytorch: -- '2.6' +- '2.7' target_platform: - osx-arm64 zip_keys: diff --git a/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython.yaml b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython.yaml index 379f9163..c8f097ee 100644 --- a/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython.yaml +++ b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.12.____cpython.yaml @@ -39,7 +39,7 @@ libmagma_sparse: libprotobuf: - 6.31.1 libtorch: -- '2.6' +- '2.7' llvm_openmp: - '19' macos_machine: @@ -51,7 +51,7 @@ mkl: numpy: - '2' orc: -- 2.2.0 +- 2.2.1 pin_run_as_build: python: min_pin: x.x @@ -61,7 +61,7 @@ pybind11_abi: python: - 3.12.* *_cpython pytorch: -- '2.6' +- '2.7' target_platform: - osx-arm64 zip_keys: diff --git a/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313.yaml b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313.yaml index 03d74c79..71468401 100644 --- a/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313.yaml +++ b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsepython3.13.____cp313.yaml @@ -39,7 +39,7 @@ libmagma_sparse: libprotobuf: - 6.31.1 libtorch: -- '2.6' +- '2.7' llvm_openmp: - '19' macos_machine: @@ -51,7 +51,7 @@ mkl: numpy: - '2' orc: -- 2.2.0 +- 2.2.1 pin_run_as_build: python: min_pin: x.x @@ -61,7 +61,7 @@ pybind11_abi: python: - 3.13.* *_cp313 pytorch: -- '2.6' +- '2.7' target_platform: - osx-arm64 zip_keys: diff --git a/.ci_support/win_64_channel_targetsconda-forge_maincuda_compiler_version12.8is_rcFalse.yaml b/.ci_support/win_64_channel_targetsconda-forge_maincuda_compiler_version12.8is_rcFalse.yaml index c9eb93c8..96ff58e6 100644 --- a/.ci_support/win_64_channel_targetsconda-forge_maincuda_compiler_version12.8is_rcFalse.yaml +++ b/.ci_support/win_64_channel_targetsconda-forge_maincuda_compiler_version12.8is_rcFalse.yaml @@ -25,7 +25,7 @@ libmagma_sparse: libprotobuf: - 6.31.1 libtorch: -- '2.6' +- '2.7' magma: - '2.9' megabuild: @@ -35,7 +35,7 @@ mkl: numpy: - '2' orc: -- 2.2.0 +- 2.2.1 pin_run_as_build: python: min_pin: x.x @@ -48,7 +48,7 @@ python: - 3.12.* *_cpython - 3.13.* *_cp313 pytorch: -- '2.6' +- '2.7' target_platform: - win-64 zip_keys: diff --git a/.ci_support/win_64_channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml b/.ci_support/win_64_channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml index c000d0a0..5329c62a 100644 --- a/.ci_support/win_64_channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml +++ b/.ci_support/win_64_channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml @@ -25,7 +25,7 @@ libmagma_sparse: libprotobuf: - 6.31.1 libtorch: -- '2.6' +- '2.7' magma: - '2.9' megabuild: @@ -35,7 +35,7 @@ mkl: numpy: - '2' orc: -- 2.2.0 +- 2.2.1 pin_run_as_build: python: min_pin: x.x @@ -48,7 +48,7 @@ python: - 3.12.* *_cpython - 3.13.* *_cp313 pytorch: -- '2.6' +- '2.7' target_platform: - win-64 zip_keys: diff --git a/README.md b/README.md index 96a642ef..0bde8a06 100644 --- a/README.md +++ b/README.md @@ -193,6 +193,7 @@ Current release info | [![Conda Recipe](https://img.shields.io/badge/recipe-pytorch-green.svg)](https://anaconda.org/conda-forge/pytorch) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/pytorch.svg)](https://anaconda.org/conda-forge/pytorch) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/pytorch.svg)](https://anaconda.org/conda-forge/pytorch) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/pytorch.svg)](https://anaconda.org/conda-forge/pytorch) | | [![Conda Recipe](https://img.shields.io/badge/recipe-pytorch--cpu-green.svg)](https://anaconda.org/conda-forge/pytorch-cpu) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/pytorch-cpu.svg)](https://anaconda.org/conda-forge/pytorch-cpu) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/pytorch-cpu.svg)](https://anaconda.org/conda-forge/pytorch-cpu) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/pytorch-cpu.svg)](https://anaconda.org/conda-forge/pytorch-cpu) | | [![Conda Recipe](https://img.shields.io/badge/recipe-pytorch--gpu-green.svg)](https://anaconda.org/conda-forge/pytorch-gpu) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/pytorch-gpu.svg)](https://anaconda.org/conda-forge/pytorch-gpu) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/pytorch-gpu.svg)](https://anaconda.org/conda-forge/pytorch-gpu) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/pytorch-gpu.svg)](https://anaconda.org/conda-forge/pytorch-gpu) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-pytorch--tests-green.svg)](https://anaconda.org/conda-forge/pytorch-tests) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/pytorch-tests.svg)](https://anaconda.org/conda-forge/pytorch-tests) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/pytorch-tests.svg)](https://anaconda.org/conda-forge/pytorch-tests) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/pytorch-tests.svg)](https://anaconda.org/conda-forge/pytorch-tests) | Installing pytorch-cpu ====================== @@ -204,16 +205,16 @@ conda config --add channels conda-forge conda config --set channel_priority strict ``` -Once the `conda-forge` channel has been enabled, `libtorch, pytorch, pytorch-cpu, pytorch-gpu` can be installed with `conda`: +Once the `conda-forge` channel has been enabled, `libtorch, pytorch, pytorch-cpu, pytorch-gpu, pytorch-tests` can be installed with `conda`: ``` -conda install libtorch pytorch pytorch-cpu pytorch-gpu +conda install libtorch pytorch pytorch-cpu pytorch-gpu pytorch-tests ``` or with `mamba`: ``` -mamba install libtorch pytorch pytorch-cpu pytorch-gpu +mamba install libtorch pytorch pytorch-cpu pytorch-gpu pytorch-tests ``` It is possible to list all of the versions of `libtorch` available on your platform with `conda`: @@ -263,12 +264,12 @@ it is possible to build and upload installable packages to the [conda-forge](https://anaconda.org/conda-forge) [anaconda.org](https://anaconda.org/) channel for Linux, Windows and OSX respectively. -To manage the continuous integration and simplify feedstock maintenance +To manage the continuous integration and simplify feedstock maintenance, [conda-smithy](https://github.com/conda-forge/conda-smithy) has been developed. Using the ``conda-forge.yml`` within this repository, it is possible to re-render all of this feedstock's supporting files (e.g. the CI configuration files) with ``conda smithy rerender``. -For more information please check the [conda-forge documentation](https://conda-forge.org/docs/). +For more information, please check the [conda-forge documentation](https://conda-forge.org/docs/). Terminology =========== @@ -295,7 +296,7 @@ merged, the recipe will be re-built and uploaded automatically to the everybody to install and use from the `conda-forge` channel. Note that all branches in the conda-forge/pytorch-cpu-feedstock are immediately built and any created packages are uploaded, so PRs should be based -on branches in forks and branches in the main repository should only be used to +on branches in forks, and branches in the main repository should only be used to build distinct package versions. In order to produce a uniquely identifiable distribution: diff --git a/recipe/meta.yaml b/recipe/meta.yaml index b98c86b0..8927e592 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.8.0" %} -{% set build = 0 %} +{% set build = 1 %} # Use a higher build number for the CUDA variant, to ensure that it's # preferred by conda's solver, and it's preferentially @@ -54,7 +54,7 @@ source: - patches/0006-fix-issue-142484.patch - patches/0007-Fix-FindOpenBLAS.patch # point to headers that are now living in $PREFIX/include instead of $SP_DIR/torch/include - - patches/0008-point-include-paths-to-PREFIX-include.patch + - patches/0008-point-include-paths-to-Conda-prefix-include-dir.patch - patches/0009-Add-conda-prefix-to-inductor-include-paths.patch - patches/0010-make-ATEN_INCLUDE_DIR-relative-to-TORCH_INSTALL_PREF.patch - patches/0011-remove-DESTINATION-lib-from-CMake-install-TARGETS-di.patch # [win] @@ -62,9 +62,9 @@ source: # backport https://github.com/pytorch/pytorch/pull/148668 - patches/0013-Fix-CUPTI-lookup-to-include-target-directory.patch # skip a test that fails with numpy 2.3; can be dropped for pytorch>2.7 - - patches/0016-skip-test_norm_matrix_degenerate_shapes-on-numpy-2.3.patch + - patches/0014-skip-test_norm_matrix_degenerate_shapes-on-numpy-2.3.patch # backport https://github.com/pytorch/pytorch/pull/127702 - - patches/0017-Define-PY_SSIZE_T_CLEAN-before-include-Python.h.patch + - patches/0015-Define-PY_SSIZE_T_CLEAN-before-include-Python.h.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 @@ -121,8 +121,7 @@ requirements: - rsync # [unix] host: # GPU requirements - # cudnn pinned over segfaults - # https://github.com/conda-forge/pytorch-cpu-feedstock/pull/411 + # building against the older version to satisfy test constraints - cudnn <9.11 # [cuda_compiler_version != "None"] - nccl # [cuda_compiler_version != "None" and linux] - magma # [cuda_compiler_version != "None"] @@ -173,8 +172,6 @@ requirements: - eigen - zlib run: - # GPU requirements without run_exports - - cudnn <9.11 # [cuda_compiler_version != "None"] - intel-openmp {{ mkl }} # [win] - libblas * *{{ blas_impl }} # [blas_impl == "mkl"] run_constrained: @@ -331,8 +328,6 @@ outputs: - intel-openmp {{ mkl }} # [win] - libblas * *{{ blas_impl }} # [blas_impl == "mkl"] - nomkl # [blas_impl != "mkl"] - # GPU requirements without run_exports - - cudnn <9.11 # [cuda_compiler_version != "None"] - triton =={{ triton }} # [cuda_compiler_version != "None" and not win] # avoid that people without GPUs needlessly download ~0.5-1GB - __cuda # [cuda_compiler_version != "None"] @@ -357,8 +352,15 @@ outputs: - pytorch-gpu {{ version }} # [cuda_compiler_version != "None"] - pytorch-cpu <0.0a0 # [cuda_compiler_version != "None"] + - name: pytorch-tests + build: + string: cuda{{ cuda_compiler_version | replace('.', '') }}_{{ blas_impl }}_py{{ CONDA_PY }}_h{{ PKG_HASH }}_{{ build }} # [cuda_compiler_version != "None"] + string: cpu_{{ blas_impl }}_py{{ CONDA_PY }}_h{{ PKG_HASH }}_{{ build }} # [cuda_compiler_version == "None"] + detect_binary_files_with_prefix: false test: requires: + - pytorch {{ version }} cuda*_{{ blas_impl }}_py{{ CONDA_PY }}*{{ build }} # [cuda_compiler_version != "None"] + - pytorch {{ version }} cpu_{{ blas_impl }}_py{{ CONDA_PY }}*{{ build }} # [cuda_compiler_version == "None"] - {{ compiler('c') }} - {{ compiler('cxx') }} # for torch.compile tests @@ -386,6 +388,10 @@ outputs: - cuda-nvrtc-dev # [cuda_compiler_version != "None"] - nvtx-c # [cuda_compiler_version != "None"] - pybind11 + # cudnn >=9.11 removed support older GPUs that are still supported by CUDA 12 + # pin tests since the CI uses sm70 that is no longer supported at the moment + # pending https://github.com/conda-forge/admin-requests/pull/1687 + - cudnn <9.11 # [cuda_compiler_version != "None"] imports: - torch - torch._C 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 f3ee248a..ee2975f6 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,17 +1,17 @@ -From c7b809486c9401ea5a9abaaf598803c88a9d7da5 Mon Sep 17 00:00:00 2001 +From 8afc8dc7eaf960071d95cb62a5c5138b17af20b4 Mon Sep 17 00:00:00 2001 From: Mark Harfouche Date: Sun, 1 Sep 2024 17:35:40 -0400 -Subject: [PATCH 01/17] Force usage of python 3 and error without numpy +Subject: [PATCH 01/15] Force usage of python 3 and error without numpy --- cmake/Dependencies.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake -index 5227204b041..47917899943 100644 +index a93386c27f8..96988e89d09 100644 --- a/cmake/Dependencies.cmake +++ b/cmake/Dependencies.cmake -@@ -871,9 +871,9 @@ if(BUILD_PYTHON) +@@ -819,9 +819,9 @@ if(BUILD_PYTHON) if(USE_NUMPY) list(APPEND PYTHON_COMPONENTS NumPy) endif() @@ -23,7 +23,7 @@ index 5227204b041..47917899943 100644 endif() if(NOT Python_Interpreter_FOUND) -@@ -890,7 +890,7 @@ if(BUILD_PYTHON) +@@ -838,7 +838,7 @@ if(BUILD_PYTHON) if(Python_Development.Module_FOUND) if(USE_NUMPY) if(NOT Python_NumPy_FOUND) diff --git a/recipe/patches/0002-Help-find-numpy.patch b/recipe/patches/0002-Help-find-numpy.patch index 41430133..15ed3b51 100644 --- a/recipe/patches/0002-Help-find-numpy.patch +++ b/recipe/patches/0002-Help-find-numpy.patch @@ -1,17 +1,17 @@ -From dbafa6c2e900de35d5d4b2633bf80669dde3c9d6 Mon Sep 17 00:00:00 2001 +From 078d8b4be2adbf8a8d20ec1ab69922d534afe6e7 Mon Sep 17 00:00:00 2001 From: Mark Harfouche Date: Tue, 1 Oct 2024 00:28:40 -0400 -Subject: [PATCH 02/17] Help find numpy +Subject: [PATCH 02/15] Help find numpy --- tools/setup_helpers/cmake.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/setup_helpers/cmake.py b/tools/setup_helpers/cmake.py -index ad0d0fb014b..73495989fa0 100644 +index 678ba7ab207..92052f9bc5c 100644 --- a/tools/setup_helpers/cmake.py +++ b/tools/setup_helpers/cmake.py -@@ -305,9 +305,15 @@ class CMake: +@@ -313,9 +313,15 @@ class CMake: sys.exit(1) build_options.update(cmake__options) diff --git a/recipe/patches/0003-Fix-duplicate-linker-script.patch b/recipe/patches/0003-Fix-duplicate-linker-script.patch index 7ab3c08c..6af3ac58 100644 --- a/recipe/patches/0003-Fix-duplicate-linker-script.patch +++ b/recipe/patches/0003-Fix-duplicate-linker-script.patch @@ -1,17 +1,17 @@ -From c244e05d6bbef0b34777ec15ff98ae69bcc5db86 Mon Sep 17 00:00:00 2001 +From 2e913176f2b8ff4a5fd0cb8e8f24ed4850ac9474 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sun, 3 Nov 2024 01:12:36 -0700 -Subject: [PATCH 03/17] Fix duplicate linker script +Subject: [PATCH 03/15] Fix duplicate linker script --- setup.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py -index 61ee9363fc2..4fa1c3ed5c5 100644 +index b4ebc92f592..7f88ade34bf 100644 --- a/setup.py +++ b/setup.py -@@ -1146,7 +1146,9 @@ def main(): +@@ -1198,7 +1198,9 @@ def main(): filein="cmake/prioritized_text.txt", fout="cmake/linker_script.ld" ) linker_script_path = os.path.abspath("cmake/linker_script.ld") diff --git a/recipe/patches/0004-Allow-overriding-CUDA-related-paths.patch b/recipe/patches/0004-Allow-overriding-CUDA-related-paths.patch index 9f7f6c07..c010d8f6 100644 --- a/recipe/patches/0004-Allow-overriding-CUDA-related-paths.patch +++ b/recipe/patches/0004-Allow-overriding-CUDA-related-paths.patch @@ -1,7 +1,7 @@ -From 45c8ecafa220144796b462cab59e9457e893bf05 Mon Sep 17 00:00:00 2001 +From 69647852ad6bfa0f0d9f22f88a981496a71225df 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 04/17] Allow overriding CUDA-related paths +Subject: [PATCH 04/15] Allow overriding CUDA-related paths --- cmake/Modules/FindCUDAToolkit.cmake | 2 +- @@ -22,10 +22,10 @@ index ec9ae530aa6..b7c0bd9fc51 100644 set(CUDAToolkit_LIBRARY_ROOT "${CMAKE_CUDA_COMPILER_LIBRARY_ROOT}") set(CUDAToolkit_VERSION "${CMAKE_CUDA_COMPILER_TOOLKIT_VERSION}") diff --git a/tools/setup_helpers/cmake.py b/tools/setup_helpers/cmake.py -index 73495989fa0..e9cb1f9ae35 100644 +index 92052f9bc5c..bd2a8db5b3b 100644 --- a/tools/setup_helpers/cmake.py +++ b/tools/setup_helpers/cmake.py -@@ -252,7 +252,7 @@ class CMake: +@@ -254,7 +254,7 @@ class CMake: true_var = additional_options.get(var) if true_var is not None: build_options[true_var] = val diff --git a/recipe/patches/0005-Use-BLAS_USE_CBLAS_DOT-for-OpenBLAS-builds.patch b/recipe/patches/0005-Use-BLAS_USE_CBLAS_DOT-for-OpenBLAS-builds.patch index 3d4d000e..1e88de70 100644 --- a/recipe/patches/0005-Use-BLAS_USE_CBLAS_DOT-for-OpenBLAS-builds.patch +++ b/recipe/patches/0005-Use-BLAS_USE_CBLAS_DOT-for-OpenBLAS-builds.patch @@ -1,7 +1,7 @@ -From 9e6e570d3cd3b068ce06885b78ce54e26bd6928f Mon Sep 17 00:00:00 2001 +From e1355fa88c355aa90c7179b4708a9de52cb7d5a2 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Wed, 18 Dec 2024 03:59:00 +0000 -Subject: [PATCH 05/17] Use BLAS_USE_CBLAS_DOT for OpenBLAS builds +Subject: [PATCH 05/15] Use BLAS_USE_CBLAS_DOT for OpenBLAS builds There are two calling conventions for *dotu functions @@ -31,7 +31,7 @@ functional calls. 1 file changed, 2 insertions(+) diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake -index 47917899943..9886a284d4e 100644 +index 96988e89d09..1dee5889d34 100644 --- a/cmake/Dependencies.cmake +++ b/cmake/Dependencies.cmake @@ -182,6 +182,7 @@ elseif(BLAS STREQUAL "OpenBLAS") diff --git a/recipe/patches/0006-fix-issue-142484.patch b/recipe/patches/0006-fix-issue-142484.patch index 48b8ba40..666cc1e1 100644 --- a/recipe/patches/0006-fix-issue-142484.patch +++ b/recipe/patches/0006-fix-issue-142484.patch @@ -1,7 +1,7 @@ -From 93fb01e3ef83d8deefc717c771aa9d3fd905da3e Mon Sep 17 00:00:00 2001 +From e0d77da902d7e861ba3f37c7fcff2d1d66c489c2 Mon Sep 17 00:00:00 2001 From: "Zheng, Zhaoqiong" Date: Fri, 27 Dec 2024 13:49:36 +0800 -Subject: [PATCH 06/17] fix issue 142484 +Subject: [PATCH 06/15] fix issue 142484 From https://github.com/pytorch/pytorch/pull/143894 --- @@ -9,7 +9,7 @@ From https://github.com/pytorch/pytorch/pull/143894 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/aten/src/ATen/native/mkl/SpectralOps.cpp b/aten/src/ATen/native/mkl/SpectralOps.cpp -index 8deefaade89..7304044b3eb 100644 +index 636e94e20f6..6e52871e8e0 100644 --- a/aten/src/ATen/native/mkl/SpectralOps.cpp +++ b/aten/src/ATen/native/mkl/SpectralOps.cpp @@ -478,7 +478,17 @@ static Tensor& _exec_fft(Tensor& out, const Tensor& self, IntArrayRef out_sizes, diff --git a/recipe/patches/0007-Fix-FindOpenBLAS.patch b/recipe/patches/0007-Fix-FindOpenBLAS.patch index 50f5a4a3..724d41f0 100644 --- a/recipe/patches/0007-Fix-FindOpenBLAS.patch +++ b/recipe/patches/0007-Fix-FindOpenBLAS.patch @@ -1,14 +1,14 @@ -From 1a2259bd3d5e0820122721c9b31f04979c87ea3d Mon Sep 17 00:00:00 2001 +From 08f3ff64bbec8420fd779a609e03a52a567a7ee6 Mon Sep 17 00:00:00 2001 From: Bas Zalmstra Date: Thu, 16 May 2024 10:46:49 +0200 -Subject: [PATCH 07/17] Fix FindOpenBLAS +Subject: [PATCH 07/15] Fix FindOpenBLAS --- cmake/Modules/FindOpenBLAS.cmake | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/cmake/Modules/FindOpenBLAS.cmake b/cmake/Modules/FindOpenBLAS.cmake -index 69d8227aea5..0d12185c799 100644 +index 9ba86ba1ee0..19e1d508aa5 100644 --- a/cmake/Modules/FindOpenBLAS.cmake +++ b/cmake/Modules/FindOpenBLAS.cmake @@ -31,22 +31,25 @@ SET(Open_BLAS_LIB_SEARCH_PATHS diff --git a/recipe/patches/0008-point-include-paths-to-Conda-prefix-include-dir.patch b/recipe/patches/0008-point-include-paths-to-Conda-prefix-include-dir.patch new file mode 100644 index 00000000..401e2df3 --- /dev/null +++ b/recipe/patches/0008-point-include-paths-to-Conda-prefix-include-dir.patch @@ -0,0 +1,30 @@ +From 89eedf14f72f2baa2fa8b1766a3b3682f454538d Mon Sep 17 00:00:00 2001 +From: "H. Vetinari" +Date: Thu, 23 Jan 2025 22:58:14 +1100 +Subject: [PATCH 08/15] point include paths to Conda prefix include dir + +Updated to use `sys.prefix` per +https://github.com/conda-forge/pytorch-cpu-feedstock/issues/424. +--- + torch/utils/cpp_extension.py | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/torch/utils/cpp_extension.py b/torch/utils/cpp_extension.py +index 7fa5237994e..99fbd38e81a 100644 +--- a/torch/utils/cpp_extension.py ++++ b/torch/utils/cpp_extension.py +@@ -1495,9 +1495,14 @@ def include_paths(device_type: str = "cpu") -> list[str]: + A list of include path strings. + """ + lib_include = os.path.join(_TORCH_PATH, 'include') ++ # Account for conda prefix. ++ conda_pieces = [sys.prefix] + IS_WINDOWS * ["Library"] + ["include"] ++ conda_include = os.path.join(*conda_pieces) + paths = [ ++ conda_include, + lib_include, + # Remove this once torch/torch.h is officially no longer supported for C++ extensions. ++ os.path.join(conda_include, 'torch', 'csrc', 'api', 'include'), + os.path.join(lib_include, 'torch', 'csrc', 'api', 'include'), + ] + if device_type == "cuda" and IS_HIP_EXTENSION: diff --git a/recipe/patches/0008-point-include-paths-to-PREFIX-include.patch b/recipe/patches/0008-point-include-paths-to-PREFIX-include.patch deleted file mode 100644 index 8e864063..00000000 --- a/recipe/patches/0008-point-include-paths-to-PREFIX-include.patch +++ /dev/null @@ -1,42 +0,0 @@ -From c0da591c99f601fc2c5cc2b1c50b6d51052c8e5e Mon Sep 17 00:00:00 2001 -From: "H. Vetinari" -Date: Thu, 23 Jan 2025 22:58:14 +1100 -Subject: [PATCH 08/17] point include paths to $PREFIX/include - ---- - torch/utils/cpp_extension.py | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -diff --git a/torch/utils/cpp_extension.py b/torch/utils/cpp_extension.py -index 82c23c2c9fe..baec1969ac0 100644 ---- a/torch/utils/cpp_extension.py -+++ b/torch/utils/cpp_extension.py -@@ -1437,10 +1437,28 @@ def include_paths(device_type: str = "cpu") -> list[str]: - A list of include path strings. - """ - lib_include = os.path.join(_TORCH_PATH, 'include') -+ if (os.environ.get("CONDA_BUILD", None) is not None -+ and os.environ.get("CONDA_BUILD_CROSS_COMPILATION", None) not in (None, "", "0")): -+ # to avoid problems in cross-compilation, we need to point to the same environment -+ # where the currently running pytorch is -- i.e. the BUILD_PREFIX. See -+ # https://github.com/conda-forge/pytorch-cpu-feedstock/issues/349 -+ pieces = [os.environ["BUILD_PREFIX"]] + IS_WINDOWS * ["Library"] + ["include"] -+ lib_include = os.path.join(*pieces) -+ elif os.environ.get("CONDA_BUILD", None) is not None: -+ # regular build (& testing) phase --> PREFIX is set -+ pieces = [os.environ["PREFIX"]] + IS_WINDOWS * ["Library"] + ["include"] -+ lib_include = os.path.join(*pieces) -+ elif os.environ.get("CONDA_PREFIX", None) is not None: -+ # final environment -+ pieces = [os.environ["CONDA_PREFIX"]] + IS_WINDOWS * ["Library"] + ["include"] -+ lib_include = os.path.join(*pieces) - paths = [ - lib_include, - # Remove this once torch/torch.h is officially no longer supported for C++ extensions. - os.path.join(lib_include, 'torch', 'csrc', 'api', 'include'), -+ # add site-packages/torch/include again (`lib_include` may have been pointing to -+ # $PREFIX/include), as some torch-internal headers are still in this directory -+ os.path.join(_TORCH_PATH, 'include'), - ] - if device_type == "cuda" and IS_HIP_EXTENSION: - paths.append(os.path.join(lib_include, 'THH')) diff --git a/recipe/patches/0009-Add-conda-prefix-to-inductor-include-paths.patch b/recipe/patches/0009-Add-conda-prefix-to-inductor-include-paths.patch index 5e14eb3d..d7d846d9 100644 --- a/recipe/patches/0009-Add-conda-prefix-to-inductor-include-paths.patch +++ b/recipe/patches/0009-Add-conda-prefix-to-inductor-include-paths.patch @@ -1,7 +1,7 @@ -From 28ae8ad0c497050f6ca371a58eddc2fc1798b9bb Mon Sep 17 00:00:00 2001 +From 31542c7ab379cb4bed47a021f013e018aa9603c9 Mon Sep 17 00:00:00 2001 From: Daniel Petry Date: Tue, 21 Jan 2025 17:45:23 -0600 -Subject: [PATCH 09/17] Add conda prefix to inductor include paths +Subject: [PATCH 09/15] 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 @@ -9,19 +9,22 @@ dependencies (e.g., sleef). Note that this is for inductor's JIT mode, not its AOT mode, for which the end user provides a _compile_flags.json file. + +Updated to use `sys.prefix` per +https://github.com/conda-forge/pytorch-cpu-feedstock/issues/424. --- torch/_inductor/cpp_builder.py | 1 + 1 file changed, 1 insertion(+) diff --git a/torch/_inductor/cpp_builder.py b/torch/_inductor/cpp_builder.py -index 9f5f8072687..564dd860b77 100644 +index d0a646c1de8..99c22d0ae40 100644 --- a/torch/_inductor/cpp_builder.py +++ b/torch/_inductor/cpp_builder.py -@@ -1074,6 +1074,7 @@ def get_cpp_torch_options( +@@ -1136,6 +1136,7 @@ def get_cpp_torch_options( + python_include_dirs + torch_include_dirs + omp_include_dir_paths -+ + [os.getenv('CONDA_PREFIX') + '/include'] ++ + [sys.prefix + '/include'] ) cflags = sys_libs_cflags + omp_cflags ldflags = omp_ldflags diff --git a/recipe/patches/0010-make-ATEN_INCLUDE_DIR-relative-to-TORCH_INSTALL_PREF.patch b/recipe/patches/0010-make-ATEN_INCLUDE_DIR-relative-to-TORCH_INSTALL_PREF.patch index fc911b37..b3362ba9 100644 --- a/recipe/patches/0010-make-ATEN_INCLUDE_DIR-relative-to-TORCH_INSTALL_PREF.patch +++ b/recipe/patches/0010-make-ATEN_INCLUDE_DIR-relative-to-TORCH_INSTALL_PREF.patch @@ -1,7 +1,7 @@ -From c05d9e91805271410026fff8b9d6969d5d8d86fa Mon Sep 17 00:00:00 2001 +From fa7cbe57e21e30cd605cf78ac1cec8c3c243df89 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 28 Jan 2025 14:15:34 +1100 -Subject: [PATCH 10/17] make ATEN_INCLUDE_DIR relative to TORCH_INSTALL_PREFIX +Subject: [PATCH 10/15] 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: @@ -11,10 +11,10 @@ https://github.com/pytorch/pytorch/blob/v2.5.1/cmake/TorchConfig.cmake.in#L47 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aten/src/ATen/CMakeLists.txt b/aten/src/ATen/CMakeLists.txt -index 085af373ec2..39a12f83d40 100644 +index c9cfd74b501..0ccb7b1d2e5 100644 --- a/aten/src/ATen/CMakeLists.txt +++ b/aten/src/ATen/CMakeLists.txt -@@ -659,7 +659,7 @@ if(USE_ROCM) +@@ -696,7 +696,7 @@ if(USE_ROCM) # list(APPEND ATen_HIP_DEPENDENCY_LIBS ATEN_CUDA_FILES_GEN_LIB) endif() diff --git a/recipe/patches/0011-remove-DESTINATION-lib-from-CMake-install-TARGETS-di.patch b/recipe/patches/0011-remove-DESTINATION-lib-from-CMake-install-TARGETS-di.patch index ffd0aacf..a126aea5 100644 --- a/recipe/patches/0011-remove-DESTINATION-lib-from-CMake-install-TARGETS-di.patch +++ b/recipe/patches/0011-remove-DESTINATION-lib-from-CMake-install-TARGETS-di.patch @@ -1,7 +1,7 @@ -From b3cbb135f98bdb7de641bf355486f79fbb3e9b72 Mon Sep 17 00:00:00 2001 +From 24e8b1baf4cc5fe783b6a2b13f36ef026bb98554 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 28 Jan 2025 10:58:29 +1100 -Subject: [PATCH 11/17] remove `DESTINATION lib` from CMake `install(TARGETS` +Subject: [PATCH 11/15] remove `DESTINATION lib` from CMake `install(TARGETS` directives Suggested-By: Silvio Traversaro @@ -16,10 +16,10 @@ Suggested-By: Silvio Traversaro 7 files changed, 15 insertions(+), 15 deletions(-) diff --git a/c10/CMakeLists.txt b/c10/CMakeLists.txt -index 34577caef2e..8f00b3d8cb1 100644 +index 8e9d267352d..6c4a4472325 100644 --- a/c10/CMakeLists.txt +++ b/c10/CMakeLists.txt -@@ -163,7 +163,7 @@ if(NOT BUILD_LIBTORCHLESS) +@@ -164,7 +164,7 @@ if(NOT BUILD_LIBTORCHLESS) # Note: for now, we will put all export path into one single Caffe2Targets group # to deal with the cmake deployment need. Inside the Caffe2Targets set, the # individual libraries like libc10.so and libcaffe2.so are still self-contained. @@ -29,10 +29,10 @@ index 34577caef2e..8f00b3d8cb1 100644 install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR} diff --git a/c10/cuda/CMakeLists.txt b/c10/cuda/CMakeLists.txt -index 3327dab4779..9336c9e8f77 100644 +index 2604f677858..dcad42167ea 100644 --- a/c10/cuda/CMakeLists.txt +++ b/c10/cuda/CMakeLists.txt -@@ -82,7 +82,7 @@ if(NOT BUILD_LIBTORCHLESS) +@@ -83,7 +83,7 @@ if(NOT BUILD_LIBTORCHLESS) # Note: for now, we will put all export path into one single Caffe2Targets group # to deal with the cmake deployment need. Inside the Caffe2Targets set, the # individual libraries like libc10.so and libcaffe2.so are still self-contained. @@ -42,10 +42,10 @@ index 3327dab4779..9336c9e8f77 100644 endif() diff --git a/c10/hip/CMakeLists.txt b/c10/hip/CMakeLists.txt -index f153030e793..514c6d29266 100644 +index ef24471dba8..a410383de27 100644 --- a/c10/hip/CMakeLists.txt +++ b/c10/hip/CMakeLists.txt -@@ -55,7 +55,7 @@ if(NOT BUILD_LIBTORCHLESS) +@@ -56,7 +56,7 @@ if(NOT BUILD_LIBTORCHLESS) $ $ $) @@ -55,10 +55,10 @@ index f153030e793..514c6d29266 100644 endif() diff --git a/c10/xpu/CMakeLists.txt b/c10/xpu/CMakeLists.txt -index 01f77d61713..437ade657f9 100644 +index 95b9f031c3e..f1ce6d1ad14 100644 --- a/c10/xpu/CMakeLists.txt +++ b/c10/xpu/CMakeLists.txt -@@ -45,7 +45,7 @@ if(NOT BUILD_LIBTORCHLESS) +@@ -46,7 +46,7 @@ if(NOT BUILD_LIBTORCHLESS) $ $ ) @@ -68,10 +68,10 @@ index 01f77d61713..437ade657f9 100644 add_subdirectory(test) endif() diff --git a/caffe2/CMakeLists.txt b/caffe2/CMakeLists.txt -index d2d23b7ab65..512e4ba3a81 100644 +index d1ce24e37fe..1f929e7b8b3 100644 --- a/caffe2/CMakeLists.txt +++ b/caffe2/CMakeLists.txt -@@ -557,7 +557,7 @@ if(USE_CUDA) +@@ -562,7 +562,7 @@ if(USE_CUDA) endif() target_link_libraries(caffe2_nvrtc PRIVATE caffe2::nvrtc ${DELAY_LOAD_FLAGS}) @@ -80,7 +80,7 @@ index d2d23b7ab65..512e4ba3a81 100644 if(USE_NCCL) list(APPEND Caffe2_GPU_SRCS ${TORCH_SRC_DIR}/csrc/cuda/nccl.cpp) -@@ -628,7 +628,7 @@ if(USE_ROCM) +@@ -636,7 +636,7 @@ if(USE_ROCM) target_link_libraries(caffe2_nvrtc hip::amdhip64 hiprtc::hiprtc) target_include_directories(caffe2_nvrtc PRIVATE ${CMAKE_BINARY_DIR}) target_compile_definitions(caffe2_nvrtc PRIVATE USE_ROCM __HIP_PLATFORM_AMD__) @@ -89,7 +89,7 @@ index d2d23b7ab65..512e4ba3a81 100644 endif() if(NOT NO_API AND NOT BUILD_LITE_INTERPRETER) -@@ -1035,7 +1035,7 @@ elseif(USE_CUDA) +@@ -1098,7 +1098,7 @@ elseif(USE_CUDA) CUDA::culibos ${CMAKE_DL_LIBS}) endif() set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/../aten/src/ATen/native/cuda/LinearAlgebraStubs.cpp PROPERTIES COMPILE_FLAGS "-DBUILD_LAZY_CUDA_LINALG") @@ -98,7 +98,7 @@ index d2d23b7ab65..512e4ba3a81 100644 endif() if(USE_PRECOMPILED_HEADERS) -@@ -1536,17 +1536,17 @@ endif() +@@ -1584,17 +1584,17 @@ endif() caffe2_interface_library(torch torch_library) @@ -121,9 +121,9 @@ index d2d23b7ab65..512e4ba3a81 100644 target_link_libraries(torch PUBLIC torch_cpu_library) -@@ -1685,7 +1685,7 @@ if(BUILD_SHARED_LIBS) - target_link_libraries(torch_global_deps torch::nvtoolsext) - endif() +@@ -1726,7 +1726,7 @@ if(BUILD_SHARED_LIBS) + target_link_libraries(torch_global_deps ${Caffe2_PUBLIC_CUDA_DEPENDENCY_LIBS}) + target_link_libraries(torch_global_deps torch::cudart) endif() - install(TARGETS torch_global_deps DESTINATION "${TORCH_INSTALL_LIB_DIR}") + install(TARGETS torch_global_deps) @@ -131,10 +131,10 @@ index d2d23b7ab65..512e4ba3a81 100644 # ---[ Caffe2 HIP sources. diff --git a/torch/CMakeLists.txt b/torch/CMakeLists.txt -index 8b8ebdc6e97..7e84d4e29af 100644 +index 3985cf50c14..bcb90bfc672 100644 --- a/torch/CMakeLists.txt +++ b/torch/CMakeLists.txt -@@ -464,7 +464,7 @@ if(NOT TORCH_PYTHON_LINK_FLAGS STREQUAL "") +@@ -463,7 +463,7 @@ if(NOT TORCH_PYTHON_LINK_FLAGS STREQUAL "") set_target_properties(torch_python PROPERTIES LINK_FLAGS ${TORCH_PYTHON_LINK_FLAGS}) endif() diff --git a/recipe/patches/0012-avoid-deprecated-find_package-CUDA-in-caffe2-CMake-m.patch b/recipe/patches/0012-avoid-deprecated-find_package-CUDA-in-caffe2-CMake-m.patch index 5c08e13e..faa260e8 100644 --- a/recipe/patches/0012-avoid-deprecated-find_package-CUDA-in-caffe2-CMake-m.patch +++ b/recipe/patches/0012-avoid-deprecated-find_package-CUDA-in-caffe2-CMake-m.patch @@ -1,7 +1,7 @@ -From 4d94092be5f26d1df1257c9629172fe6c62e19fc Mon Sep 17 00:00:00 2001 +From 6785dd8f59dc951fb1194a287f24ea205d72b456 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 30 Jan 2025 08:33:44 +1100 -Subject: [PATCH 12/17] avoid deprecated `find_package(CUDA)` in caffe2 CMake +Subject: [PATCH 12/15] avoid deprecated `find_package(CUDA)` in caffe2 CMake metadata vendor the not-available-anymore function torch_cuda_get_nvcc_gencode_flag from CMake @@ -15,10 +15,10 @@ vendor the not-available-anymore function torch_cuda_get_nvcc_gencode_flag from 6 files changed, 153 insertions(+), 50 deletions(-) diff --git a/caffe2/CMakeLists.txt b/caffe2/CMakeLists.txt -index 512e4ba3a81..7def8ba0311 100644 +index 1f929e7b8b3..8116b5fb5ec 100644 --- a/caffe2/CMakeLists.txt +++ b/caffe2/CMakeLists.txt -@@ -937,25 +937,25 @@ if(USE_ROCM) +@@ -948,25 +948,25 @@ if(USE_ROCM) "$<$:ATen/core/ATen_pch.h>") endif() elseif(USE_CUDA) @@ -49,7 +49,7 @@ index 512e4ba3a81..7def8ba0311 100644 torch_compile_options(torch_cuda) # see cmake/public/utils.cmake target_compile_definitions(torch_cuda PRIVATE USE_CUDA) -@@ -1013,12 +1013,12 @@ elseif(USE_CUDA) +@@ -1076,12 +1076,12 @@ elseif(USE_CUDA) torch_cuda ) if($ENV{ATEN_STATIC_CUDA}) @@ -65,7 +65,7 @@ index 512e4ba3a81..7def8ba0311 100644 CUDA::cusolver_static ${CUDAToolkit_LIBRARY_DIR}/libcusolver_lapack_static.a # needed for libcusolver_static diff --git a/cmake/Summary.cmake b/cmake/Summary.cmake -index b46560e123b..f815f43237d 100644 +index c33269c0a28..ac200e24ca0 100644 --- a/cmake/Summary.cmake +++ b/cmake/Summary.cmake @@ -76,7 +76,7 @@ function(caffe2_print_configuration_summary) @@ -103,7 +103,7 @@ index b46560e123b..f815f43237d 100644 if(${USE_TENSORRT}) message(STATUS " TensorRT runtime library: ${TENSORRT_LIBRARY}") diff --git a/cmake/TorchConfig.cmake.in b/cmake/TorchConfig.cmake.in -index 855edd35081..83bf98679cd 100644 +index 8a5587cad27..90c03147817 100644 --- a/cmake/TorchConfig.cmake.in +++ b/cmake/TorchConfig.cmake.in @@ -130,7 +130,7 @@ if(@USE_CUDA@) @@ -113,10 +113,10 @@ index 855edd35081..83bf98679cd 100644 - set(TORCH_CUDA_LIBRARIES ${CUDA_NVRTC_LIB}) + set(TORCH_CUDA_LIBRARIES CUDA::nvrtc) endif() - if(TARGET torch::nvtoolsext) - list(APPEND TORCH_CUDA_LIBRARIES torch::nvtoolsext) + + if(@BUILD_SHARED_LIBS@) diff --git a/cmake/public/cuda.cmake b/cmake/public/cuda.cmake -index c66d32b115c..e538fb5662b 100644 +index ca888bb9db2..ef4119d8a00 100644 --- a/cmake/public/cuda.cmake +++ b/cmake/public/cuda.cmake @@ -26,8 +26,8 @@ if(NOT MSVC) @@ -215,7 +215,7 @@ index c66d32b115c..e538fb5662b 100644 execute_process( COMMAND Python::Interpreter -c diff --git a/cmake/public/utils.cmake b/cmake/public/utils.cmake -index 781a4e6819f..0585942fe36 100644 +index d56dd74d6c0..9f59b40d612 100644 --- a/cmake/public/utils.cmake +++ b/cmake/public/utils.cmake @@ -306,6 +306,133 @@ macro(torch_hip_get_arch_list store_var) @@ -353,10 +353,10 @@ index 781a4e6819f..0585942fe36 100644 # Get the XPU arch flags specified by TORCH_XPU_ARCH_LIST. # Usage: diff --git a/setup.py b/setup.py -index 4fa1c3ed5c5..5757c800136 100644 +index 7f88ade34bf..3b3a3ab46fa 100644 --- a/setup.py +++ b/setup.py -@@ -647,7 +647,7 @@ class build_ext(setuptools.command.build_ext.build_ext): +@@ -695,7 +695,7 @@ class build_ext(setuptools.command.build_ext.build_ext): else: report("-- Not using cuDNN") if cmake_cache_vars["USE_CUDA"]: diff --git a/recipe/patches/0013-Fix-CUPTI-lookup-to-include-target-directory.patch b/recipe/patches/0013-Fix-CUPTI-lookup-to-include-target-directory.patch index 9ebaeef5..28ed6828 100644 --- a/recipe/patches/0013-Fix-CUPTI-lookup-to-include-target-directory.patch +++ b/recipe/patches/0013-Fix-CUPTI-lookup-to-include-target-directory.patch @@ -1,17 +1,17 @@ -From 77d7e436f012413bb61c000c750f461b03f6696b Mon Sep 17 00:00:00 2001 +From 5b0baec85cfa42559474098f0dfd7952145a044e 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 13/17] Fix CUPTI lookup to include target directory +Subject: [PATCH 13/15] 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 9886a284d4e..8c60f9d1204 100644 +index 1dee5889d34..11577a2c0dc 100644 --- a/cmake/Dependencies.cmake +++ b/cmake/Dependencies.cmake -@@ -1666,6 +1666,7 @@ if(USE_KINETO) +@@ -1637,6 +1637,7 @@ if(USE_KINETO) endif() find_library(CUPTI_LIBRARY_PATH ${CUPTI_LIB_NAME} PATHS @@ -19,7 +19,7 @@ index 9886a284d4e..8c60f9d1204 100644 ${CUDA_SOURCE_DIR} ${CUDA_SOURCE_DIR}/extras/CUPTI/lib64 ${CUDA_SOURCE_DIR}/lib -@@ -1673,6 +1674,7 @@ if(USE_KINETO) +@@ -1644,6 +1645,7 @@ if(USE_KINETO) NO_DEFAULT_PATH) find_path(CUPTI_INCLUDE_DIR cupti.h PATHS diff --git a/recipe/patches/0016-skip-test_norm_matrix_degenerate_shapes-on-numpy-2.3.patch b/recipe/patches/0014-skip-test_norm_matrix_degenerate_shapes-on-numpy-2.3.patch similarity index 76% rename from recipe/patches/0016-skip-test_norm_matrix_degenerate_shapes-on-numpy-2.3.patch rename to recipe/patches/0014-skip-test_norm_matrix_degenerate_shapes-on-numpy-2.3.patch index 9ef5457b..27a2069f 100644 --- a/recipe/patches/0016-skip-test_norm_matrix_degenerate_shapes-on-numpy-2.3.patch +++ b/recipe/patches/0014-skip-test_norm_matrix_degenerate_shapes-on-numpy-2.3.patch @@ -1,17 +1,17 @@ -From 2e509a92b1d1a5f40de6d9a7e84f384f82b9bfdb Mon Sep 17 00:00:00 2001 +From f69f6c1f9f1bd001571f22689086ca15c23819f6 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 14 Jun 2025 07:34:48 +1100 -Subject: [PATCH 16/17] skip test_norm_matrix_degenerate_shapes on numpy >=2.3 +Subject: [PATCH 14/15] skip test_norm_matrix_degenerate_shapes on numpy >=2.3 --- test/test_linalg.py | 1 + 1 file changed, 1 insertion(+) diff --git a/test/test_linalg.py b/test/test_linalg.py -index 8ac5a198861..2371ebcbf0a 100644 +index 108a5f59007..5381635b395 100644 --- a/test/test_linalg.py +++ b/test/test_linalg.py -@@ -1866,6 +1866,7 @@ class TestLinalg(TestCase): +@@ -2042,6 +2042,7 @@ class TestLinalg(TestCase): # Test degenerate shape results match numpy for linalg.norm matrix norms @skipCUDAIfNoMagma @skipCPUIfNoLapack diff --git a/recipe/patches/0017-Define-PY_SSIZE_T_CLEAN-before-include-Python.h.patch b/recipe/patches/0015-Define-PY_SSIZE_T_CLEAN-before-include-Python.h.patch similarity index 81% rename from recipe/patches/0017-Define-PY_SSIZE_T_CLEAN-before-include-Python.h.patch rename to recipe/patches/0015-Define-PY_SSIZE_T_CLEAN-before-include-Python.h.patch index 24450a30..e9976cba 100644 --- a/recipe/patches/0017-Define-PY_SSIZE_T_CLEAN-before-include-Python.h.patch +++ b/recipe/patches/0015-Define-PY_SSIZE_T_CLEAN-before-include-Python.h.patch @@ -1,7 +1,7 @@ -From 1cf62e3df7e6a08523935caa0c1a4caf95d6b0c9 Mon Sep 17 00:00:00 2001 +From 3d38a7377927da6eb0224e24ba4374db78edfef8 Mon Sep 17 00:00:00 2001 From: LWisteria Date: Sun, 2 Jun 2024 19:13:23 +0900 -Subject: [PATCH 17/17] Define PY_SSIZE_T_CLEAN before #include +Subject: [PATCH 15/15] Define PY_SSIZE_T_CLEAN before #include See https://docs.python.org/3/c-api/intro.html#include-files ---