diff --git a/.ci_support/linux_64_blas_implgenericchannel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml b/.ci_support/linux_64_blas_implgenericc_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_version12.9github_actions_labelscirun-openstack-gpu-2xlargeis_rcFalse.yaml similarity index 93% rename from .ci_support/linux_64_blas_implgenericchannel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml rename to .ci_support/linux_64_blas_implgenericc_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_version12.9github_actions_labelscirun-openstack-gpu-2xlargeis_rcFalse.yaml index 2569f0525..28f79955d 100644 --- a/.ci_support/linux_64_blas_implgenericchannel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml +++ b/.ci_support/linux_64_blas_implgenericc_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_version12.9github_actions_labelscirun-openstack-gpu-2xlargeis_rcFalse.yaml @@ -16,8 +16,6 @@ cuda_compiler: - cuda-nvcc cuda_compiler_version: - '12.9' -cudnn: -- '9' cxx_compiler: - gxx cxx_compiler_version: @@ -36,15 +34,17 @@ libblas: - 3.9.* *netlib libcblas: - 3.9.* *netlib +libcudnn_dev: +- '9' liblapack: - 3.9.* *netlib +libmagma_devel: +- '2.9' libmagma_sparse: - '2.9' libprotobuf: - 6.31.1 libtorch: -- '2.7' -magma: - '2.9' mkl: - '2025' @@ -55,7 +55,7 @@ nccl: numpy: - '2' orc: -- 2.2.1 +- 2.2.2 pin_run_as_build: python: min_pin: x.x @@ -67,8 +67,9 @@ python: - 3.11.* *_cpython - 3.12.* *_cpython - 3.13.* *_cp313 +- 3.14.* *_cp314 pytorch: -- '2.7' +- '2.9' target_platform: - linux-64 zip_keys: diff --git a/.ci_support/linux_64_blas_implgenericc_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_versionNonegithub_actions_labelscirun-openstack-cpu-xlargeis_rcFalse.yaml b/.ci_support/linux_64_blas_implgenericc_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_versionNonegithub_actions_labelscirun-openstack-cpu-xlargeis_rcFalse.yaml new file mode 100644 index 000000000..166a18a83 --- /dev/null +++ b/.ci_support/linux_64_blas_implgenericc_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_versionNonegithub_actions_labelscirun-openstack-cpu-xlargeis_rcFalse.yaml @@ -0,0 +1,83 @@ +blas_impl: +- generic +c_compiler: +- gcc +c_compiler_version: +- '14' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- None +cxx_compiler: +- gxx +cxx_compiler_version: +- '14' +docker_image: +- quay.io/condaforge/linux-anvil-x86_64:alma9 +fmt: +- '12.1' +github_actions_labels: +- cirun-openstack-cpu-xlarge +is_rc: +- 'False' +libabseil: +- '20250512' +libblas: +- 3.9.* *netlib +libcblas: +- 3.9.* *netlib +libcudnn_dev: +- '9' +liblapack: +- 3.9.* *netlib +libmagma_devel: +- '2.9' +libmagma_sparse: +- '2.9' +libprotobuf: +- 6.31.1 +libtorch: +- '2.9' +mkl: +- '2025' +mkl_devel: +- '2025' +nccl: +- '2' +numpy: +- '2' +orc: +- 2.2.2 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +pybind11_abi: +- '11' +python: +- 3.10.* *_cpython +- 3.11.* *_cpython +- 3.12.* *_cpython +- 3.13.* *_cp313 +- 3.14.* *_cp314 +pytorch: +- '2.9' +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - c_stdlib_version + - cuda_compiler_version +- - channel_targets + - is_rc +zlib: +- '1' diff --git a/.ci_support/linux_64_blas_implgenericchannel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml b/.ci_support/linux_64_blas_implgenericc_stdlib_version2.28channel_targetsconda-forge_maincuda_compiler_version13.0github_actions_labelscirun-openstack-gpu-2xlargeis_rcFalse.yaml similarity index 91% rename from .ci_support/linux_64_blas_implgenericchannel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml rename to .ci_support/linux_64_blas_implgenericc_stdlib_version2.28channel_targetsconda-forge_maincuda_compiler_version13.0github_actions_labelscirun-openstack-gpu-2xlargeis_rcFalse.yaml index 72f926c61..99210045a 100644 --- a/.ci_support/linux_64_blas_implgenericchannel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml +++ b/.ci_support/linux_64_blas_implgenericc_stdlib_version2.28channel_targetsconda-forge_maincuda_compiler_version13.0github_actions_labelscirun-openstack-gpu-2xlargeis_rcFalse.yaml @@ -7,7 +7,7 @@ c_compiler_version: c_stdlib: - sysroot c_stdlib_version: -- '2.17' +- '2.28' channel_sources: - conda-forge channel_targets: @@ -15,9 +15,7 @@ channel_targets: cuda_compiler: - cuda-nvcc cuda_compiler_version: -- None -cudnn: -- '9' +- '13.0' cxx_compiler: - gxx cxx_compiler_version: @@ -36,15 +34,17 @@ libblas: - 3.9.* *netlib libcblas: - 3.9.* *netlib +libcudnn_dev: +- '9' liblapack: - 3.9.* *netlib +libmagma_devel: +- '2.9' libmagma_sparse: - '2.9' libprotobuf: - 6.31.1 libtorch: -- '2.7' -magma: - '2.9' mkl: - '2025' @@ -55,7 +55,7 @@ nccl: numpy: - '2' orc: -- 2.2.1 +- 2.2.2 pin_run_as_build: python: min_pin: x.x @@ -67,8 +67,9 @@ python: - 3.11.* *_cpython - 3.12.* *_cpython - 3.13.* *_cp313 +- 3.14.* *_cp314 pytorch: -- '2.7' +- '2.9' 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_implmklc_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_version12.9github_actions_labelscirun-openstack-gpu-2xlargeis_rcFalse.yaml similarity index 93% rename from .ci_support/linux_64_blas_implmklchannel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml rename to .ci_support/linux_64_blas_implmklc_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_version12.9github_actions_labelscirun-openstack-gpu-2xlargeis_rcFalse.yaml index e26700b68..f9451da26 100644 --- a/.ci_support/linux_64_blas_implmklchannel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml +++ b/.ci_support/linux_64_blas_implmklc_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_version12.9github_actions_labelscirun-openstack-gpu-2xlargeis_rcFalse.yaml @@ -16,8 +16,6 @@ cuda_compiler: - cuda-nvcc cuda_compiler_version: - '12.9' -cudnn: -- '9' cxx_compiler: - gxx cxx_compiler_version: @@ -36,15 +34,17 @@ libblas: - 3.9.* *netlib libcblas: - 3.9.* *netlib +libcudnn_dev: +- '9' liblapack: - 3.9.* *netlib +libmagma_devel: +- '2.9' libmagma_sparse: - '2.9' libprotobuf: - 6.31.1 libtorch: -- '2.7' -magma: - '2.9' mkl: - '2025' @@ -55,7 +55,7 @@ nccl: numpy: - '2' orc: -- 2.2.1 +- 2.2.2 pin_run_as_build: python: min_pin: x.x @@ -67,8 +67,9 @@ python: - 3.11.* *_cpython - 3.12.* *_cpython - 3.13.* *_cp313 +- 3.14.* *_cp314 pytorch: -- '2.7' +- '2.9' target_platform: - linux-64 zip_keys: diff --git a/.ci_support/linux_64_blas_implmklc_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_versionNonegithub_actions_labelscirun-openstack-cpu-xlargeis_rcFalse.yaml b/.ci_support/linux_64_blas_implmklc_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_versionNonegithub_actions_labelscirun-openstack-cpu-xlargeis_rcFalse.yaml new file mode 100644 index 000000000..a86135bba --- /dev/null +++ b/.ci_support/linux_64_blas_implmklc_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_versionNonegithub_actions_labelscirun-openstack-cpu-xlargeis_rcFalse.yaml @@ -0,0 +1,83 @@ +blas_impl: +- mkl +c_compiler: +- gcc +c_compiler_version: +- '14' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- None +cxx_compiler: +- gxx +cxx_compiler_version: +- '14' +docker_image: +- quay.io/condaforge/linux-anvil-x86_64:alma9 +fmt: +- '12.1' +github_actions_labels: +- cirun-openstack-cpu-xlarge +is_rc: +- 'False' +libabseil: +- '20250512' +libblas: +- 3.9.* *netlib +libcblas: +- 3.9.* *netlib +libcudnn_dev: +- '9' +liblapack: +- 3.9.* *netlib +libmagma_devel: +- '2.9' +libmagma_sparse: +- '2.9' +libprotobuf: +- 6.31.1 +libtorch: +- '2.9' +mkl: +- '2025' +mkl_devel: +- '2025' +nccl: +- '2' +numpy: +- '2' +orc: +- 2.2.2 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +pybind11_abi: +- '11' +python: +- 3.10.* *_cpython +- 3.11.* *_cpython +- 3.12.* *_cpython +- 3.13.* *_cp313 +- 3.14.* *_cp314 +pytorch: +- '2.9' +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - c_stdlib_version + - cuda_compiler_version +- - channel_targets + - is_rc +zlib: +- '1' diff --git a/.ci_support/linux_64_blas_implmklchannel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml b/.ci_support/linux_64_blas_implmklc_stdlib_version2.28channel_targetsconda-forge_maincuda_compiler_version13.0github_actions_labelscirun-openstack-gpu-2xlargeis_rcFalse.yaml similarity index 91% rename from .ci_support/linux_64_blas_implmklchannel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml rename to .ci_support/linux_64_blas_implmklc_stdlib_version2.28channel_targetsconda-forge_maincuda_compiler_version13.0github_actions_labelscirun-openstack-gpu-2xlargeis_rcFalse.yaml index ba0126a43..e4de82f78 100644 --- a/.ci_support/linux_64_blas_implmklchannel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml +++ b/.ci_support/linux_64_blas_implmklc_stdlib_version2.28channel_targetsconda-forge_maincuda_compiler_version13.0github_actions_labelscirun-openstack-gpu-2xlargeis_rcFalse.yaml @@ -7,7 +7,7 @@ c_compiler_version: c_stdlib: - sysroot c_stdlib_version: -- '2.17' +- '2.28' channel_sources: - conda-forge channel_targets: @@ -15,9 +15,7 @@ channel_targets: cuda_compiler: - cuda-nvcc cuda_compiler_version: -- None -cudnn: -- '9' +- '13.0' cxx_compiler: - gxx cxx_compiler_version: @@ -36,15 +34,17 @@ libblas: - 3.9.* *netlib libcblas: - 3.9.* *netlib +libcudnn_dev: +- '9' liblapack: - 3.9.* *netlib +libmagma_devel: +- '2.9' libmagma_sparse: - '2.9' libprotobuf: - 6.31.1 libtorch: -- '2.7' -magma: - '2.9' mkl: - '2025' @@ -55,7 +55,7 @@ nccl: numpy: - '2' orc: -- 2.2.1 +- 2.2.2 pin_run_as_build: python: min_pin: x.x @@ -67,8 +67,9 @@ python: - 3.11.* *_cpython - 3.12.* *_cpython - 3.13.* *_cp313 +- 3.14.* *_cp314 pytorch: -- '2.7' +- '2.9' 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_c_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_version12.9github_actions_labelscirun-openstack-gpu-2xlargeis_rcFalse.yaml similarity index 93% rename from .ci_support/linux_aarch64_channel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml rename to .ci_support/linux_aarch64_c_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_version12.9github_actions_labelscirun-openstack-gpu-2xlargeis_rcFalse.yaml index f25102f27..be9c523b4 100644 --- a/.ci_support/linux_aarch64_channel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml +++ b/.ci_support/linux_aarch64_c_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_version12.9github_actions_labelscirun-openstack-gpu-2xlargeis_rcFalse.yaml @@ -16,8 +16,6 @@ cuda_compiler: - cuda-nvcc cuda_compiler_version: - '12.9' -cudnn: -- '9' cxx_compiler: - gxx cxx_compiler_version: @@ -36,15 +34,17 @@ libblas: - 3.9.* *netlib libcblas: - 3.9.* *netlib +libcudnn_dev: +- '9' liblapack: - 3.9.* *netlib +libmagma_devel: +- '2.9' libmagma_sparse: - '2.9' libprotobuf: - 6.31.1 libtorch: -- '2.7' -magma: - '2.9' mkl: - '2025' @@ -53,7 +53,7 @@ nccl: numpy: - '2' orc: -- 2.2.1 +- 2.2.2 pin_run_as_build: python: min_pin: x.x @@ -65,8 +65,9 @@ python: - 3.11.* *_cpython - 3.12.* *_cpython - 3.13.* *_cp313 +- 3.14.* *_cp314 pytorch: -- '2.7' +- '2.9' target_platform: - linux-aarch64 zip_keys: diff --git a/.ci_support/linux_aarch64_c_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_versionNonegithub_actions_labelscirun-openstack-cpu-xlargeis_rcFalse.yaml b/.ci_support/linux_aarch64_c_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_versionNonegithub_actions_labelscirun-openstack-cpu-xlargeis_rcFalse.yaml new file mode 100644 index 000000000..1cad89097 --- /dev/null +++ b/.ci_support/linux_aarch64_c_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_versionNonegithub_actions_labelscirun-openstack-cpu-xlargeis_rcFalse.yaml @@ -0,0 +1,81 @@ +blas_impl: +- generic +c_compiler: +- gcc +c_compiler_version: +- '13' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- None +cxx_compiler: +- gxx +cxx_compiler_version: +- '13' +docker_image: +- quay.io/condaforge/linux-anvil-x86_64:alma9 +fmt: +- '12.1' +github_actions_labels: +- cirun-openstack-cpu-xlarge +is_rc: +- 'False' +libabseil: +- '20250512' +libblas: +- 3.9.* *netlib +libcblas: +- 3.9.* *netlib +libcudnn_dev: +- '9' +liblapack: +- 3.9.* *netlib +libmagma_devel: +- '2.9' +libmagma_sparse: +- '2.9' +libprotobuf: +- 6.31.1 +libtorch: +- '2.9' +mkl: +- '2025' +nccl: +- '2' +numpy: +- '2' +orc: +- 2.2.2 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +pybind11_abi: +- '11' +python: +- 3.10.* *_cpython +- 3.11.* *_cpython +- 3.12.* *_cpython +- 3.13.* *_cp313 +- 3.14.* *_cp314 +pytorch: +- '2.9' +target_platform: +- linux-aarch64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - c_stdlib_version + - cuda_compiler_version +- - channel_targets + - is_rc +zlib: +- '1' diff --git a/.ci_support/linux_aarch64_channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml b/.ci_support/linux_aarch64_c_stdlib_version2.28channel_targetsconda-forge_maincuda_compiler_version13.0github_actions_labelscirun-openstack-gpu-2xlargeis_rcFalse.yaml similarity index 91% rename from .ci_support/linux_aarch64_channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml rename to .ci_support/linux_aarch64_c_stdlib_version2.28channel_targetsconda-forge_maincuda_compiler_version13.0github_actions_labelscirun-openstack-gpu-2xlargeis_rcFalse.yaml index 2cd6684f4..85f26993c 100644 --- a/.ci_support/linux_aarch64_channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml +++ b/.ci_support/linux_aarch64_c_stdlib_version2.28channel_targetsconda-forge_maincuda_compiler_version13.0github_actions_labelscirun-openstack-gpu-2xlargeis_rcFalse.yaml @@ -7,7 +7,7 @@ c_compiler_version: c_stdlib: - sysroot c_stdlib_version: -- '2.17' +- '2.28' channel_sources: - conda-forge channel_targets: @@ -15,9 +15,7 @@ channel_targets: cuda_compiler: - cuda-nvcc cuda_compiler_version: -- None -cudnn: -- '9' +- '13.0' cxx_compiler: - gxx cxx_compiler_version: @@ -36,15 +34,17 @@ libblas: - 3.9.* *netlib libcblas: - 3.9.* *netlib +libcudnn_dev: +- '9' liblapack: - 3.9.* *netlib +libmagma_devel: +- '2.9' libmagma_sparse: - '2.9' libprotobuf: - 6.31.1 libtorch: -- '2.7' -magma: - '2.9' mkl: - '2025' @@ -53,7 +53,7 @@ nccl: numpy: - '2' orc: -- 2.2.1 +- 2.2.2 pin_run_as_build: python: min_pin: x.x @@ -65,8 +65,9 @@ python: - 3.11.* *_cpython - 3.12.* *_cpython - 3.13.* *_cp313 +- 3.14.* *_cp314 pytorch: -- '2.7' +- '2.9' target_platform: - linux-aarch64 zip_keys: diff --git a/.ci_support/migrations/cuda130.yaml b/.ci_support/migrations/cuda130.yaml new file mode 100644 index 000000000..e280eed28 --- /dev/null +++ b/.ci_support/migrations/cuda130.yaml @@ -0,0 +1,65 @@ +migrator_ts: 1755016036 +__migrator: + operation: key_add + 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: + - 12.4 + - 12.6 + - 12.8 + - None + - 12.9 + - 13.0 + # to allow manual opt-in for CUDA 11.8, see + # https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/7472 + # must be last due to how cuda_compiler ordering in that migrator works + - 11.8 + wait_for_migrators: + - cuda129 + commit_message: | + Upgrade to CUDA 13.0 + + CUDA 13.0 requires architecture `sm_75` or higher, and renamed `sm_101` to + `sm_110`. To build for these, maintainers will need to modify their existing list of + specified architectures (e.g. `CMAKE_CUDA_ARCHITECTURES`, `TORCH_CUDA_ARCH_LIST`, etc.) + for their package. + + Since CUDA 12.8, the conda-forge nvcc package now sets `CUDAARCHS` and + in its activation script to a string containing all + of the supported real architectures plus the virtual architecture of the + latest. Recipes for packages who use these variables to control their build + but do not want to build for all supported architectures will need to override + these variables in their build script. + + ref: https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#new-features + + > [[!IMPORTANT]] + > Remember to update any CUDA 11/12 specific selector syntax in the recipe to include + > CUDA 13. For example `# [(cuda_compiler_version or "None").startswith("12")]` + > might be replaced with `# [cuda_compiler_version != "None"]`. + +cuda_compiler_version: # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 13.0 # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +c_stdlib_version: # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 2.28 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +# Compiler pinnings deviate from global migrator in order to honor pinnings in local conda_build_config for aarch64 +c_compiler_version: # [(linux and (x86_64 or aarch64)) 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 (x86_64 or aarch64)) 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 (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 14 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] diff --git a/.ci_support/migrations/mkl2025.yaml b/.ci_support/migrations/mkl2025.yaml deleted file mode 100644 index 9975d5713..000000000 --- a/.ci_support/migrations/mkl2025.yaml +++ /dev/null @@ -1,10 +0,0 @@ -__migrator: - build_number: 1 - commit_message: Rebuild for mkl 2025 - kind: version - migration_number: 1 -migrator_ts: 1731082955.2367358 -mkl: -- '2025' -mkl_devel: -- '2025' diff --git a/.ci_support/migrations/python314.yaml b/.ci_support/migrations/python314.yaml new file mode 100644 index 000000000..36ec6b413 --- /dev/null +++ b/.ci_support/migrations/python314.yaml @@ -0,0 +1,43 @@ +# this is intentionally sorted before the 3.13t migrator, because that determines +# the order of application of the migrators; otherwise we'd have to add values for +# is_freethreading and is_abi3 keys here, since that migration extends the zip; +migrator_ts: 1724712607 +__migrator: + commit_message: Rebuild for python 3.14 + migration_number: 1 + operation: key_add + primary_key: python + ordering: + python: + - 3.9.* *_cpython + - 3.10.* *_cpython + - 3.11.* *_cpython + - 3.12.* *_cpython + - 3.13.* *_cp313 + - 3.13.* *_cp313t + - 3.14.* *_cp314 # new entry + paused: false + longterm: true + pr_limit: 5 + 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 + exclude_pinned_pkgs: false + ignored_deps_per_node: + matplotlib: + - pyqt + additional_zip_keys: + - channel_sources + +python: +- 3.14.* *_cp314 +# additional entries to add for zip_keys +is_python_min: +- false +channel_sources: +- conda-forge,conda-forge/label/python_rc diff --git a/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalse.yaml b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalse.yaml index d7641c86c..d1731f6a8 100644 --- a/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalse.yaml +++ b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalse.yaml @@ -36,14 +36,18 @@ libblas: - 3.9.* *netlib libcblas: - 3.9.* *netlib +libcudnn_dev: +- '9' liblapack: - 3.9.* *netlib +libmagma_devel: +- '2.9' libmagma_sparse: - '2.9' libprotobuf: - 6.31.1 libtorch: -- '2.7' +- '2.9' llvm_openmp: - '19' macos_machine: @@ -55,7 +59,7 @@ mkl_devel: numpy: - '2' orc: -- 2.2.1 +- 2.2.2 pin_run_as_build: python: min_pin: x.x @@ -67,8 +71,9 @@ python: - 3.11.* *_cpython - 3.12.* *_cpython - 3.13.* *_cp313 +- 3.14.* *_cp314 pytorch: -- '2.7' +- '2.9' target_platform: - osx-64 zip_keys: diff --git a/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalse.yaml b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalse.yaml index 61cdf0aa6..8af35f1a6 100644 --- a/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalse.yaml +++ b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalse.yaml @@ -36,14 +36,18 @@ libblas: - 3.9.* *netlib libcblas: - 3.9.* *netlib +libcudnn_dev: +- '9' liblapack: - 3.9.* *netlib +libmagma_devel: +- '2.9' libmagma_sparse: - '2.9' libprotobuf: - 6.31.1 libtorch: -- '2.7' +- '2.9' llvm_openmp: - '19' macos_machine: @@ -55,7 +59,7 @@ mkl_devel: numpy: - '2' orc: -- 2.2.1 +- 2.2.2 pin_run_as_build: python: min_pin: x.x @@ -67,8 +71,9 @@ python: - 3.11.* *_cpython - 3.12.* *_cpython - 3.13.* *_cp313 +- 3.14.* *_cp314 pytorch: -- '2.7' +- '2.9' target_platform: - osx-64 zip_keys: diff --git a/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalse.yaml b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalse.yaml index c8188ea68..ccb3ff9f0 100644 --- a/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalse.yaml +++ b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalse.yaml @@ -36,14 +36,18 @@ libblas: - 3.9.* *netlib libcblas: - 3.9.* *netlib +libcudnn_dev: +- '9' liblapack: - 3.9.* *netlib +libmagma_devel: +- '2.9' libmagma_sparse: - '2.9' libprotobuf: - 6.31.1 libtorch: -- '2.7' +- '2.9' llvm_openmp: - '19' macos_machine: @@ -53,7 +57,7 @@ mkl: numpy: - '2' orc: -- 2.2.1 +- 2.2.2 pin_run_as_build: python: min_pin: x.x @@ -65,8 +69,9 @@ python: - 3.11.* *_cpython - 3.12.* *_cpython - 3.13.* *_cp313 +- 3.14.* *_cp314 pytorch: -- '2.7' +- '2.9' 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 9d3fe548e..6d035c4db 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 @@ -12,8 +12,6 @@ cuda_compiler: - cuda-nvcc cuda_compiler_version: - '12.8' -cudnn: -- '9' cxx_compiler: - vs2022 fmt: @@ -24,12 +22,16 @@ is_rc: - 'False' libabseil: - '20250512' +libcudnn_dev: +- '9' +libmagma_devel: +- '2.9' libmagma_sparse: - '2.9' libprotobuf: - 6.31.1 libtorch: -- '2.7' +- '2.9' magma: - '2.9' mkl: @@ -39,7 +41,7 @@ mkl_devel: numpy: - '2' orc: -- 2.2.1 +- 2.2.2 pin_run_as_build: python: min_pin: x.x @@ -51,8 +53,9 @@ python: - 3.11.* *_cpython - 3.12.* *_cpython - 3.13.* *_cp313 +- 3.14.* *_cp314 pytorch: -- '2.7' +- '2.9' target_platform: - win-64 zip_keys: diff --git a/.ci_support/win_64_channel_targetsconda-forge_maincuda_compiler_version13.0is_rcFalse.yaml b/.ci_support/win_64_channel_targetsconda-forge_maincuda_compiler_version13.0is_rcFalse.yaml new file mode 100644 index 000000000..112748fa4 --- /dev/null +++ b/.ci_support/win_64_channel_targetsconda-forge_maincuda_compiler_version13.0is_rcFalse.yaml @@ -0,0 +1,65 @@ +blas_impl: +- mkl +c_compiler: +- vs2022 +c_stdlib: +- vs +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- '13.0' +cxx_compiler: +- vs2022 +fmt: +- '12.1' +github_actions_labels: +- cirun-azure-windows-4xlarge +is_rc: +- 'False' +libabseil: +- '20250512' +libcudnn_dev: +- '9' +libmagma_devel: +- '2.9' +libmagma_sparse: +- '2.9' +libprotobuf: +- 6.31.1 +libtorch: +- '2.9' +magma: +- '2.9' +mkl: +- '2025' +mkl_devel: +- '2025' +numpy: +- '2' +orc: +- 2.2.2 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +pybind11_abi: +- '11' +python: +- 3.10.* *_cpython +- 3.11.* *_cpython +- 3.12.* *_cpython +- 3.13.* *_cp313 +- 3.14.* *_cp314 +pytorch: +- '2.9' +target_platform: +- win-64 +zip_keys: +- - channel_targets + - is_rc +zlib: +- '1' 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 f0dc0d666..544015555 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 @@ -12,8 +12,6 @@ cuda_compiler: - cuda-nvcc cuda_compiler_version: - None -cudnn: -- '9' cxx_compiler: - vs2022 fmt: @@ -24,12 +22,16 @@ is_rc: - 'False' libabseil: - '20250512' +libcudnn_dev: +- '9' +libmagma_devel: +- '2.9' libmagma_sparse: - '2.9' libprotobuf: - 6.31.1 libtorch: -- '2.7' +- '2.9' magma: - '2.9' mkl: @@ -39,7 +41,7 @@ mkl_devel: numpy: - '2' orc: -- 2.2.1 +- 2.2.2 pin_run_as_build: python: min_pin: x.x @@ -51,8 +53,9 @@ python: - 3.11.* *_cpython - 3.12.* *_cpython - 3.13.* *_cp313 +- 3.14.* *_cp314 pytorch: -- '2.7' +- '2.9' target_platform: - win-64 zip_keys: diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml index ea4e0228b..72bac5665 100644 --- a/.github/workflows/conda-build.yml +++ b/.github/workflows/conda-build.yml @@ -21,46 +21,64 @@ jobs: fail-fast: false matrix: include: - - CONFIG: linux_64_blas_implgenericchannel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse - SHORT_CONFIG: linux_64_blas_implgenericchannel_targets_h71a96c7d + - CONFIG: linux_64_blas_implgenericc_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_version12.9github_actions_labelscirun-openstack-gpu-2xlargeis_rcFalse + SHORT_CONFIG: linux_64_blas_implgenericc_stdlib_versio_h404bdc8f UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_64_blas_implgenericchannel_targets_h71a96c7d', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_64_blas_implgenericc_stdlib_versio_h404bdc8f', '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_implgenericchannel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse - SHORT_CONFIG: linux_64_blas_implgenericchannel_targets_h17c608a0 + - CONFIG: linux_64_blas_implgenericc_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_versionNonegithub_actions_labelscirun-openstack-cpu-xlargeis_rcFalse + SHORT_CONFIG: linux_64_blas_implgenericc_stdlib_versio_hf19b8591 UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_64_blas_implgenericchannel_targets_h17c608a0', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-xlarge--${{ github.run_id }}-linux_64_blas_implgenericc_stdlib_versio_hf19b8591', 'linux', 'x64', 'self-hosted'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_64_blas_implgenericc_stdlib_version2.28channel_targetsconda-forge_maincuda_compiler_version13.0github_actions_labelscirun-openstack-gpu-2xlargeis_rcFalse + SHORT_CONFIG: linux_64_blas_implgenericc_stdlib_versio_h139667b8 + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_64_blas_implgenericc_stdlib_versio_h139667b8', '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_implmklchannel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse - SHORT_CONFIG: linux_64_blas_implmklchannel_targetscond_h5b18f8bc + - CONFIG: linux_64_blas_implmklc_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_version12.9github_actions_labelscirun-openstack-gpu-2xlargeis_rcFalse + SHORT_CONFIG: linux_64_blas_implmklc_stdlib_version2.1_hcfd1fbb5 UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_64_blas_implmklchannel_targetscond_h5b18f8bc', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_64_blas_implmklc_stdlib_version2.1_hcfd1fbb5', '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_implmklchannel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse - SHORT_CONFIG: linux_64_blas_implmklchannel_targetscond_h38f93959 + - CONFIG: linux_64_blas_implmklc_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_versionNonegithub_actions_labelscirun-openstack-cpu-xlargeis_rcFalse + SHORT_CONFIG: linux_64_blas_implmklc_stdlib_version2.1_h2c83be21 + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['cirun-openstack-cpu-xlarge--${{ github.run_id }}-linux_64_blas_implmklc_stdlib_version2.1_h2c83be21', 'linux', 'x64', 'self-hosted'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_64_blas_implmklc_stdlib_version2.28channel_targetsconda-forge_maincuda_compiler_version13.0github_actions_labelscirun-openstack-gpu-2xlargeis_rcFalse + SHORT_CONFIG: linux_64_blas_implmklc_stdlib_version2.2_ha4aa5d9c UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_64_blas_implmklchannel_targetscond_h38f93959', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_64_blas_implmklc_stdlib_version2.2_ha4aa5d9c', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 CONDA_FORGE_DOCKER_RUN_ARGS: "--gpus all" - - CONFIG: linux_aarch64_channel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse - SHORT_CONFIG: linux_aarch64_channel_targetsconda-forge_heefc8d83 + - CONFIG: linux_aarch64_c_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_version12.9github_actions_labelscirun-openstack-gpu-2xlargeis_rcFalse + SHORT_CONFIG: linux_aarch64_c_stdlib_version2.17channe_h7b39afa9 UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_aarch64_channel_targetsconda-forge_heefc8d83', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_aarch64_c_stdlib_version2.17channe_h7b39afa9', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 CONDA_FORGE_DOCKER_RUN_ARGS: "--gpus all" - - CONFIG: linux_aarch64_channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse - SHORT_CONFIG: linux_aarch64_channel_targetsconda-forge_h56c2c839 + - CONFIG: linux_aarch64_c_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_versionNonegithub_actions_labelscirun-openstack-cpu-xlargeis_rcFalse + SHORT_CONFIG: linux_aarch64_c_stdlib_version2.17channe_hbde90b87 UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_aarch64_channel_targetsconda-forge_h56c2c839', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-xlarge--${{ github.run_id }}-linux_aarch64_c_stdlib_version2.17channe_hbde90b87', 'linux', 'x64', 'self-hosted'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_aarch64_c_stdlib_version2.28channel_targetsconda-forge_maincuda_compiler_version13.0github_actions_labelscirun-openstack-gpu-2xlargeis_rcFalse + SHORT_CONFIG: linux_aarch64_c_stdlib_version2.28channe_h4c53fe26 + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_aarch64_c_stdlib_version2.28channe_h4c53fe26', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 CONDA_FORGE_DOCKER_RUN_ARGS: "--gpus all" - CONFIG: osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalse @@ -83,6 +101,11 @@ jobs: UPLOAD_PACKAGES: True os: windows runs_on: ['cirun-azure-windows-4xlarge--${{ github.run_id }}-win_64_channel_targetsconda-forge_maincu_hca575dce', 'windows', 'x64', 'self-hosted'] + - CONFIG: win_64_channel_targetsconda-forge_maincuda_compiler_version13.0is_rcFalse + SHORT_CONFIG: win_64_channel_targetsconda-forge_maincu_h28fca69f + UPLOAD_PACKAGES: True + os: windows + runs_on: ['cirun-azure-windows-4xlarge--${{ github.run_id }}-win_64_channel_targetsconda-forge_maincu_h28fca69f', '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 diff --git a/recipe/bld.bat b/recipe/bld.bat index 5124f7a9f..6d217730c 100644 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -93,12 +93,19 @@ if not "%cuda_compiler_version%" == "None" ( set USE_NCCL=0 set USE_STATIC_NCCL=0 - @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;7.0;7.5;8.0;8.6;9.0;10.0;12.0+PTX" set "TORCH_NVCC_FLAGS=-Xfatbin -compress-all" + if "%cuda_compiler_version:~0,2%"=="12" ( + set "TORCH_CUDA_ARCH_LIST=5.0;6.0;7.0;7.5;8.0;8.6;9.0;10.0;12.0+PTX" + ) else if "%cuda_compiler_version%" == "13.0" ( + set "TORCH_CUDA_ARCH_LIST=7.5;8.0;8.6;9.0;10.0;11.0;12.0+PTX" + REM c.f. https://github.com/pytorch/pytorch/pull/161316 + set "TORCH_NVCC_FLAGS=!TORCH_NVCC_FLAGS! -compress-mode=size" + ) else ( + echo "unsupported cuda version. edit build_pytorch.bat" + exit /b 1 + ) + set MAGMA_HOME=%LIBRARY_PREFIX% set "PATH=%CUDA_BIN_PATH%;%PATH%" set CUDNN_INCLUDE_DIR=%LIBRARY_PREFIX%\include diff --git a/recipe/build.sh b/recipe/build.sh index fde7fe80a..ca502d559 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -212,6 +212,8 @@ elif [[ ${cuda_compiler_version} != "None" ]]; then export CUDAToolkit_TARGET_DIR=${PREFIX}/targets/${CUDA_TARGET} sed -i -e "s,@CUDA_TARGET@,${CUDA_TARGET}," torch/_inductor/cpp_builder.py + export TORCH_NVCC_FLAGS="-Xfatbin -compress-all" + # Compatibility matrix for update: https://en.wikipedia.org/wiki/CUDA#GPUs_supported # Warning from pytorch v1.12.1: In the future we will require one to # explicitly pass TORCH_CUDA_ARCH_LIST to cmake instead of implicitly @@ -227,11 +229,16 @@ elif [[ ${cuda_compiler_version} != "None" ]]; then 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" ;; + 13.0) + export TORCH_CUDA_ARCH_LIST="7.5;8.0;8.6;9.0;10.0;11.0;12.0+PTX" + # c.f. https://github.com/pytorch/pytorch/pull/161316 + export TORCH_NVCC_FLAGS="$TORCH_NVCC_FLAGS -compress-mode=size" + ;; *) echo "No CUDA architecture list exists for CUDA v${cuda_compiler_version}. See build.sh for information on adding one." exit 1 esac - export TORCH_NVCC_FLAGS="-Xfatbin -compress-all" + export NCCL_ROOT_DIR=$PREFIX export NCCL_INCLUDE_DIR=$PREFIX/include export USE_SYSTEM_NCCL=1 diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index 1ce6c8f1f..0b1161e40 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -27,6 +27,7 @@ blas_impl: # https://github.com/conda-forge/.cirun github_actions_labels: +- cirun-openstack-cpu-xlarge # [linux] - cirun-openstack-gpu-2xlarge # [linux] - cirun-macos-m4-large # [osx] - cirun-azure-windows-4xlarge # [win] diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 51af0db04..07d8b87bb 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.10.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 @@ -16,7 +16,7 @@ # see https://github.com/pytorch/pytorch/blame/v{{ version }}/.ci/docker/ci_commit_pins/triton.txt # pytorch and triton are released in tandem, see notes in their release process # https://github.com/pytorch/pytorch/blob/main/RELEASE.md#triton-dependency-for-the-release -{% set triton = "3.5.1" %} +{% set triton = "3.6.0" %} package: name: libtorch @@ -54,6 +54,8 @@ source: # backport https://github.com/pytorch/pytorch/pull/159828 - patches/0014-Attempt-to-fix-torch.backends.cudnn.rnn-import.patch - patches/0015-Use-Intel-LLVM-openmp.patch + # continued $PREFIX/include headers + - patches/0016-Fix-TorchConfig.cmake.in-to-account-for-different-in.patch - patches_submodules/tensorpipe/0001-switch-away-from-find_package-CUDA.patch build: @@ -66,9 +68,20 @@ build: {% else %} skip: true # [is_rc] {% endif %} + # CUDA builds on GPU agents, non-CUDA builds on CPU agents; c.f. + # https://github.com/conda-forge/conda-smithy/pull/2434; the skip could be avoided + # using https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/6910 + # (plus a mechanism similar to CF_CUDA_ENABLED, preliminarily called CF_SELF_HOSTED). + # condition needs to be on a single line for conda-build to catch used variables + {% if (cuda_compiler_version == "None" and "gpu" in github_actions_labels) or (cuda_compiler_version != "None" and "cpu" in github_actions_labels) %} + skip: true + {% endif %} string: cuda{{ cuda_compiler_version | replace('.', '') }}_{{ blas_impl }}_h{{ PKG_HASH }}_{{ build }} # [cuda_compiler_version != "None"] string: cpu_{{ blas_impl }}_h{{ PKG_HASH }}_{{ build }} # [cuda_compiler_version == "None"] detect_binary_files_with_prefix: false + missing_dso_whitelist: + - '*/libcuda.so.*' # [linux] + - '*/nvcuda.dll' # [win] run_exports: - {{ pin_subpackage('libtorch', max_pin='x.x') }} ignore_run_exports_from: @@ -106,27 +119,29 @@ requirements: - rsync # [unix] host: # GPU requirements - - cudnn # [cuda_compiler_version != "None"] - - nccl # [cuda_compiler_version != "None" and linux] - - magma # [cuda_compiler_version != "None"] - - cuda-version {{ cuda_compiler_version }} # [cuda_compiler_version != "None"] - - nvtx-c # [cuda_compiler_version != "None"] {% if cuda_compiler_version != "None" %} - - cuda-driver-dev # [linux] - cuda-cudart-dev - cuda-cupti-dev + - cuda-driver-dev # [linux] + - cuda-nvml-dev - cuda-nvrtc-dev - cuda-nvtx-dev - - cuda-nvml-dev - cuda-profiler-api + - cuda-version {{ cuda_compiler_version }} - cusparselt - libcublas-dev + - libcudnn-dev - libcudss-dev - - libcufile-dev # [linux] + - libcufile-dev # [linux] - libcufft-dev - libcurand-dev - libcusolver-dev - libcusparse-dev + - libmagma-devel # [cuda_compiler_version != "12.8"] + # cannot (yet) use libmagma-devel due to https://github.com/conda-forge/libmagma-feedstock/issues/32 + - magma # [cuda_compiler_version == "12.8"] + - nccl # [linux] + - nvtx-c {% endif %} # other requirements - python 3.12 @@ -249,28 +264,29 @@ outputs: host: - {{ pin_subpackage('libtorch', exact=True) }} # GPU requirements - - cudnn # [cuda_compiler_version != "None"] - - nccl # [cuda_compiler_version != "None" and linux] - - cuda-version {{ cuda_compiler_version }} # [cuda_compiler_version != "None"] - - nvtx-c # [cuda_compiler_version != "None"] - # cannot (yet) use libmagma-devel due to https://github.com/conda-forge/libmagma-feedstock/issues/32 - - magma # [cuda_compiler_version != "None"] {% if cuda_compiler_version != "None" %} - - cuda-driver-dev # [linux] - cuda-cudart-dev - cuda-cupti-dev + - cuda-driver-dev # [linux] + - cuda-nvml-dev - cuda-nvrtc-dev - cuda-nvtx-dev - - cuda-nvml-dev - cuda-profiler-api + - cuda-version {{ cuda_compiler_version }} - cusparselt - libcublas-dev + - libcudnn-dev - libcudss-dev - - libcufile-dev # [linux] + - libcufile-dev # [linux] - libcufft-dev - libcurand-dev - libcusolver-dev - libcusparse-dev + - libmagma-devel # [cuda_compiler_version != "12.8"] + # cannot (yet) use libmagma-devel due to https://github.com/conda-forge/libmagma-feedstock/issues/32 + - magma # [cuda_compiler_version == "12.8"] + - nccl # [linux] + - nvtx-c {% endif %} # other requirements - python @@ -516,7 +532,11 @@ outputs: {% set jobs = "-n 1" %} # [linux64 and cuda_compiler_version != "None"] # test only one python version on aarch because emulation is super-slow; # disable hypothesis because it randomly yields health check errors + + # the opengpu server has a card with sm_70, an architecture dropped by CUDA 13.0 + {% if (cuda_compiler_version or "0").split(".")[0]|int < 13 %} - pytest {{ jobs }} {{ tests }} -k "not ({{ skips }})" -m "not hypothesis" --durations=50 --timeout=1200 --disable-warnings # [not aarch64 or py==312] + {% endif %} # regression test for https://github.com/conda-forge/pytorch-cpu-feedstock/issues/329, where we picked up # duplicate `.pyc` files due to newest py-ver (3.13) in the build environment not matching the one in host; @@ -526,8 +546,16 @@ outputs: # test integrity of CMake metadata and ensure that THPLayoutType is visible as a symbol from libtorch_python - cd cmake_test - - cmake -GNinja -DCMAKE_CXX_STANDARD=17 -DWITH_TORCH_PYTHON=ON $CMAKE_ARGS . # [unix] - - cmake -GNinja -DCMAKE_CXX_STANDARD=17 -DWITH_TORCH_PYTHON=ON %CMAKE_ARGS% . # [win] + - mkdir build build2 + - cd build + - cmake -GNinja -DCMAKE_CXX_STANDARD=17 -DWITH_TORCH_PYTHON=ON $CMAKE_ARGS .. # [unix] + - cmake -GNinja -DCMAKE_CXX_STANDARD=17 -DWITH_TORCH_PYTHON=ON %CMAKE_ARGS% .. # [win] + - cmake --build . # [unix] + - cmake --build . --config Release # [win] + - cd ../build2 + # regression test for https://github.com/conda-forge/pytorch-cpu-feedstock/issues/479 + - cmake -GNinja -DCMAKE_CXX_STANDARD=17 -DWITH_TORCH_PYTHON=ON -DTorch_DIR=$SP_DIR/torch/share/cmake/Torch $CMAKE_ARGS .. # [unix] + - cmake -GNinja -DCMAKE_CXX_STANDARD=17 -DWITH_TORCH_PYTHON=ON -DTorch_DIR=%SP_DIR%/torch/share/cmake/Torch %CMAKE_ARGS% .. # [win] - cmake --build . # [unix] - cmake --build . --config Release # [win] diff --git a/recipe/patches/0016-Fix-TorchConfig.cmake.in-to-account-for-different-in.patch b/recipe/patches/0016-Fix-TorchConfig.cmake.in-to-account-for-different-in.patch new file mode 100644 index 000000000..4ef5c3b90 --- /dev/null +++ b/recipe/patches/0016-Fix-TorchConfig.cmake.in-to-account-for-different-in.patch @@ -0,0 +1,42 @@ +From 1d2b8bdebd64b3a7027a6f14b19ba481a6f6342d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +Date: Tue, 27 Jan 2026 19:31:46 +0100 +Subject: [PATCH 16/16] Fix TorchConfig.cmake.in to account for different + include dirs +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Update the include logic to detect whether it's dealing with the include +directory in site-packages or the top-level include directory, and set +the paths appropriately. In the former case, we need to reference +`torch/csrc/api/include` from the top-level include directory. + +Signed-off-by: Michał Górny +--- + cmake/TorchConfig.cmake.in | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/cmake/TorchConfig.cmake.in b/cmake/TorchConfig.cmake.in +index 471b7154ed0..22c879f6d56 100644 +--- a/cmake/TorchConfig.cmake.in ++++ b/cmake/TorchConfig.cmake.in +@@ -53,14 +53,15 @@ else() + endif() + + # Include directories. +-if(EXISTS "${TORCH_INSTALL_PREFIX}/include") ++if(EXISTS "${TORCH_INSTALL_PREFIX}/include/torch/csrc/api/include") ++ # top-level include directory + set(TORCH_INCLUDE_DIRS +- ${TORCH_INSTALL_PREFIX}/include + ${TORCH_INSTALL_PREFIX}/include/torch/csrc/api/include) + else() ++ # site-packages include directory + set(TORCH_INCLUDE_DIRS + ${TORCH_INSTALL_PREFIX}/include +- ${TORCH_INSTALL_PREFIX}/include/torch/csrc/api/include) ++ ${TORCH_INSTALL_PREFIX}/../../../../include/torch/csrc/api/include) + endif() + + # Library dependencies.