diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 635118b8..bcfc9f37 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -8,50 +8,50 @@ jobs: vmImage: macOS-13 strategy: matrix: - osx_64_blas_implgenericnumpy2.0python3.10.____cpython: - CONFIG: osx_64_blas_implgenericnumpy2.0python3.10.____cpython + osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython: + CONFIG: osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython UPLOAD_PACKAGES: 'True' - osx_64_blas_implgenericnumpy2.0python3.11.____cpython: - CONFIG: osx_64_blas_implgenericnumpy2.0python3.11.____cpython + osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython: + CONFIG: osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython UPLOAD_PACKAGES: 'True' - osx_64_blas_implgenericnumpy2.0python3.12.____cpython: - CONFIG: osx_64_blas_implgenericnumpy2.0python3.12.____cpython + osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython: + CONFIG: osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython UPLOAD_PACKAGES: 'True' - osx_64_blas_implgenericnumpy2.0python3.9.____cpython: - CONFIG: osx_64_blas_implgenericnumpy2.0python3.9.____cpython + osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython: + CONFIG: osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython UPLOAD_PACKAGES: 'True' - osx_64_blas_implgenericnumpy2python3.13.____cp313: - CONFIG: osx_64_blas_implgenericnumpy2python3.13.____cp313 + osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313: + CONFIG: osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313 UPLOAD_PACKAGES: 'True' - osx_64_blas_implmklnumpy2.0python3.10.____cpython: - CONFIG: osx_64_blas_implmklnumpy2.0python3.10.____cpython + osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython: + CONFIG: osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython UPLOAD_PACKAGES: 'True' - osx_64_blas_implmklnumpy2.0python3.11.____cpython: - CONFIG: osx_64_blas_implmklnumpy2.0python3.11.____cpython + osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython: + CONFIG: osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython UPLOAD_PACKAGES: 'True' - osx_64_blas_implmklnumpy2.0python3.12.____cpython: - CONFIG: osx_64_blas_implmklnumpy2.0python3.12.____cpython + osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython: + CONFIG: osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython UPLOAD_PACKAGES: 'True' - osx_64_blas_implmklnumpy2.0python3.9.____cpython: - CONFIG: osx_64_blas_implmklnumpy2.0python3.9.____cpython + osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython: + CONFIG: osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython UPLOAD_PACKAGES: 'True' - osx_64_blas_implmklnumpy2python3.13.____cp313: - CONFIG: osx_64_blas_implmklnumpy2python3.13.____cp313 + osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313: + CONFIG: osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313 UPLOAD_PACKAGES: 'True' - osx_arm64_numpy2.0python3.10.____cpython: - CONFIG: osx_arm64_numpy2.0python3.10.____cpython + osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython: + CONFIG: osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython UPLOAD_PACKAGES: 'True' - osx_arm64_numpy2.0python3.11.____cpython: - CONFIG: osx_arm64_numpy2.0python3.11.____cpython + osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython: + CONFIG: osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython UPLOAD_PACKAGES: 'True' - osx_arm64_numpy2.0python3.12.____cpython: - CONFIG: osx_arm64_numpy2.0python3.12.____cpython + osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython: + CONFIG: osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython UPLOAD_PACKAGES: 'True' - osx_arm64_numpy2.0python3.9.____cpython: - CONFIG: osx_arm64_numpy2.0python3.9.____cpython + osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython: + CONFIG: osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython UPLOAD_PACKAGES: 'True' - osx_arm64_numpy2python3.13.____cp313: - CONFIG: osx_arm64_numpy2python3.13.____cp313 + osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313: + CONFIG: osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313 UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 variables: {} diff --git a/.ci_support/linux_64_blas_implgenericc_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13.yaml b/.ci_support/linux_64_blas_implgenericc_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse.yaml similarity index 93% rename from .ci_support/linux_64_blas_implgenericc_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13.yaml rename to .ci_support/linux_64_blas_implgenericc_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse.yaml index 62fc7431..45418ed9 100644 --- a/.ci_support/linux_64_blas_implgenericc_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13.yaml +++ b/.ci_support/linux_64_blas_implgenericc_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse.yaml @@ -28,8 +28,12 @@ docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 github_actions_labels: - cirun-openstack-gpu-2xlarge +is_rc: +- 'False' libabseil: - '20240722' +libblas: +- 3.9 *netlib libcblas: - 3.9 *netlib liblapack: @@ -70,5 +74,7 @@ zip_keys: - cuda_compiler - cuda_compiler_version - docker_image +- - channel_targets + - is_rc - - python - numpy diff --git a/.ci_support/linux_64_blas_implgenericc_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13.yaml b/.ci_support/linux_64_blas_implgenericc_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalse.yaml similarity index 93% rename from .ci_support/linux_64_blas_implgenericc_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13.yaml rename to .ci_support/linux_64_blas_implgenericc_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalse.yaml index a86e20a3..18215614 100644 --- a/.ci_support/linux_64_blas_implgenericc_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13.yaml +++ b/.ci_support/linux_64_blas_implgenericc_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalse.yaml @@ -28,8 +28,12 @@ docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 github_actions_labels: - cirun-openstack-gpu-2xlarge +is_rc: +- 'False' libabseil: - '20240722' +libblas: +- 3.9 *netlib libcblas: - 3.9 *netlib liblapack: @@ -70,5 +74,7 @@ zip_keys: - cuda_compiler - cuda_compiler_version - docker_image +- - channel_targets + - is_rc - - python - numpy diff --git a/.ci_support/linux_64_blas_implmklc_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13.yaml b/.ci_support/linux_64_blas_implmklc_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse.yaml similarity index 93% rename from .ci_support/linux_64_blas_implmklc_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13.yaml rename to .ci_support/linux_64_blas_implmklc_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse.yaml index 740788e0..77351ad7 100644 --- a/.ci_support/linux_64_blas_implmklc_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13.yaml +++ b/.ci_support/linux_64_blas_implmklc_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse.yaml @@ -28,8 +28,12 @@ docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 github_actions_labels: - cirun-openstack-gpu-2xlarge +is_rc: +- 'False' libabseil: - '20240722' +libblas: +- 3.9 *netlib libcblas: - 3.9 *netlib liblapack: @@ -70,5 +74,7 @@ zip_keys: - cuda_compiler - cuda_compiler_version - docker_image +- - channel_targets + - is_rc - - python - numpy diff --git a/.ci_support/linux_64_blas_implmklc_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13.yaml b/.ci_support/linux_64_blas_implmklc_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalse.yaml similarity index 93% rename from .ci_support/linux_64_blas_implmklc_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13.yaml rename to .ci_support/linux_64_blas_implmklc_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalse.yaml index 8583713e..aa913c62 100644 --- a/.ci_support/linux_64_blas_implmklc_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13.yaml +++ b/.ci_support/linux_64_blas_implmklc_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalse.yaml @@ -28,8 +28,12 @@ docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 github_actions_labels: - cirun-openstack-gpu-2xlarge +is_rc: +- 'False' libabseil: - '20240722' +libblas: +- 3.9 *netlib libcblas: - 3.9 *netlib liblapack: @@ -70,5 +74,7 @@ zip_keys: - cuda_compiler - cuda_compiler_version - docker_image +- - channel_targets + - is_rc - - python - numpy diff --git a/.ci_support/linux_aarch64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13.yaml b/.ci_support/linux_aarch64_c_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse.yaml similarity index 93% rename from .ci_support/linux_aarch64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13.yaml rename to .ci_support/linux_aarch64_c_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse.yaml index be0b8294..d4635f05 100644 --- a/.ci_support/linux_aarch64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13.yaml +++ b/.ci_support/linux_aarch64_c_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse.yaml @@ -28,8 +28,12 @@ docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 github_actions_labels: - cirun-openstack-gpu-2xlarge +is_rc: +- 'False' libabseil: - '20240722' +libblas: +- 3.9 *netlib libcblas: - 3.9 *netlib liblapack: @@ -70,5 +74,7 @@ zip_keys: - cuda_compiler - cuda_compiler_version - docker_image +- - channel_targets + - is_rc - - python - numpy diff --git a/.ci_support/linux_aarch64_c_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13.yaml b/.ci_support/linux_aarch64_c_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalse.yaml similarity index 93% rename from .ci_support/linux_aarch64_c_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13.yaml rename to .ci_support/linux_aarch64_c_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalse.yaml index 6319cc58..a7d7b659 100644 --- a/.ci_support/linux_aarch64_c_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13.yaml +++ b/.ci_support/linux_aarch64_c_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalse.yaml @@ -28,8 +28,12 @@ docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 github_actions_labels: - cirun-openstack-gpu-2xlarge +is_rc: +- 'False' libabseil: - '20240722' +libblas: +- 3.9 *netlib libcblas: - 3.9 *netlib liblapack: @@ -70,5 +74,7 @@ zip_keys: - cuda_compiler - cuda_compiler_version - docker_image +- - channel_targets + - is_rc - - python - numpy diff --git a/.ci_support/osx_64_blas_implgenericnumpy2.0python3.10.____cpython.yaml b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython.yaml similarity index 92% rename from .ci_support/osx_64_blas_implgenericnumpy2.0python3.10.____cpython.yaml rename to .ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython.yaml index 56bcdea7..66656f42 100644 --- a/.ci_support/osx_64_blas_implgenericnumpy2.0python3.10.____cpython.yaml +++ b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython.yaml @@ -24,8 +24,12 @@ cxx_compiler: - clangxx cxx_compiler_version: - '18' +is_rc: +- 'False' libabseil: - '20240722' +libblas: +- 3.9 *netlib libcblas: - 3.9 *netlib liblapack: @@ -57,5 +61,7 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - channel_targets + - is_rc - - python - numpy diff --git a/.ci_support/osx_64_blas_implgenericnumpy2.0python3.11.____cpython.yaml b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython.yaml similarity index 92% rename from .ci_support/osx_64_blas_implgenericnumpy2.0python3.11.____cpython.yaml rename to .ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython.yaml index 690b6c4c..04aefc77 100644 --- a/.ci_support/osx_64_blas_implgenericnumpy2.0python3.11.____cpython.yaml +++ b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython.yaml @@ -24,8 +24,12 @@ cxx_compiler: - clangxx cxx_compiler_version: - '18' +is_rc: +- 'False' libabseil: - '20240722' +libblas: +- 3.9 *netlib libcblas: - 3.9 *netlib liblapack: @@ -57,5 +61,7 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - channel_targets + - is_rc - - python - numpy diff --git a/.ci_support/osx_64_blas_implgenericnumpy2.0python3.12.____cpython.yaml b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython.yaml similarity index 92% rename from .ci_support/osx_64_blas_implgenericnumpy2.0python3.12.____cpython.yaml rename to .ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython.yaml index 6b011ee8..cbbe6612 100644 --- a/.ci_support/osx_64_blas_implgenericnumpy2.0python3.12.____cpython.yaml +++ b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython.yaml @@ -24,8 +24,12 @@ cxx_compiler: - clangxx cxx_compiler_version: - '18' +is_rc: +- 'False' libabseil: - '20240722' +libblas: +- 3.9 *netlib libcblas: - 3.9 *netlib liblapack: @@ -57,5 +61,7 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - channel_targets + - is_rc - - python - numpy diff --git a/.ci_support/osx_64_blas_implgenericnumpy2.0python3.9.____cpython.yaml b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython.yaml similarity index 92% rename from .ci_support/osx_64_blas_implgenericnumpy2.0python3.9.____cpython.yaml rename to .ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython.yaml index f58ea649..02a4aa43 100644 --- a/.ci_support/osx_64_blas_implgenericnumpy2.0python3.9.____cpython.yaml +++ b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython.yaml @@ -24,8 +24,12 @@ cxx_compiler: - clangxx cxx_compiler_version: - '18' +is_rc: +- 'False' libabseil: - '20240722' +libblas: +- 3.9 *netlib libcblas: - 3.9 *netlib liblapack: @@ -57,5 +61,7 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - channel_targets + - is_rc - - python - numpy diff --git a/.ci_support/osx_64_blas_implgenericnumpy2python3.13.____cp313.yaml b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313.yaml similarity index 91% rename from .ci_support/osx_64_blas_implgenericnumpy2python3.13.____cp313.yaml rename to .ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313.yaml index c8d47199..2aef5047 100644 --- a/.ci_support/osx_64_blas_implgenericnumpy2python3.13.____cp313.yaml +++ b/.ci_support/osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313.yaml @@ -24,8 +24,12 @@ cxx_compiler: - clangxx cxx_compiler_version: - '18' +is_rc: +- 'False' libabseil: - '20240722' +libblas: +- 3.9 *netlib libcblas: - 3.9 *netlib liblapack: @@ -57,5 +61,7 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - channel_targets + - is_rc - - python - numpy diff --git a/.ci_support/osx_64_blas_implmklnumpy2.0python3.10.____cpython.yaml b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython.yaml similarity index 91% rename from .ci_support/osx_64_blas_implmklnumpy2.0python3.10.____cpython.yaml rename to .ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython.yaml index c26b6eae..02355229 100644 --- a/.ci_support/osx_64_blas_implmklnumpy2.0python3.10.____cpython.yaml +++ b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython.yaml @@ -24,8 +24,12 @@ cxx_compiler: - clangxx cxx_compiler_version: - '18' +is_rc: +- 'False' libabseil: - '20240722' +libblas: +- 3.9 *netlib libcblas: - 3.9 *netlib liblapack: @@ -57,5 +61,7 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - channel_targets + - is_rc - - python - numpy diff --git a/.ci_support/osx_64_blas_implmklnumpy2.0python3.11.____cpython.yaml b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython.yaml similarity index 91% rename from .ci_support/osx_64_blas_implmklnumpy2.0python3.11.____cpython.yaml rename to .ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython.yaml index 83806216..b57aaf09 100644 --- a/.ci_support/osx_64_blas_implmklnumpy2.0python3.11.____cpython.yaml +++ b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython.yaml @@ -24,8 +24,12 @@ cxx_compiler: - clangxx cxx_compiler_version: - '18' +is_rc: +- 'False' libabseil: - '20240722' +libblas: +- 3.9 *netlib libcblas: - 3.9 *netlib liblapack: @@ -57,5 +61,7 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - channel_targets + - is_rc - - python - numpy diff --git a/.ci_support/osx_64_blas_implmklnumpy2.0python3.12.____cpython.yaml b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython.yaml similarity index 91% rename from .ci_support/osx_64_blas_implmklnumpy2.0python3.12.____cpython.yaml rename to .ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython.yaml index c21661e2..d549ae43 100644 --- a/.ci_support/osx_64_blas_implmklnumpy2.0python3.12.____cpython.yaml +++ b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython.yaml @@ -24,8 +24,12 @@ cxx_compiler: - clangxx cxx_compiler_version: - '18' +is_rc: +- 'False' libabseil: - '20240722' +libblas: +- 3.9 *netlib libcblas: - 3.9 *netlib liblapack: @@ -57,5 +61,7 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - channel_targets + - is_rc - - python - numpy diff --git a/.ci_support/osx_64_blas_implmklnumpy2.0python3.9.____cpython.yaml b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython.yaml similarity index 91% rename from .ci_support/osx_64_blas_implmklnumpy2.0python3.9.____cpython.yaml rename to .ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython.yaml index bd9404df..c5705b30 100644 --- a/.ci_support/osx_64_blas_implmklnumpy2.0python3.9.____cpython.yaml +++ b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython.yaml @@ -24,8 +24,12 @@ cxx_compiler: - clangxx cxx_compiler_version: - '18' +is_rc: +- 'False' libabseil: - '20240722' +libblas: +- 3.9 *netlib libcblas: - 3.9 *netlib liblapack: @@ -57,5 +61,7 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - channel_targets + - is_rc - - python - numpy diff --git a/.ci_support/osx_64_blas_implmklnumpy2python3.13.____cp313.yaml b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313.yaml similarity index 91% rename from .ci_support/osx_64_blas_implmklnumpy2python3.13.____cp313.yaml rename to .ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313.yaml index 87b416c9..7c8113b3 100644 --- a/.ci_support/osx_64_blas_implmklnumpy2python3.13.____cp313.yaml +++ b/.ci_support/osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313.yaml @@ -24,8 +24,12 @@ cxx_compiler: - clangxx cxx_compiler_version: - '18' +is_rc: +- 'False' libabseil: - '20240722' +libblas: +- 3.9 *netlib libcblas: - 3.9 *netlib liblapack: @@ -57,5 +61,7 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - channel_targets + - is_rc - - python - numpy diff --git a/.ci_support/osx_arm64_numpy2.0python3.10.____cpython.yaml b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython.yaml similarity index 92% rename from .ci_support/osx_arm64_numpy2.0python3.10.____cpython.yaml rename to .ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython.yaml index bdc21e03..4ca2b50c 100644 --- a/.ci_support/osx_arm64_numpy2.0python3.10.____cpython.yaml +++ b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython.yaml @@ -24,8 +24,12 @@ cxx_compiler: - clangxx cxx_compiler_version: - '18' +is_rc: +- 'False' libabseil: - '20240722' +libblas: +- 3.9 *netlib libcblas: - 3.9 *netlib liblapack: @@ -57,5 +61,7 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - channel_targets + - is_rc - - python - numpy diff --git a/.ci_support/osx_arm64_numpy2.0python3.11.____cpython.yaml b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython.yaml similarity index 92% rename from .ci_support/osx_arm64_numpy2.0python3.11.____cpython.yaml rename to .ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython.yaml index 2e6796f0..17f951bb 100644 --- a/.ci_support/osx_arm64_numpy2.0python3.11.____cpython.yaml +++ b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython.yaml @@ -24,8 +24,12 @@ cxx_compiler: - clangxx cxx_compiler_version: - '18' +is_rc: +- 'False' libabseil: - '20240722' +libblas: +- 3.9 *netlib libcblas: - 3.9 *netlib liblapack: @@ -57,5 +61,7 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - channel_targets + - is_rc - - python - numpy diff --git a/.ci_support/osx_arm64_numpy2.0python3.12.____cpython.yaml b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython.yaml similarity index 92% rename from .ci_support/osx_arm64_numpy2.0python3.12.____cpython.yaml rename to .ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython.yaml index 7e42f0eb..793a8225 100644 --- a/.ci_support/osx_arm64_numpy2.0python3.12.____cpython.yaml +++ b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython.yaml @@ -24,8 +24,12 @@ cxx_compiler: - clangxx cxx_compiler_version: - '18' +is_rc: +- 'False' libabseil: - '20240722' +libblas: +- 3.9 *netlib libcblas: - 3.9 *netlib liblapack: @@ -57,5 +61,7 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - channel_targets + - is_rc - - python - numpy diff --git a/.ci_support/osx_arm64_numpy2.0python3.9.____cpython.yaml b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython.yaml similarity index 92% rename from .ci_support/osx_arm64_numpy2.0python3.9.____cpython.yaml rename to .ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython.yaml index d5c12eba..0ec714e4 100644 --- a/.ci_support/osx_arm64_numpy2.0python3.9.____cpython.yaml +++ b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython.yaml @@ -24,8 +24,12 @@ cxx_compiler: - clangxx cxx_compiler_version: - '18' +is_rc: +- 'False' libabseil: - '20240722' +libblas: +- 3.9 *netlib libcblas: - 3.9 *netlib liblapack: @@ -57,5 +61,7 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - channel_targets + - is_rc - - python - numpy diff --git a/.ci_support/osx_arm64_numpy2python3.13.____cp313.yaml b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313.yaml similarity index 91% rename from .ci_support/osx_arm64_numpy2python3.13.____cp313.yaml rename to .ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313.yaml index eb0525ef..abf491d5 100644 --- a/.ci_support/osx_arm64_numpy2python3.13.____cp313.yaml +++ b/.ci_support/osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313.yaml @@ -24,8 +24,12 @@ cxx_compiler: - clangxx cxx_compiler_version: - '18' +is_rc: +- 'False' libabseil: - '20240722' +libblas: +- 3.9 *netlib libcblas: - 3.9 *netlib liblapack: @@ -57,5 +61,7 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version +- - channel_targets + - is_rc - - python - numpy diff --git a/.ci_support/win_64_channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNoneis_rcFalse.yaml b/.ci_support/win_64_channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNoneis_rcFalse.yaml new file mode 100644 index 00000000..48368212 --- /dev/null +++ b/.ci_support/win_64_channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNoneis_rcFalse.yaml @@ -0,0 +1,59 @@ +blas_impl: +- mkl +c_compiler: +- vs2019 +c_stdlib: +- vs +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- None +cuda_compiler_version: +- None +cudnn: +- '9' +cxx_compiler: +- vs2019 +github_actions_labels: +- cirun-azure-windows-2xlarge +is_rc: +- 'False' +libabseil: +- '20240722' +libprotobuf: +- 5.28.3 +libtorch: +- '2.4' +megabuild: +- 'true' +mkl: +- '2024' +numpy: +- '2.0' +- '2.0' +- '2.0' +- '2' +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.10.* *_cpython +- 3.11.* *_cpython +- 3.12.* *_cpython +- 3.13.* *_cp313 +- 3.9.* *_cpython +pytorch: +- '2.4' +target_platform: +- win-64 +zip_keys: +- - channel_targets + - is_rc +- - cuda_compiler + - cuda_compiler_version +- - python + - numpy diff --git a/.ci_support/win_64_channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6is_rcFalse.yaml b/.ci_support/win_64_channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6is_rcFalse.yaml new file mode 100644 index 00000000..c0402bfc --- /dev/null +++ b/.ci_support/win_64_channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6is_rcFalse.yaml @@ -0,0 +1,59 @@ +blas_impl: +- mkl +c_compiler: +- vs2019 +c_stdlib: +- vs +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- '12.6' +cudnn: +- '9' +cxx_compiler: +- vs2019 +github_actions_labels: +- cirun-azure-windows-2xlarge +is_rc: +- 'False' +libabseil: +- '20240722' +libprotobuf: +- 5.28.3 +libtorch: +- '2.4' +megabuild: +- 'true' +mkl: +- '2024' +numpy: +- '2.0' +- '2.0' +- '2.0' +- '2' +- '2.0' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.10.* *_cpython +- 3.11.* *_cpython +- 3.12.* *_cpython +- 3.13.* *_cp313 +- 3.9.* *_cpython +pytorch: +- '2.4' +target_platform: +- win-64 +zip_keys: +- - channel_targets + - is_rc +- - cuda_compiler + - cuda_compiler_version +- - python + - numpy diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 2a812a2b..679a206f 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @Tobias-Fischer @beckermr @benjaminrwilson @h-vetinari @hmaarrfk @jeongseok-meta @sodre \ No newline at end of file +* @Tobias-Fischer @baszalmstra @beckermr @benjaminrwilson @h-vetinari @hmaarrfk @jeongseok-meta @sodre \ No newline at end of file diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml index a336a7e2..40a005a9 100644 --- a/.github/workflows/conda-build.yml +++ b/.github/workflows/conda-build.yml @@ -21,42 +21,50 @@ jobs: fail-fast: false matrix: include: - - CONFIG: linux_64_blas_implgenericc_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13 + - CONFIG: linux_64_blas_implgenericc_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_64_blas_implgenericc_compiler_h55a08dafba', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_64_blas_implgenericc_compiler_hb59e174a3e', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 CONDA_FORGE_DOCKER_RUN_ARGS: "--gpus all" - - CONFIG: linux_64_blas_implgenericc_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13 + - CONFIG: linux_64_blas_implgenericc_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalse UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_64_blas_implgenericc_compiler_hcea8f4d73b', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_64_blas_implgenericc_compiler_h5e2cde8be1', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 CONDA_FORGE_DOCKER_RUN_ARGS: "--gpus all" - - CONFIG: linux_64_blas_implmklc_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13 + - CONFIG: linux_64_blas_implmklc_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_64_blas_implmklc_compiler_ver_h3b58d95c2f', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_64_blas_implmklc_compiler_ver_h0b96eb68c6', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 CONDA_FORGE_DOCKER_RUN_ARGS: "--gpus all" - - CONFIG: linux_64_blas_implmklc_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13 + - CONFIG: linux_64_blas_implmklc_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalse UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_64_blas_implmklc_compiler_ver_h980a1415dd', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_64_blas_implmklc_compiler_ver_hc39dedf959', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 CONDA_FORGE_DOCKER_RUN_ARGS: "--gpus all" - - CONFIG: linux_aarch64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13 + - CONFIG: linux_aarch64_c_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_aarch64_c_compiler_version13c_h048947eff7', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_aarch64_c_compiler_version13c_h352ed12235', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 CONDA_FORGE_DOCKER_RUN_ARGS: "--gpus all" - - CONFIG: linux_aarch64_c_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13 + - CONFIG: linux_aarch64_c_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalse UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_aarch64_c_compiler_version13c_h50dc5357dd', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_aarch64_c_compiler_version13c_h94771c6c09', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 CONDA_FORGE_DOCKER_RUN_ARGS: "--gpus all" + - CONFIG: win_64_channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNoneis_rcFalse + UPLOAD_PACKAGES: True + os: windows + runs_on: ['cirun-azure-windows-2xlarge--${{ github.run_id }}-win_64_channel_targetsconda-forge_m_h0b759d4e63', 'windows', 'x64', 'self-hosted'] + - CONFIG: win_64_channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6is_rcFalse + UPLOAD_PACKAGES: True + os: windows + runs_on: ['cirun-azure-windows-2xlarge--${{ github.run_id }}-win_64_channel_targetsconda-forge_m_h790f30616b', 'windows', 'x64', 'self-hosted'] steps: - name: Checkout code diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat new file mode 100755 index 00000000..283e1438 --- /dev/null +++ b/.scripts/run_win_build.bat @@ -0,0 +1,151 @@ +:: PLEASE NOTE: This script has been automatically generated by conda-smithy. Any changes here +:: will be lost next time ``conda smithy rerender`` is run. If you would like to make permanent +:: changes to this script, consider a proposal to conda-smithy so that other feedstocks can also +:: benefit from the improvement. + +:: INPUTS (required environment variables) +:: CONFIG: name of the .ci_support/*.yaml file for this job +:: CI: azure, github_actions, or unset +:: MINIFORGE_HOME: where to install the base conda environment +:: UPLOAD_PACKAGES: true or false +:: UPLOAD_ON_BRANCH: true or false + +setlocal enableextensions enabledelayedexpansion + +FOR %%A IN ("%~dp0.") DO SET "REPO_ROOT=%%~dpA" +if "%MINIFORGE_HOME%"=="" set "MINIFORGE_HOME=%USERPROFILE%\Miniforge3" +:: Remove trailing backslash, if present +if "%MINIFORGE_HOME:~-1%"=="\" set "MINIFORGE_HOME=%MINIFORGE_HOME:~0,-1%" +call :start_group "Provisioning base env with micromamba" +set "MAMBA_ROOT_PREFIX=%MINIFORGE_HOME%-micromamba-%RANDOM%" +set "MICROMAMBA_VERSION=1.5.10-0" +set "MICROMAMBA_URL=https://github.com/mamba-org/micromamba-releases/releases/download/%MICROMAMBA_VERSION%/micromamba-win-64" +set "MICROMAMBA_TMPDIR=%TMP%\micromamba-%RANDOM%" +set "MICROMAMBA_EXE=%MICROMAMBA_TMPDIR%\micromamba.exe" + +echo Downloading micromamba %MICROMAMBA_VERSION% +if not exist "%MICROMAMBA_TMPDIR%" mkdir "%MICROMAMBA_TMPDIR%" +certutil -urlcache -split -f "%MICROMAMBA_URL%" "%MICROMAMBA_EXE%" +if !errorlevel! neq 0 exit /b !errorlevel! + +echo Creating environment +call "%MICROMAMBA_EXE%" create --yes --root-prefix "%MAMBA_ROOT_PREFIX%" --prefix "%MINIFORGE_HOME%" ^ + --channel conda-forge ^ + pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=24.1" +if !errorlevel! neq 0 exit /b !errorlevel! +echo Removing %MAMBA_ROOT_PREFIX% +del /S /Q "%MAMBA_ROOT_PREFIX%" >nul +del /S /Q "%MICROMAMBA_TMPDIR%" >nul +call :end_group + +call :start_group "Configuring conda" + +:: Activate the base conda environment +echo Activating environment +call "%MINIFORGE_HOME%\Scripts\activate.bat" +:: Configure the solver +set "CONDA_SOLVER=libmamba" +if !errorlevel! neq 0 exit /b !errorlevel! +set "CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1" + +:: Set basic configuration +echo Setting up configuration +setup_conda_rc .\ ".\recipe" .\.ci_support\%CONFIG%.yaml +if !errorlevel! neq 0 exit /b !errorlevel! +echo Running build setup +CALL run_conda_forge_build_setup + + +if !errorlevel! neq 0 exit /b !errorlevel! + +if EXIST LICENSE.txt ( + echo Copying feedstock license + copy LICENSE.txt "recipe\\recipe-scripts-license.txt" +) +if NOT [%HOST_PLATFORM%] == [%BUILD_PLATFORM%] ( + if [%CROSSCOMPILING_EMULATOR%] == [] ( + set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --no-test" + ) +) + +if NOT [%flow_run_id%] == [] ( + set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --extra-meta flow_run_id=%flow_run_id% remote_url=%remote_url% sha=%sha%" +) + +call :end_group + +:: Build the recipe +echo Building recipe +conda-build.exe "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% +if !errorlevel! neq 0 exit /b !errorlevel! + +call :start_group "Inspecting artifacts" +:: inspect_artifacts was only added in conda-forge-ci-setup 4.9.4 +WHERE inspect_artifacts >nul 2>nul && inspect_artifacts --recipe-dir ".\recipe" -m .ci_support\%CONFIG%.yaml || echo "inspect_artifacts needs conda-forge-ci-setup >=4.9.4" +call :end_group + +:: Prepare some environment variables for the upload step +if /i "%CI%" == "github_actions" ( + set "FEEDSTOCK_NAME=%GITHUB_REPOSITORY:*/=%" + set "GIT_BRANCH=%GITHUB_REF:refs/heads/=%" + if /i "%GITHUB_EVENT_NAME%" == "pull_request" ( + set "IS_PR_BUILD=True" + ) else ( + set "IS_PR_BUILD=False" + ) + set "TEMP=%RUNNER_TEMP%" +) +if /i "%CI%" == "azure" ( + set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" + set "GIT_BRANCH=%BUILD_SOURCEBRANCHNAME%" + if /i "%BUILD_REASON%" == "PullRequest" ( + set "IS_PR_BUILD=True" + ) else ( + set "IS_PR_BUILD=False" + ) + set "TEMP=%UPLOAD_TEMP%" +) + +:: Validate +call :start_group "Validating outputs" +validate_recipe_outputs "%FEEDSTOCK_NAME%" +if !errorlevel! neq 0 exit /b !errorlevel! +call :end_group + +if /i "%UPLOAD_PACKAGES%" == "true" ( + if /i "%IS_PR_BUILD%" == "false" ( + call :start_group "Uploading packages" + if not exist "%TEMP%\" md "%TEMP%" + set "TMP=%TEMP%" + upload_package --validate --feedstock-name="%FEEDSTOCK_NAME%" .\ ".\recipe" .ci_support\%CONFIG%.yaml + if !errorlevel! neq 0 exit /b !errorlevel! + call :end_group + ) +) + +exit + +:: Logging subroutines + +:start_group +if /i "%CI%" == "github_actions" ( + echo ::group::%~1 + exit /b +) +if /i "%CI%" == "azure" ( + echo ##[group]%~1 + exit /b +) +echo %~1 +exit /b + +:end_group +if /i "%CI%" == "github_actions" ( + echo ::endgroup:: + exit /b +) +if /i "%CI%" == "azure" ( + echo ##[endgroup] + exit /b +) +exit /b \ No newline at end of file diff --git a/README.md b/README.md index c0abad1c..0047ae41 100644 --- a/README.md +++ b/README.md @@ -29,150 +29,164 @@ Current build status - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + @@ -308,9 +322,11 @@ Feedstock Maintainers ===================== * [@Tobias-Fischer](https://github.com/Tobias-Fischer/) +* [@baszalmstra](https://github.com/baszalmstra/) * [@beckermr](https://github.com/beckermr/) * [@benjaminrwilson](https://github.com/benjaminrwilson/) * [@h-vetinari](https://github.com/h-vetinari/) * [@hmaarrfk](https://github.com/hmaarrfk/) * [@jeongseok-meta](https://github.com/jeongseok-meta/) * [@sodre](https://github.com/sodre/) + diff --git a/conda-forge.yml b/conda-forge.yml index 56c3585f..47ae951d 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -2,6 +2,9 @@ azure: free_disk_space: true settings_linux: timeoutInMinutes: 1 + settings_win: + variables: + CONDA_BLD_PATH: C:\\bld\\ build_platform: linux_aarch64: linux_64 osx_arm64: osx_64 @@ -20,4 +23,5 @@ github_actions: provider: linux_64: github_actions linux_aarch64: azure + win_64: github_actions test: native_and_emulated diff --git a/recipe/README.md b/recipe/README.md index 06d02286..75ac4032 100644 --- a/recipe/README.md +++ b/recipe/README.md @@ -80,6 +80,7 @@ of 2024-11-28: | Package | Upstream | Recipe | Conda-forge | Source | |-----------|----------------|--------|-------------|-------------------------------------| | cuda | 11.8/12.1/12.4 | 12.6 | 12.6 | `.ci/docker/build.sh` | +| cuda-cupti| 12.4.127 | | 12.6.80 | `.github/scripts/generate_binary_build_matrix.py` | | cusparselt| 0.6.2.3+others | | 0.6.3.2 | `.ci/docker/common/install_cuda.sh` | | libcudss | 0.3.0.9 | | 0.4.0.2 | `.ci/docker/common/install_cudss.sh`| | magma | 2.6.1 | | 2.8.0 | `.ci/docker/common/instal_magma.sh` | diff --git a/recipe/bld.bat b/recipe/bld.bat index 30cc5d4f..cc124409 100644 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -1,47 +1,221 @@ @echo On +setlocal enabledelayedexpansion + +REM remove pyproject.toml to avoid installing deps from pip +if EXIST pyproject.toml DEL pyproject.toml set TH_BINARY_BUILD=1 set PYTORCH_BUILD_VERSION=%PKG_VERSION% -set PYTORCH_BUILD_NUMBER=%PKG_BUILDNUM% +:: Always pass 0 to avoid appending ".post" to version string. +:: https://github.com/conda-forge/pytorch-cpu-feedstock/issues/315 +set PYTORCH_BUILD_NUMBER=0 + +REM I don't know where this folder comes from, but it's interfering with the build in osx-64 +if EXIST %PREFIX%\git RD /S /Q %PREFIX%\git -if "%pytorch_variant%" == "gpu" ( - set build_with_cuda=1 - set desired_cuda=%CUDA_VERSION:~0,-1%.%CUDA_VERSION:~-1,1% +@REM Setup BLAS +if "%blas_impl%" == "generic" ( + REM Fake openblas + SET BLAS=OpenBLAS + SET OpenBLAS_HOME=%LIBRARY_PREFIX% ) else ( - set build_with_cuda= - set USE_CUDA=0 + SET BLAS=MKL ) -if "%build_with_cuda%" == "" goto cuda_flags_end +@REM TODO(baszalmstra): Figure out if we need these flags +SET "USE_NUMA=0" +SET "USE_ITT=0" -set CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v%desired_cuda% -set CUDA_BIN_PATH=%CUDA_PATH%\bin -set TORCH_CUDA_ARCH_LIST=5.0;6.0;6.1;7.0;7.5;8.0;8.6;8.9;9.0+PTX -set TORCH_NVCC_FLAGS=-Xfatbin -compress-all +@REM KINETO seems to require CUPTI and will look quite hard for it. +@REM CUPTI seems to cause trouble when users install a version of +@REM cudatoolkit different than the one specified at compile time. +@REM https://github.com/conda-forge/pytorch-cpu-feedstock/issues/135 +set "USE_KINETO=OFF" -:cuda_flags_end +if "%PKG_NAME%" == "pytorch" ( + set "PIP_ACTION=install" + :: We build libtorch for a specific python version. + :: This ensures its only build once. However, when that version changes + :: we need to make sure to update that here. + :: Get the full python version string + for /f "tokens=2" %%a in ('python --version 2^>^&1') do set PY_VERSION_FULL=%%a -set DISTUTILS_USE_SDK=1 + :: Replace Python312 or python312 with ie Python311 or python311 + sed "s/\([Pp]ython\)312/\1%CONDA_PY%/g" build/CMakeCache.txt.orig > build/CMakeCache.txt -set CMAKE_INCLUDE_PATH=%LIBRARY_PREFIX%\include -set LIB=%LIBRARY_PREFIX%\lib;%LIB% + :: Replace version string v3.12.8() with ie v3.11.11() + sed -i.bak -E "s/v3\.12\.[0-9]+/v%PY_VERSION_FULL%/g" build/CMakeCache.txt + + :: Replace interpreter properties Python;3;12;8;64 with ie Python;3;11;11;64 + sed -i.bak -E "s/Python;3;12;[0-9]+;64/Python;%PY_VERSION_FULL:.=;%;64/g" build/CMakeCache.txt + + :: Replace cp312-win_amd64 with ie cp311-win_amd64 + sed -i.bak "s/cp312/cp%CONDA_PY%/g" build/CMakeCache.txt + + @REM We use a fan-out build to avoid the long rebuild of libtorch + @REM However, the location of the numpy headers changes between python 3.8 + @REM and 3.9+ since numpy 2.0 only exists for 3.9+ + if "%PY_VER%" == "3.8" ( + sed -i.bak "s#numpy\\\\_core\\\\include#numpy\\\\core\\\\include#g" build/CMakeCache.txt + ) else ( + sed -i.bak "s#numpy\\\\core\\\\include#numpy\\\\_core\\\\include#g" build/CMakeCache.txt + ) + +) else ( + @REM For the main script we just build a wheel for so that the C++/CUDA + @REM parts are built. Then they are reused in each python version. + set "PIP_ACTION=wheel" +) -IF "%build_with_cuda%" == "" goto cuda_end +if not "%cuda_compiler_version%" == "None" ( + set USE_CUDA=1 -set MAGMA_HOME=%LIBRARY_PREFIX% + REM set CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v%desired_cuda% + REM set CUDA_BIN_PATH=%CUDA_PATH%\bin -set "PATH=%CUDA_BIN_PATH%;%PATH%" + set TORCH_CUDA_ARCH_LIST=5.0;6.0;6.1;7.0;7.5;8.0;8.6;8.9;9.0+PTX -set CUDNN_INCLUDE_DIR=%LIBRARY_PREFIX%\include + set TORCH_NVCC_FLAGS=-Xfatbin -compress-all -:cuda_end + set USE_STATIC_CUDNN=0 + set MAGMA_HOME=%PREFIX% + + REM NCCL is not available on windows + set USE_NCCL=0 + set USE_STATIC_NCCL=0 + + set MAGMA_HOME=%LIBRARY_PREFIX% + + set "PATH=%CUDA_BIN_PATH%;%PATH%" + + set CUDNN_INCLUDE_DIR=%LIBRARY_PREFIX%\include + +) else ( + set USE_CUDA=0 + REM On windows, env vars are case-insensitive and setup.py + REM passes all env vars starting with CUDA_*, CMAKE_* to + REM to cmake + set "cuda_compiler_version=" + set "cuda_compiler=" + set "CUDA_VERSION=" + + @REM MKLDNN is an Apache-2.0 licensed library for DNNs and is used + @REM for CPU builds. Not to be confused with MKL. + set "USE_MKLDNN=1" +) + +set DISTUTILS_USE_SDK=1 +set CMAKE_INCLUDE_PATH=%LIBRARY_PREFIX%\include +set LIB=%LIBRARY_PREFIX%\lib;%LIB% + +@REM CMake configuration set CMAKE_GENERATOR=Ninja +set "CMAKE_GENERATOR_TOOLSET=" set "CMAKE_GENERATOR_PLATFORM=" set "CMAKE_PREFIX_PATH=%LIBRARY_PREFIX%" +set "CMAKE_INCLUDE_PATH=%LIBRARY_INC%" +set "CMAKE_LIBRARY_PATH=%LIBRARY_LIB%" +set "CMAKE_BUILD_TYPE=Release" +:: This is so that CMake finds the environment's Python, not another one +set Python_EXECUTABLE=%PYTHON% +set Python3_EXECUTABLE=%PYTHON% + +set "INSTALL_TEST=0" +set "BUILD_TEST=0" + set "libuv_ROOT=%LIBRARY_PREFIX%" -set "USE_SYSTEM_SLEEF=OFF" +set "USE_SYSTEM_SLEEF=ON" + +@REM uncomment to debug cmake build +@REM set "CMAKE_VERBOSE_MAKEFILE=1" + set "BUILD_CUSTOM_PROTOBUF=OFF" +set "USE_LITE_PROTO=ON" + +@REM TODO(baszalmstra): There are linker errors because of mixing Intel OpenMP (iomp) and Microsoft OpenMP (vcomp) +set "USE_OPENMP=OFF" + +@REM The activation script for cuda-nvcc doesnt add the CUDA_CFLAGS on windows. +@REM Therefor we do this manually here. See: +@REM https://github.com/conda-forge/cuda-nvcc-feedstock/issues/47 +echo "CUDA_CFLAGS=%CUDA_CFLAGS%" +set "CUDA_CFLAGS=-I%PREFIX%/Library/include -I%BUILD_PREFIX%/Library/include" +set "CFLAGS=%CFLAGS% %CUDA_CFLAGS%" +set "CPPFLAGS=%CPPFLAGS% %CUDA_CFLAGS%" +set "CXXFLAGS=%CXXFLAGS% %CUDA_CFLAGS%" +echo "CUDA_CFLAGS=%CUDA_CFLAGS%" +echo "CXXFLAGS=%CXXFLAGS%" + +@REM Configure sccache +set "CMAKE_C_COMPILER_LAUNCHER=sccache" +set "CMAKE_CXX_COMPILER_LAUNCHER=sccache" +set "CMAKE_CUDA_COMPILER_LAUNCHER=sccache" + +sccache --stop-server +sccache --start-server +sccache --zero-stats -%PYTHON% -m pip install . --no-deps -vv +@REM Clear the build from any remaining artifacts. We use sccache to avoid recompiling similar code. +cmake --build build --target clean + +%PYTHON% -m pip %PIP_ACTION% . --no-build-isolation --no-deps -vvv --no-clean if errorlevel 1 exit /b 1 + +@REM Here we split the build into two parts. +@REM +@REM Both the packages libtorch and pytorch use this same build script. +@REM - The output of the libtorch package should just contain the binaries that are +@REM not related to Python. +@REM - The output of the pytorch package contains everything except for the +@REM non-python specific binaries. +@REM +@REM This ensures that a user can quickly switch between python versions without the +@REM need to redownload all the large CUDA binaries. + +if "%PKG_NAME%" == "libtorch" ( + @REM Extract the compiled wheel into a temporary directory + if not exist "%SRC_DIR%/dist" mkdir %SRC_DIR%/dist + pushd %SRC_DIR%/dist + for %%f in (../torch-*.whl) do ( + wheel unpack %%f + ) + + @REM Navigate into the unpacked wheel + pushd torch-* + + @REM Move the binaries into the packages site-package directory + robocopy /NP /NFL /NDL /NJH /E torch\bin %SP_DIR%\torch\bin\ + robocopy /NP /NFL /NDL /NJH /E torch\lib %SP_DIR%\torch\lib\ + robocopy /NP /NFL /NDL /NJH /E torch\share %SP_DIR%\torch\share\ + for %%f in (ATen caffe2 torch c10) do ( + robocopy /NP /NFL /NDL /NJH /E torch\include\%%f %SP_DIR%\torch\include\%%f\ + ) + + @REM Remove the python binary file, that is placed in the site-packages + @REM directory by the specific python specific pytorch package. + del %SP_DIR%\torch\lib\torch_python.* + + popd + popd + + @REM Keep the original backed up to sed later + copy build\CMakeCache.txt build\CMakeCache.txt.orig +) else if "%PKG_NAME%" == "pytorch" ( + rmdir /s /q %SP_DIR%\torch\bin + rmdir /s /q %SP_DIR%\torch\share + for %%f in (ATen caffe2 torch c10) do ( + rmdir /s /q %SP_DIR%\torch\include\%%f + ) + + @REM Delete all files from the lib directory that do not start with torch_python + for %%f in (%SP_DIR%\torch\lib\*) do ( + set "FILENAME=%%~nf" + if "!FILENAME:~0,12!" neq "torch_python" ( + del %%f + ) + ) +) + +@REM Show the sccache stats. +sccache --show-stats diff --git a/recipe/build.sh b/recipe/build.sh index 19da0ad4..973d2c55 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -36,12 +36,6 @@ fi # This is not correctly found for linux-aarch64 since pytorch 2.0.0 for some reason export _GLIBCXX_USE_CXX11_ABI=1 -# KINETO seems to require CUPTI and will look quite hard for it. -# CUPTI seems to cause trouble when users install a version of -# cudatoolkit different than the one specified at compile time. -# https://github.com/conda-forge/pytorch-cpu-feedstock/issues/135 -export USE_KINETO=OFF - if [[ "$target_platform" == "osx-64" ]]; then export CXXFLAGS="$CXXFLAGS -DTARGET_OS_OSX=1" export CFLAGS="$CFLAGS -DTARGET_OS_OSX=1" @@ -69,7 +63,9 @@ CMAKE_FIND_ROOT_PATH+=";$SRC_DIR" unset CMAKE_INSTALL_PREFIX export TH_BINARY_BUILD=1 export PYTORCH_BUILD_VERSION=$PKG_VERSION -export PYTORCH_BUILD_NUMBER=$PKG_BUILDNUM +# Always pass 0 to avoid appending ".post" to version string. +# https://github.com/conda-forge/pytorch-cpu-feedstock/issues/315 +export PYTORCH_BUILD_NUMBER=0 export INSTALL_TEST=0 export BUILD_TEST=0 @@ -110,7 +106,7 @@ fi if [[ "$blas_impl" == "generic" ]]; then # Fake openblas export BLAS=OpenBLAS - sed -i.bak "s#FIND_LIBRARY.*#set(OpenBLAS_LIB ${PREFIX}/lib/liblapack${SHLIB_EXT} ${PREFIX}/lib/libcblas${SHLIB_EXT} ${PREFIX}/lib/libblas${SHLIB_EXT})#g" cmake/Modules/FindOpenBLAS.cmake + export OpenBLAS_HOME=${PREFIX} else export BLAS=MKL fi @@ -155,6 +151,8 @@ elif [[ ${cuda_compiler_version} != "None" ]]; then if [[ "${target_platform}" != "${build_platform}" ]]; then export CUDA_TOOLKIT_ROOT=${PREFIX} fi + # for CUPTI + export CUDA_TOOLKIT_ROOT_DIR=${PREFIX} case ${target_platform} in linux-64) export CUDAToolkit_TARGET_DIR=${PREFIX}/targets/x86_64-linux diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index 944c1926..a0c8d801 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -4,14 +4,28 @@ c_stdlib_version: # [unix] MACOSX_SDK_VERSION: # [osx] - 13.3 # [osx] +channel_targets: + - conda-forge main + - conda-forge pytorch_rc +is_rc: + - False + - True +zip_keys: + - + - channel_targets + - is_rc + blas_impl: - mkl # [x86_64] - - generic + # deprioritized on windows, would be nice to have + - generic # [unix] # https://github.com/conda-forge/.cirun -github_actions_labels: # [linux] +github_actions_labels: # [linux or win] - cirun-openstack-gpu-2xlarge # [linux] +- cirun-azure-windows-2xlarge # [win] megabuild: - true # [linux] - false # [osx] +- true # [win] diff --git a/recipe/meta.yaml b/recipe/meta.yaml index c08de54b..91f0ee79 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,6 @@ +# if you wish to build release candidate number X, append the version string with ".rcX" {% set version = "2.5.1" %} -{% set build = 8 %} +{% set build = 9 %} {% if cuda_compiler_version != "None" %} {% set build = build + 200 %} @@ -14,13 +15,22 @@ # https://github.com/pytorch/pytorch/blob/main/RELEASE.md#triton-dependency-for-the-release {% set triton = "3.1.0" %} +# TODO Temporary pin, remove +{% set mkl = "<2025" %} + package: name: libtorch version: {{ version }} source: +{% if "rc" in version %} + git_url: https://github.com/pytorch/pytorch.git + git_rev: v{{ version.replace(".rc", "-rc") }} +{% else %} + # The "pytorch-v" tarballs contain submodules; the "pytorch-" ones don't. url: https://github.com/pytorch/pytorch/releases/download/v{{ version }}/pytorch-v{{ version }}.tar.gz sha256: 740eb5fff95e33cfe699bad43be83523f569c7cc7f9c285c2a255416443dd266 +{% endif %} patches: - patches/0001-Force-usage-of-python-3-and-error-without-numpy.patch # https://github.com/pytorch/pytorch/pull/137084 @@ -32,7 +42,7 @@ source: - patches/0004-Update-sympy-version.patch - patches/0005-Fix-duplicate-linker-script.patch # [cuda_compiler_version != "None" and aarch64] # https://github.com/pytorch/pytorch/pull/136034 - - patches/0006-3.13-fix-3.13-pickle-error-in-serialization.py-13603.patch + - patches/0006-fix-3.13-pickle-error-in-serialization.py-136034.patch # https://github.com/pytorch/pytorch/pull/137331 - patches/0007-Allow-users-to-overwrite-ld-with-environment-variabl.patch # conda-specific patch, upstream force-disables libcufile w/ TH_BINARY_BUILD @@ -46,16 +56,26 @@ source: # https://github.com/pytorch/pytorch/pull/137740 - patches/0011-Fixes-NumPy-2-test-failures-in-test_torch.py-137740.patch # fix BLAS calling convention for openblas - - patches/0013-Use-BLAS_USE_CBLAS_DOT-for-OpenBLAS-builds.patch + - patches/0012-Use-BLAS_USE_CBLAS_DOT-for-OpenBLAS-builds.patch # fix mkl-2024 issue # https://github.com/pytorch/pytorch/pull/143894 - - patches/0014-fix-issue-142484.patch + - patches/0013-fix-issue-142484.patch + - patches/0014-Fix-FindOpenBLAS.patch + # backport https://github.com/pytorch/pytorch/pull/138095 + - patches/0015-CD-Enable-Python-3.13-on-windows-138095.patch build: number: {{ build }} - skip: true # [win] # cuda 11.8 was dropped due to maintenance effort, see discussion in #177 skip: true # [cuda_compiler_version == "11.8"] + # This logic allows two rc variants to be defined in the conda_build_config, but only one to actually be built. + # We want to be able to define two variants in the cbc so we can assign different labels to each in the upload channel + # (by zipping is_rc with channel_targets). This prevents rc builds being used unless specifically requested. +{% if "rc" in version %} + skip: true # [not is_rc] +{% else %} + skip: true # [is_rc] +{% endif %} string: cuda{{ cuda_compiler_version | replace('.', '') }}_{{ blas_impl }}_h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} # [cuda_compiler_version != "None"] string: cpu_{{ blas_impl }}_h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} # [cuda_compiler_version == "None"] detect_binary_files_with_prefix: false @@ -74,7 +94,7 @@ requirements: # Keep this list synchronized (except for python*, numpy*) in outputs # We use python to build libtorch as well because it is easier build: - # When you change 3.12 here, change it in build.sh as well + # When you change 3.12 here, change it in build.sh/bld.bat as well - python 3.12 # [megabuild and build_platform != target_platform] - python # [not megabuild and build_platform != target_platform] - cross-python_{{ target_platform }} # [build_platform != target_platform] @@ -86,6 +106,8 @@ requirements: - {{ compiler('cuda') }} # [cuda_compiler_version != "None"] - libgomp # [linux] - llvm-openmp # [osx] + - intel-openmp {{ mkl }} # [win] + - libuv # [win] - cmake - ninja # Keep libprotobuf here so that a compatibile version @@ -93,24 +115,26 @@ requirements: - libprotobuf - protobuf - make # [linux] + - sccache # [win] host: # GPU requirements - cudnn # [cuda_compiler_version != "None"] - - nccl # [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 + - cuda-driver-dev # [linux] - cuda-cudart-dev + - cuda-cupti-dev # [linux] - cuda-nvrtc-dev - cuda-nvtx-dev - cuda-nvml-dev - cuda-profiler-api - - cusparselt + - cusparselt # [linux] - libcublas-dev - - libcudss-dev - - libcufile-dev + - libcudss-dev # [linux] + - libcufile-dev # [linux] - libcufft-dev - libcurand-dev - libcusolver-dev @@ -122,16 +146,20 @@ requirements: - numpy * # [megabuild] - numpy # [not megabuild] - pip - - setuptools + # see https://github.com/pytorch/pytorch/issues/136541 + - setuptools <=72.1.0 # [win] + - setuptools # [not win] - pyyaml - requests - six - mkl-devel {{ mkl }} # [blas_impl == "mkl"] - libcblas * *_mkl # [blas_impl == "mkl"] + - libblas # [blas_impl != "mkl"] - libcblas # [blas_impl != "mkl"] - liblapack # [blas_impl != "mkl"] - libgomp # [linux] - llvm-openmp # [osx] + - intel-openmp {{ mkl }} # [win] - libabseil - libprotobuf - sleef @@ -141,6 +169,8 @@ requirements: run: # GPU requirements without run_exports - {{ pin_compatible('cudnn') }} # [cuda_compiler_version != "None"] + - intel-openmp {{ mkl }} # [win] + - libblas * *{{ blas_impl }} # [blas_impl == "mkl"] run_constrained: # These constraints ensure conflict between pytorch and # pytorch-cpu 1.1 which we built before conda-forge had GPU infrastructure @@ -152,16 +182,44 @@ requirements: - pytorch-cpu ==99999999 # [cuda_compiler_version != "None"] - pytorch {{ version }} cuda{{ cuda_compiler_version | replace('.', '') }}_{{ blas_impl }}_*_{{ PKG_BUILDNUM }} # [cuda_compiler_version != "None"] - pytorch {{ version }} cpu_{{ blas_impl }}_*_{{ PKG_BUILDNUM }} # [cuda_compiler_version == "None"] + # if using OpenBLAS, ensure that a version compatible with OpenMP is used + # otherwise, we get the following warnings: + # OpenBLAS Warning : Detect OpenMP Loop and this application may hang. Please rebuild the library with USE_OPENMP=1 option. + - openblas * openmp_* # [unix and blas_impl != "mkl"] +# these tests are for the libtorch output below, but due to +# a particularity of conda-build, that output is defined in +# the global build stage, including tests test: commands: # libraries - {% for each_lib in [ 'libc10', 'libshm', 'libtorch', 'libtorch_cpu', 'libtorch_global_deps'] %} - - test -f $PREFIX/lib/{{ each_lib }}.so # [linux] - - test -f $PREFIX/lib/{{ each_lib }}.dylib # [osx] + {% for each_lib in [ 'c10', 'shm', 'torch', 'torch_cpu', 'torch_global_deps'] %} + - test -f $PREFIX/lib/lib{{ each_lib }}.so # [linux] + - test -f $PREFIX/lib/lib{{ each_lib }}.dylib # [osx] + - if not exist %SP_DIR%\torch\lib\{{ each_lib }}.dll exit 1 # [win] + {% endfor %} + + # Windows specific .LIB files + {% for each_lib in [ 'c10', 'shm', 'torch', 'torch_cpu'] %} + - if not exist %SP_DIR%\torch\lib\{{ each_lib }}.lib exit 1 # [win] + {% endfor %} + + # Windows specific libraries + {% for each_lib in [ 'asmjit', 'fbgemm'] %} + - if not exist %SP_DIR%\torch\lib\{{ each_lib }}.dll exit 1 # [win] + - if not exist %SP_DIR%\torch\lib\{{ each_lib }}.lib exit 1 # [win] + {% endfor %} + + # Cuda only libraries + {% for each_lib in ['c10_cuda', 'caffe2_nvrtc', 'torch_cuda'] %} + - test -f $PREFIX/lib/lib{{ each_lib }}.so # [linux and cuda_compiler_version != "None"] + - if not exist %SP_DIR%\torch\lib\{{ each_lib }}.dll exit 1 # [win and cuda_compiler_version != "None"] + - if not exist %SP_DIR%\torch\lib\{{ each_lib }}.lib exit 1 # [win and cuda_compiler_version != "None"] {% endfor %} - {% for each_lib in ['libc10_cuda', 'libcaffe2_nvrtc', 'libtorch_cuda', 'libtorch_cuda_linalg'] %} - - test -f $PREFIX/lib/{{ each_lib }}.so # [linux and cuda_compiler_version != "None"] + + # Linux specific cuda libraries + {% for each_lib in [ 'torch_cuda_linalg'] %} + - test -f $PREFIX/lib/lib{{ each_lib }}.so # [linux and cuda_compiler_version != "None"] {% endfor %} outputs: @@ -189,6 +247,7 @@ outputs: - {{ compiler('cuda') }} # [cuda_compiler_version != "None"] - libgomp # [linux] - llvm-openmp # [osx] + - intel-openmp {{ mkl }} # [win] - cmake - ninja # Keep libprotobuf here so that a compatibile version @@ -196,24 +255,26 @@ outputs: - libprotobuf - protobuf - make # [linux] + - sccache # [win] host: # GPU requirements - cudnn # [cuda_compiler_version != "None"] - - nccl # [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"] - magma # [cuda_compiler_version != "None"] {% if cuda_compiler_version != "None" %} - - cuda-driver-dev + - cuda-driver-dev # [linux] - cuda-cudart-dev + - cuda-cupti-dev # [linux] - cuda-nvrtc-dev - cuda-nvtx-dev - cuda-nvml-dev - cuda-profiler-api - - cusparselt + - cusparselt # [linux] - libcublas-dev - - libcudss-dev - - libcufile-dev + - libcudss-dev # [linux] + - libcufile-dev # [linux] - libcufft-dev - libcurand-dev - libcusolver-dev @@ -223,7 +284,9 @@ outputs: - python - numpy - pip - - setuptools + # see https://github.com/pytorch/pytorch/issues/136541 + - setuptools <=72.1.0 # [win] + - setuptools # [not win] - pyyaml - requests - six @@ -233,6 +296,7 @@ outputs: - liblapack # [blas_impl != "mkl"] - libgomp # [linux] - llvm-openmp # [osx] + - intel-openmp {{ mkl }} # [win] - libabseil - libprotobuf - sleef @@ -242,6 +306,8 @@ outputs: - {{ pin_subpackage('libtorch', exact=True) }} run: - llvm-openmp # [osx] + - intel-openmp {{ mkl }} # [win] + - libblas * *{{ blas_impl }} # [blas_impl == "mkl"] # GPU requirements without run_exports - {{ pin_compatible('cudnn') }} # [cuda_compiler_version != "None"] # other requirements @@ -259,7 +325,7 @@ outputs: - __cuda # [cuda_compiler_version != "None"] - libtorch {{ version }} - setuptools - - triton {{ triton }} # [cuda_compiler_version != "None"] + - triton {{ triton }} # [cuda_compiler_version != "None" and not win] run_constrained: # These constraints ensure conflict between pytorch and # pytorch-cpu 1.1 which we built before conda-forge had GPU infrastructure @@ -283,12 +349,18 @@ outputs: - pip - expecttest - xmlrunner + # Required by run_test.py - pytest-flakefinder - pytest-rerunfailures - pytest-xdist + # danpetry/TF: Pytorch includes their own edited version of pytest-shard and adding + # it into the test deps as well results in the --shard-id option being added twice. + # https://github.com/pytorch/pytorch/blob/main/test/pytest_shard_custom.py + # - pytest-shard imports: - - torch # [not (aarch64 and cuda_compiler_version != "None")] + - torch source_files: + # Only include the source_files if we are actually going to run the tests. - test # tools/ is needed to optimise test run # as of pytorch=2.0.0, there is a bug when trying to run tests without the tools @@ -297,7 +369,7 @@ outputs: # Run pip check so as to ensure that all pytorch packages are installed # https://github.com/conda-forge/pytorch-cpu-feedstock/issues/24 - pip check - - python -c "import torch; print(torch.__version__)" # [not (aarch64 and cuda_compiler_version != "None")] + - python -c "import torch; print(torch.__version__)" - python -c "import torch; assert torch.backends.mkldnn.m.is_available()" # [x86 and cuda_compiler_version == "None"] - python -c "import torch; torch.tensor(1).to('cpu').numpy(); print('numpy support enabled!!!')" # At conda-forge, we target versions of OSX that are too old for MPS support @@ -320,7 +392,7 @@ outputs: "test/test_nn.py", "test/test_torch.py", "test/test_xnnpack_integration.py", - "-m 'not hypothesis'", + "-m \"not hypothesis\"", ]) %} {% set skips = "(TestTorch and test_print)" %} @@ -338,11 +410,39 @@ outputs: {% set skips = skips ~ " or (TestCustomOpAPI and test_compile)" %} # [py==313] {% set skips = skips ~ " or (TestCustomOpAPI and test_fake)" %} # [py==313] {% set skips = skips ~ " or test_compile_int4_mm or test_compile_int8_mm" %} # [py==313] + # doesn't crash, but gets different result on aarch + CUDA + {% set skips = skips ~ " or illcondition_matrix_input_should_not_crash_cpu" %} # [aarch64 and cuda_compiler_version != "None"] + # may crash spuriously + {% set skips = skips ~ " or (TestAutograd and test_profiler_seq_nr)" %} + {% set skips = skips ~ " or (TestAutograd and test_profiler_propagation)" %} + # trivial accuracy problems + {% set skips = skips ~ " or test_BCELoss_weights_no_reduce_cuda" %} # [unix and cuda_compiler_version != "None"] + {% set skips = skips ~ " or test_ctc_loss_cudnn_tensor_cuda " %} # [unix and cuda_compiler_version != "None"] + {% set skips = skips ~ " or (TestTorch and test_index_add_correctness)" %} # [unix and cuda_compiler_version != "None"] + # MKL problems + {% set skips = skips ~ " or (TestLinalgCPU and test_inverse_errors_large_cpu)" %} # [unix and blas_impl == "mkl" and cuda_compiler_version != "None"] + # these tests are failing with low -n values + {% set skips = skips ~ " or test_base_does_not_require_grad_mode_nothing" %} + {% set skips = skips ~ " or test_base_does_not_require_grad_mode_warn" %} + {% set skips = skips ~ " or test_composite_registered_to_cpu_mode_nothing" %} + # these tests are failing on windows + {% set skips = skips ~ " or (TestNN and test_Conv1d_dilated)" %} # [win] + {% set skips = skips ~ " or (TestNN and test_Conv1d_pad_same_dilated)" %} # [win] + {% set skips = skips ~ " or (TestNN and test_Conv2d_pad_same_dilated)" %} # [win] + {% set skips = skips ~ " or (TestNN and test_Conv2d_padding)" %} # [win] + {% set skips = skips ~ " or (TestNN and test_Conv2d_strided)" %} # [win] + {% set skips = skips ~ " or (TestNN and test_Conv3d_dilated)" %} # [win] + {% set skips = skips ~ " or (TestNN and test_Conv3d_dilated_strided)" %} # [win] + {% set skips = skips ~ " or (TestNN and test_Conv3d_pad_same_dilated)" %} # [win] + {% set skips = skips ~ " or (TestNN and test_Conv3d_stride)" %} # [win] + {% set skips = skips ~ " or (TestNN and test_Conv3d_stride_padding)" %} # [win] # the whole test suite takes forever, but we should get a good enough coverage # for potential packaging problems by running a fixed subset - export OMP_NUM_THREADS=4 # [unix] - - python -m pytest -n auto {{ tests }} -k "not ({{ skips }})" --durations=50 # [not (aarch64 and cuda_compiler_version != "None")] + # reduced paralellism to avoid OOM; test only one python version on aarch because emulation is super-slow + - python -m pytest -n 2 {{ tests }} -k "not ({{ skips }})" --durations=50 # [unix and (not aarch64 or py==312)] + - python -m pytest -v -s {{ tests }} -k "not ({{ skips }})" --durations=50 # [win] # 2021/08/01, hmaarrfk # While this seems like a roundabout way of defining the package name @@ -388,4 +488,5 @@ extra: - benjaminrwilson - Tobias-Fischer - beckermr + - baszalmstra feedstock-name: pytorch-cpu 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 2def43e4..fab6479d 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,14 +1,14 @@ -From 95310cd1178bee8a2df8406a25f1ca80af83f053 Mon Sep 17 00:00:00 2001 +From f3a0f9aab6dce56eea590b946f60256014b61bf7 Mon Sep 17 00:00:00 2001 From: Mark Harfouche Date: Sun, 1 Sep 2024 17:35:40 -0400 -Subject: [PATCH 01/13] 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 e78305e0a8..15c6254860 100644 +index e78305e0a8e..15c62548601 100644 --- a/cmake/Dependencies.cmake +++ b/cmake/Dependencies.cmake @@ -861,9 +861,9 @@ if(BUILD_PYTHON) diff --git a/recipe/patches/0002-Help-find-numpy.patch b/recipe/patches/0002-Help-find-numpy.patch index c271105a..58792c4b 100644 --- a/recipe/patches/0002-Help-find-numpy.patch +++ b/recipe/patches/0002-Help-find-numpy.patch @@ -1,14 +1,14 @@ -From d79c9df23809c13b603126955f639726c1446cef Mon Sep 17 00:00:00 2001 +From 21c30036b5b86f403c0cf4426165d9a6a50edb1a Mon Sep 17 00:00:00 2001 From: Mark Harfouche Date: Tue, 1 Oct 2024 00:28:40 -0400 -Subject: [PATCH 02/13] 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 4b605fe597..bde41323c7 100644 +index 4b605fe5975..bde41323c76 100644 --- a/tools/setup_helpers/cmake.py +++ b/tools/setup_helpers/cmake.py @@ -305,9 +305,15 @@ class CMake: diff --git a/recipe/patches/0003-Add-USE_SYSTEM_NVTX-option-138287.patch b/recipe/patches/0003-Add-USE_SYSTEM_NVTX-option-138287.patch index 469263fb..38baefeb 100644 --- a/recipe/patches/0003-Add-USE_SYSTEM_NVTX-option-138287.patch +++ b/recipe/patches/0003-Add-USE_SYSTEM_NVTX-option-138287.patch @@ -1,7 +1,7 @@ -From 02f343da493192ab857781aa5698ec3008282688 Mon Sep 17 00:00:00 2001 +From d1826af525db41eda5020a1404f5d5521d67a5dc Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sat, 19 Oct 2024 04:26:01 +0000 -Subject: [PATCH 03/13] Add USE_SYSTEM_NVTX option (#138287) +Subject: [PATCH 03/15] Add USE_SYSTEM_NVTX option (#138287) ## Summary @@ -21,7 +21,7 @@ Approved by: https://github.com/albanD 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 98593c2de9..ae3c3f2cbd 100644 +index 98593c2de97..ae3c3f2cbd5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -470,6 +470,7 @@ option(USE_SYSTEM_FXDIV "Use system-provided fxdiv." OFF) @@ -41,7 +41,7 @@ index 98593c2de9..ae3c3f2cbd 100644 # /Z7 override option When generating debug symbols, CMake default to use the diff --git a/cmake/public/cuda.cmake b/cmake/public/cuda.cmake -index afc1bc12ab..152fbdbe6d 100644 +index afc1bc12abf..152fbdbe6dd 100644 --- a/cmake/public/cuda.cmake +++ b/cmake/public/cuda.cmake @@ -170,7 +170,11 @@ else() @@ -58,7 +58,7 @@ index afc1bc12ab..152fbdbe6d 100644 if(nvtx3_FOUND) add_library(torch::nvtx3 INTERFACE IMPORTED) diff --git a/setup.py b/setup.py -index 2b0cfa99d7..7174777ed4 100644 +index 2b0cfa99d71..7174777ed4e 100644 --- a/setup.py +++ b/setup.py @@ -183,7 +183,21 @@ diff --git a/recipe/patches/0004-Update-sympy-version.patch b/recipe/patches/0004-Update-sympy-version.patch index de2978f6..3767fdfc 100644 --- a/recipe/patches/0004-Update-sympy-version.patch +++ b/recipe/patches/0004-Update-sympy-version.patch @@ -1,14 +1,14 @@ -From cc95a56d612815f171ba7e71d921f66abfcf2a81 Mon Sep 17 00:00:00 2001 +From e3219c5fe8834753b0cf9e92be4d1ef1e874f370 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Thu, 17 Oct 2024 15:04:05 -0700 -Subject: [PATCH 04/13] Update sympy version +Subject: [PATCH 04/15] Update sympy version --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py -index 7174777ed4..65be34e39b 100644 +index 7174777ed4e..65be34e39b1 100644 --- a/setup.py +++ b/setup.py @@ -1158,7 +1158,7 @@ def main(): diff --git a/recipe/patches/0005-Fix-duplicate-linker-script.patch b/recipe/patches/0005-Fix-duplicate-linker-script.patch index c2afb7ef..9fc6adab 100644 --- a/recipe/patches/0005-Fix-duplicate-linker-script.patch +++ b/recipe/patches/0005-Fix-duplicate-linker-script.patch @@ -1,14 +1,14 @@ -From dbe121ede5c3564f78f4ff1278c4966161cf66d5 Mon Sep 17 00:00:00 2001 +From 08a1f44fbc81324aa98d720dfb7b87a261923ac2 Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Sun, 3 Nov 2024 01:12:36 -0700 -Subject: [PATCH 05/13] Fix duplicate linker script +Subject: [PATCH 05/15] Fix duplicate linker script --- setup.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py -index 65be34e39b..b0e01e0d1e 100644 +index 65be34e39b1..b0e01e0d1ee 100644 --- a/setup.py +++ b/setup.py @@ -1184,7 +1184,9 @@ def main(): diff --git a/recipe/patches/0006-3.13-fix-3.13-pickle-error-in-serialization.py-13603.patch b/recipe/patches/0006-fix-3.13-pickle-error-in-serialization.py-136034.patch similarity index 91% rename from recipe/patches/0006-3.13-fix-3.13-pickle-error-in-serialization.py-13603.patch rename to recipe/patches/0006-fix-3.13-pickle-error-in-serialization.py-136034.patch index 296f416d..d4253916 100644 --- a/recipe/patches/0006-3.13-fix-3.13-pickle-error-in-serialization.py-13603.patch +++ b/recipe/patches/0006-fix-3.13-pickle-error-in-serialization.py-136034.patch @@ -1,8 +1,7 @@ -From 693df5ec6aec12c70379fce644accca8e02a25d7 Mon Sep 17 00:00:00 2001 +From 15df314a41c69a31c0443254d5552aa1b39d708d Mon Sep 17 00:00:00 2001 From: William Wen Date: Fri, 13 Sep 2024 13:02:33 -0700 -Subject: [PATCH 06/13] [3.13] fix 3.13 pickle error in serialization.py - (#136034) +Subject: [PATCH 06/15] fix 3.13 pickle error in serialization.py (#136034) Error encountered when adding dynamo 3.13 support. Pull Request resolved: https://github.com/pytorch/pytorch/pull/136034 @@ -12,7 +11,7 @@ Approved by: https://github.com/albanD 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/torch/serialization.py b/torch/serialization.py -index d936d31d6f..d937680c03 100644 +index d936d31d6f5..d937680c031 100644 --- a/torch/serialization.py +++ b/torch/serialization.py @@ -1005,8 +1005,12 @@ def _legacy_save(obj, f, pickle_module, pickle_protocol) -> None: diff --git a/recipe/patches/0007-Allow-users-to-overwrite-ld-with-environment-variabl.patch b/recipe/patches/0007-Allow-users-to-overwrite-ld-with-environment-variabl.patch index aaba6075..514982cc 100644 --- a/recipe/patches/0007-Allow-users-to-overwrite-ld-with-environment-variabl.patch +++ b/recipe/patches/0007-Allow-users-to-overwrite-ld-with-environment-variabl.patch @@ -1,7 +1,7 @@ -From 9a77ee329d43cd69200bde74cb5e37324451e6f7 Mon Sep 17 00:00:00 2001 +From 655f694854c3eafdd631235b60bc6c1b279218ed Mon Sep 17 00:00:00 2001 From: Mark Harfouche Date: Thu, 3 Oct 2024 22:49:56 -0400 -Subject: [PATCH 07/13] Allow users to overwrite ld with environment variables +Subject: [PATCH 07/15] Allow users to overwrite ld with environment variables This should help in the case of cross compilation. @@ -11,7 +11,7 @@ xref: https://github.com/conda-forge/pytorch-cpu-feedstock/pull/261 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/setup_helpers/generate_linker_script.py b/tools/setup_helpers/generate_linker_script.py -index 11c397a9e5..e66fc19706 100644 +index 11c397a9e5f..e66fc197062 100644 --- a/tools/setup_helpers/generate_linker_script.py +++ b/tools/setup_helpers/generate_linker_script.py @@ -1,3 +1,4 @@ diff --git a/recipe/patches/0008-Allow-libcufile-for-conda-builds.patch b/recipe/patches/0008-Allow-libcufile-for-conda-builds.patch index 33b45617..95c7a842 100644 --- a/recipe/patches/0008-Allow-libcufile-for-conda-builds.patch +++ b/recipe/patches/0008-Allow-libcufile-for-conda-builds.patch @@ -1,14 +1,14 @@ -From 79b7588b6476588a77fcd7956fceb333b3b4895a Mon Sep 17 00:00:00 2001 +From 2578bf017b0453c8eb028a09b7523fb150429eca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Fri, 22 Nov 2024 17:50:53 +0100 -Subject: [PATCH 08/13] Allow libcufile for conda builds +Subject: [PATCH 08/15] Allow libcufile for conda builds --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index ae3c3f2cbd..3a845151cf 100644 +index ae3c3f2cbd5..3a845151cf8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -255,7 +255,7 @@ cmake_dependent_option(USE_CUDSS "Use cuDSS" ON "USE_CUDA" OFF) diff --git a/recipe/patches/0009-Allow-overriding-CUDA-related-paths.patch b/recipe/patches/0009-Allow-overriding-CUDA-related-paths.patch index 59bdaf64..8c09887b 100644 --- a/recipe/patches/0009-Allow-overriding-CUDA-related-paths.patch +++ b/recipe/patches/0009-Allow-overriding-CUDA-related-paths.patch @@ -1,7 +1,7 @@ -From 56b15e05ca8018c4691d0ebf6c71376dd0cec9b7 Mon Sep 17 00:00:00 2001 +From 52e530f222f2d30531c8da889695ac2674964245 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 09/13] Allow overriding CUDA-related paths +Subject: [PATCH 09/15] Allow overriding CUDA-related paths --- cmake/Modules/FindCUDAToolkit.cmake | 2 +- @@ -9,7 +9,7 @@ Subject: [PATCH 09/13] Allow overriding CUDA-related paths 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/Modules/FindCUDAToolkit.cmake b/cmake/Modules/FindCUDAToolkit.cmake -index ec9ae530aa..b7c0bd9fc5 100644 +index ec9ae530aa6..b7c0bd9fc51 100644 --- a/cmake/Modules/FindCUDAToolkit.cmake +++ b/cmake/Modules/FindCUDAToolkit.cmake @@ -497,7 +497,7 @@ Result variables @@ -22,7 +22,7 @@ index ec9ae530aa..b7c0bd9fc5 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 bde41323c7..b171837cd4 100644 +index bde41323c76..b171837cd4a 100644 --- a/tools/setup_helpers/cmake.py +++ b/tools/setup_helpers/cmake.py @@ -252,7 +252,7 @@ class CMake: diff --git a/recipe/patches/0010-Fix-test-test_linalg.py-for-NumPy-2-136800.patch b/recipe/patches/0010-Fix-test-test_linalg.py-for-NumPy-2-136800.patch index 4b10d926..4dcc58a8 100644 --- a/recipe/patches/0010-Fix-test-test_linalg.py-for-NumPy-2-136800.patch +++ b/recipe/patches/0010-Fix-test-test_linalg.py-for-NumPy-2-136800.patch @@ -1,7 +1,7 @@ -From f3ce4b8087ebdcbb6d9409fa9649d00f8c419d6f Mon Sep 17 00:00:00 2001 +From db0902077a0ef68d0a48ae42f3b60f9cff7b2248 Mon Sep 17 00:00:00 2001 From: Haifeng Jin Date: Tue, 1 Oct 2024 07:53:24 +0000 -Subject: [PATCH 10/13] Fix test/test_linalg.py for NumPy 2 (#136800) +Subject: [PATCH 10/15] Fix test/test_linalg.py for NumPy 2 (#136800) Related to #107302. @@ -36,7 +36,7 @@ Approved by: https://github.com/lezcano 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/test/test_linalg.py b/test/test_linalg.py -index e9ec874d69..060bccef2e 100644 +index e9ec874d695..060bccef2e5 100644 --- a/test/test_linalg.py +++ b/test/test_linalg.py @@ -2351,7 +2351,7 @@ class TestLinalg(TestCase): diff --git a/recipe/patches/0011-Fixes-NumPy-2-test-failures-in-test_torch.py-137740.patch b/recipe/patches/0011-Fixes-NumPy-2-test-failures-in-test_torch.py-137740.patch index 28c49819..fe156f3d 100644 --- a/recipe/patches/0011-Fixes-NumPy-2-test-failures-in-test_torch.py-137740.patch +++ b/recipe/patches/0011-Fixes-NumPy-2-test-failures-in-test_torch.py-137740.patch @@ -1,7 +1,7 @@ -From 3009c1400c1707ef016501827c7d90c46cd802a7 Mon Sep 17 00:00:00 2001 +From a1ced1daa37fdcf5345aa0c3095cab8674c1cded Mon Sep 17 00:00:00 2001 From: Haifeng Jin Date: Sat, 12 Oct 2024 02:40:17 +0000 -Subject: [PATCH 11/13] Fixes NumPy 2 test failures in test_torch.py (#137740) +Subject: [PATCH 11/15] Fixes NumPy 2 test failures in test_torch.py (#137740) Related to #107302 @@ -24,7 +24,7 @@ Approved by: https://github.com/ezyang 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/test_torch.py b/test/test_torch.py -index be4d618081..c6fd6ac9f1 100644 +index be4d6180819..c6fd6ac9f19 100644 --- a/test/test_torch.py +++ b/test/test_torch.py @@ -2891,7 +2891,7 @@ else: diff --git a/recipe/patches/0013-Use-BLAS_USE_CBLAS_DOT-for-OpenBLAS-builds.patch b/recipe/patches/0012-Use-BLAS_USE_CBLAS_DOT-for-OpenBLAS-builds.patch similarity index 89% rename from recipe/patches/0013-Use-BLAS_USE_CBLAS_DOT-for-OpenBLAS-builds.patch rename to recipe/patches/0012-Use-BLAS_USE_CBLAS_DOT-for-OpenBLAS-builds.patch index 639c6621..4d2159dd 100644 --- a/recipe/patches/0013-Use-BLAS_USE_CBLAS_DOT-for-OpenBLAS-builds.patch +++ b/recipe/patches/0012-Use-BLAS_USE_CBLAS_DOT-for-OpenBLAS-builds.patch @@ -1,7 +1,7 @@ -From 9d3dc17fe4f127544be138ada7d242b8af48b14d Mon Sep 17 00:00:00 2001 +From e74a39d09953d4c4dd293e167121cfe83fb172ec Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Wed, 18 Dec 2024 03:59:00 +0000 -Subject: [PATCH 13/13] Use BLAS_USE_CBLAS_DOT for OpenBLAS builds +Subject: [PATCH 12/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, 1 insertion(+) diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake -index 15c6254860..3965416eb2 100644 +index 15c62548601..3965416eb29 100644 --- a/cmake/Dependencies.cmake +++ b/cmake/Dependencies.cmake @@ -182,6 +182,7 @@ elseif(BLAS STREQUAL "OpenBLAS") diff --git a/recipe/patches/0014-fix-issue-142484.patch b/recipe/patches/0013-fix-issue-142484.patch similarity index 88% rename from recipe/patches/0014-fix-issue-142484.patch rename to recipe/patches/0013-fix-issue-142484.patch index 88444fca..528b0371 100644 --- a/recipe/patches/0014-fix-issue-142484.patch +++ b/recipe/patches/0013-fix-issue-142484.patch @@ -1,7 +1,7 @@ -From 714ead5bf5c7e7ac0f91934232af2e1966b562fb Mon Sep 17 00:00:00 2001 +From 67b122f715e93592f1d7913ab970619f7b571b96 Mon Sep 17 00:00:00 2001 From: "Zheng, Zhaoqiong" Date: Fri, 27 Dec 2024 13:49:36 +0800 -Subject: [PATCH] fix issue 142484 +Subject: [PATCH 13/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 e26cfbf6d..c61b76d32 100644 +index e26cfbf6d8e..c61b76d3205 100644 --- a/aten/src/ATen/native/mkl/SpectralOps.cpp +++ b/aten/src/ATen/native/mkl/SpectralOps.cpp @@ -477,7 +477,17 @@ static Tensor& _exec_fft(Tensor& out, const Tensor& self, IntArrayRef out_sizes, @@ -31,6 +31,3 @@ index e26cfbf6d..c61b76d32 100644 auto descriptor = _plan_mkl_fft( input.strides(), out.strides(), signal_size, input.is_complex(), out.is_complex(), normalization, forward, value_type); --- -2.47.1 - diff --git a/recipe/patches/0014-Fix-FindOpenBLAS.patch b/recipe/patches/0014-Fix-FindOpenBLAS.patch new file mode 100644 index 00000000..33fb2ffb --- /dev/null +++ b/recipe/patches/0014-Fix-FindOpenBLAS.patch @@ -0,0 +1,45 @@ +From a6924f47769d3d068b6d8e40686733b7ff32544e Mon Sep 17 00:00:00 2001 +From: Bas Zalmstra +Date: Thu, 16 May 2024 10:46:49 +0200 +Subject: [PATCH 14/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 +--- a/cmake/Modules/FindOpenBLAS.cmake ++++ b/cmake/Modules/FindOpenBLAS.cmake +@@ -31,22 +31,25 @@ SET(Open_BLAS_LIB_SEARCH_PATHS + $ENV{OpenBLAS_HOME}/lib + ) + +-FIND_PATH(OpenBLAS_INCLUDE_DIR NAMES cblas.h PATHS ${Open_BLAS_INCLUDE_SEARCH_PATHS}) +-FIND_LIBRARY(OpenBLAS_LIB NAMES openblas PATHS ${Open_BLAS_LIB_SEARCH_PATHS}) +- + SET(OpenBLAS_FOUND ON) + + # Check include files ++FIND_PATH(OpenBLAS_INCLUDE_DIR NAMES cblas.h PATHS ${Open_BLAS_INCLUDE_SEARCH_PATHS}) + IF(NOT OpenBLAS_INCLUDE_DIR) + SET(OpenBLAS_FOUND OFF) + MESSAGE(STATUS "Could not find OpenBLAS include. Turning OpenBLAS_FOUND off") + ENDIF() + + # Check libraries +-IF(NOT OpenBLAS_LIB) ++FOREACH(LIB lapack cblas blas) ++ FIND_LIBRARY(FOUND_LIB_${LIB} NAMES ${LIB} PATHS ${Open_BLAS_LIB_SEARCH_PATHS}) ++ IF(NOT FOUND_LIB_${LIB}) + SET(OpenBLAS_FOUND OFF) +- MESSAGE(STATUS "Could not find OpenBLAS lib. Turning OpenBLAS_FOUND off") +-ENDIF() ++ MESSAGE(STATUS "Could not find OpenBLAS lib ${LIB}. Turning OpenBLAS_FOUND off") ++ ELSE() ++ LIST(APPEND OpenBLAS_LIB ${FOUND_LIB_${LIB}}) ++ ENDIF() ++ENDFOREACH() + + IF (OpenBLAS_FOUND) + IF (NOT OpenBLAS_FIND_QUIETLY) diff --git a/recipe/patches/0015-CD-Enable-Python-3.13-on-windows-138095.patch b/recipe/patches/0015-CD-Enable-Python-3.13-on-windows-138095.patch new file mode 100644 index 00000000..b62f6456 --- /dev/null +++ b/recipe/patches/0015-CD-Enable-Python-3.13-on-windows-138095.patch @@ -0,0 +1,52 @@ +From 66fa234eccfe98339bfa2bba6eae425ce27a037d Mon Sep 17 00:00:00 2001 +From: atalman +Date: Tue, 12 Nov 2024 12:28:10 +0000 +Subject: [PATCH 15/15] CD Enable Python 3.13 on windows (#138095) + +Adding CD windows. Part of: https://github.com/pytorch/pytorch/issues/130249 +Builder PR landed with smoke test: https://github.com/pytorch/builder/pull/2035 + +Pull Request resolved: https://github.com/pytorch/pytorch/pull/138095 +Approved by: https://github.com/Skylion007, https://github.com/malfet + +Cherry-pick-note: minus changes in `.github/*` +--- + functorch/csrc/dim/dim.cpp | 1 + + functorch/csrc/dim/dim_opcode.c | 13 ++++++++++++- + 2 files changed, 13 insertions(+), 1 deletion(-) + +diff --git a/functorch/csrc/dim/dim.cpp b/functorch/csrc/dim/dim.cpp +index 722618efbb0..f98818bfdcc 100644 +--- a/functorch/csrc/dim/dim.cpp ++++ b/functorch/csrc/dim/dim.cpp +@@ -38,6 +38,7 @@ PyObject* Dim_init() { + #include "python_variable_simple.h" + + #if IS_PYTHON_3_11_PLUS ++ + #define Py_BUILD_CORE + #include "internal/pycore_opcode.h" + #undef Py_BUILD_CORE +diff --git a/functorch/csrc/dim/dim_opcode.c b/functorch/csrc/dim/dim_opcode.c +index 81ba62a3781..1b5d0677344 100644 +--- a/functorch/csrc/dim/dim_opcode.c ++++ b/functorch/csrc/dim/dim_opcode.c +@@ -1,6 +1,17 @@ + #include + #if defined(_WIN32) && IS_PYTHON_3_11_PLUS + #define Py_BUILD_CORE +-#define NEED_OPCODE_TABLES ++#define NEED_OPCODE_TABLES // To get _PyOpcode_Deopt, _PyOpcode_Caches ++ ++#if IS_PYTHON_3_13_PLUS ++#include // To get PyUnstable_Code_GetFirstFree ++#define NEED_OPCODE_METADATA ++#include "internal/pycore_opcode_metadata.h" ++#undef NEED_OPCODE_METADATA ++#else + #include "internal/pycore_opcode.h" + #endif ++ ++#undef NEED_OPCODE_TABLES ++#undef Py_BUILD_CORE ++#endif
VariantStatus
linux_64_blas_implgenericc_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13linux_64_blas_implgenericc_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse - variant + variant
linux_64_blas_implgenericc_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13linux_64_blas_implgenericc_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalse - variant + variant
linux_64_blas_implmklc_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13linux_64_blas_implmklc_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse - variant + variant
linux_64_blas_implmklc_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13linux_64_blas_implmklc_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalse - variant + variant
linux_aarch64_c_compiler_version13cuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13linux_aarch64_c_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse - variant + variant
linux_aarch64_c_compiler_version13cuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13linux_aarch64_c_compiler_version13channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6cxx_compiler_version13is_rcFalse - variant + variant
osx_64_blas_implgenericnumpy2.0python3.10.____cpythonosx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython - variant + variant
osx_64_blas_implgenericnumpy2.0python3.11.____cpythonosx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython - variant + variant
osx_64_blas_implgenericnumpy2.0python3.12.____cpythonosx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython - variant + variant
osx_64_blas_implgenericnumpy2.0python3.9.____cpythonosx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython - variant + variant
osx_64_blas_implgenericnumpy2python3.13.____cp313osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313 - variant + variant
osx_64_blas_implmklnumpy2.0python3.10.____cpythonosx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython - variant + variant
osx_64_blas_implmklnumpy2.0python3.11.____cpythonosx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython - variant + variant
osx_64_blas_implmklnumpy2.0python3.12.____cpythonosx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython - variant + variant
osx_64_blas_implmklnumpy2.0python3.9.____cpythonosx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython - variant + variant
osx_64_blas_implmklnumpy2python3.13.____cp313osx_64_blas_implmklchannel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313 - variant + variant
osx_arm64_numpy2.0python3.10.____cpythonosx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython - variant + variant
osx_arm64_numpy2.0python3.11.____cpythonosx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.11.____cpython - variant + variant
osx_arm64_numpy2.0python3.12.____cpythonosx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.12.____cpython - variant + variant
osx_arm64_numpy2.0python3.9.____cpythonosx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.9.____cpython - variant + variant
osx_arm64_numpy2python3.13.____cp313osx_arm64_channel_targetsconda-forge_mainis_rcFalsenumpy2python3.13.____cp313 - variant + variant + +
win_64_channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNoneis_rcFalse + + variant + +
win_64_channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.6is_rcFalse + + variant