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.9is_rcFalse.yaml similarity index 100% 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.9is_rcFalse.yaml 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.17channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml similarity index 100% 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.17channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml diff --git a/.ci_support/linux_64_blas_implgenericc_stdlib_version2.28channel_targetsconda-forge_maincuda_compiler_version13.0is_rcFalse.yaml b/.ci_support/linux_64_blas_implgenericc_stdlib_version2.28channel_targetsconda-forge_maincuda_compiler_version13.0is_rcFalse.yaml new file mode 100644 index 00000000..a7f66215 --- /dev/null +++ b/.ci_support/linux_64_blas_implgenericc_stdlib_version2.28channel_targetsconda-forge_maincuda_compiler_version13.0is_rcFalse.yaml @@ -0,0 +1,82 @@ +blas_impl: +- generic +c_compiler: +- gcc +c_compiler_version: +- '14' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.28' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- '13.0' +cudnn: +- '9' +cxx_compiler: +- gxx +cxx_compiler_version: +- '14' +docker_image: +- quay.io/condaforge/linux-anvil-x86_64:alma9 +fmt: +- '12.0' +github_actions_labels: +- cirun-openstack-gpu-2xlarge +is_rc: +- 'False' +libabseil: +- '20250512' +libblas: +- 3.9.* *netlib +libcblas: +- 3.9.* *netlib +liblapack: +- 3.9.* *netlib +libmagma_sparse: +- '2.9' +libprotobuf: +- 6.31.1 +libtorch: +- '2.7' +magma: +- '2.9' +mkl: +- '2025' +mkl_devel: +- '2025' +nccl: +- '2' +numpy: +- '2' +orc: +- 2.2.1 +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 +pytorch: +- '2.7' +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_version12.9is_rcFalse.yaml b/.ci_support/linux_64_blas_implmklc_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml similarity index 100% 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.9is_rcFalse.yaml 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.17channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml similarity index 100% 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.17channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml diff --git a/.ci_support/linux_64_blas_implmklc_stdlib_version2.28channel_targetsconda-forge_maincuda_compiler_version13.0is_rcFalse.yaml b/.ci_support/linux_64_blas_implmklc_stdlib_version2.28channel_targetsconda-forge_maincuda_compiler_version13.0is_rcFalse.yaml new file mode 100644 index 00000000..8f4c3279 --- /dev/null +++ b/.ci_support/linux_64_blas_implmklc_stdlib_version2.28channel_targetsconda-forge_maincuda_compiler_version13.0is_rcFalse.yaml @@ -0,0 +1,82 @@ +blas_impl: +- mkl +c_compiler: +- gcc +c_compiler_version: +- '14' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.28' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- '13.0' +cudnn: +- '9' +cxx_compiler: +- gxx +cxx_compiler_version: +- '14' +docker_image: +- quay.io/condaforge/linux-anvil-x86_64:alma9 +fmt: +- '12.0' +github_actions_labels: +- cirun-openstack-gpu-2xlarge +is_rc: +- 'False' +libabseil: +- '20250512' +libblas: +- 3.9.* *netlib +libcblas: +- 3.9.* *netlib +liblapack: +- 3.9.* *netlib +libmagma_sparse: +- '2.9' +libprotobuf: +- 6.31.1 +libtorch: +- '2.7' +magma: +- '2.9' +mkl: +- '2025' +mkl_devel: +- '2025' +nccl: +- '2' +numpy: +- '2' +orc: +- 2.2.1 +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 +pytorch: +- '2.7' +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_aarch64_channel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml b/.ci_support/linux_aarch64_c_compiler_version13c_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_version12.9cxx_compiler_version13is_rcFalse.yaml similarity index 100% rename from .ci_support/linux_aarch64_channel_targetsconda-forge_maincuda_compiler_version12.9is_rcFalse.yaml rename to .ci_support/linux_aarch64_c_compiler_version13c_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_version12.9cxx_compiler_version13is_rcFalse.yaml diff --git a/.ci_support/linux_aarch64_channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml b/.ci_support/linux_aarch64_c_compiler_version13c_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_versionNonecxx_compiler_version13is_rcFalse.yaml similarity index 100% rename from .ci_support/linux_aarch64_channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse.yaml rename to .ci_support/linux_aarch64_c_compiler_version13c_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_versionNonecxx_compiler_version13is_rcFalse.yaml diff --git a/.ci_support/linux_aarch64_c_compiler_version14c_stdlib_version2.28channel_targetsconda-forge_maincuda_compiler_version13.0cxx_compiler_version14is_rcFalse.yaml b/.ci_support/linux_aarch64_c_compiler_version14c_stdlib_version2.28channel_targetsconda-forge_maincuda_compiler_version13.0cxx_compiler_version14is_rcFalse.yaml new file mode 100644 index 00000000..e761bd22 --- /dev/null +++ b/.ci_support/linux_aarch64_c_compiler_version14c_stdlib_version2.28channel_targetsconda-forge_maincuda_compiler_version13.0cxx_compiler_version14is_rcFalse.yaml @@ -0,0 +1,80 @@ +blas_impl: +- generic +c_compiler: +- gcc +c_compiler_version: +- '14' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.28' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- '13.0' +cudnn: +- '9' +cxx_compiler: +- gxx +cxx_compiler_version: +- '14' +docker_image: +- quay.io/condaforge/linux-anvil-x86_64:alma9 +fmt: +- '12.0' +github_actions_labels: +- cirun-openstack-gpu-2xlarge +is_rc: +- 'False' +libabseil: +- '20250512' +libblas: +- 3.9.* *netlib +libcblas: +- 3.9.* *netlib +liblapack: +- 3.9.* *netlib +libmagma_sparse: +- '2.9' +libprotobuf: +- 6.31.1 +libtorch: +- '2.7' +magma: +- '2.9' +mkl: +- '2025' +nccl: +- '2' +numpy: +- '2' +orc: +- 2.2.1 +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 +pytorch: +- '2.7' +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/migrations/cuda130.yaml b/.ci_support/migrations/cuda130.yaml new file mode 100644 index 00000000..2bc82b75 --- /dev/null +++ b/.ci_support/migrations/cuda130.yaml @@ -0,0 +1,62 @@ +migrator_ts: 1755016036 +__migrator: + operation: key_add + migration_number: + 1 + build_number: + 1 + paused: false + 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"] + +c_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"] + +cxx_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"] + +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/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 00000000..5cd1b22b --- /dev/null +++ b/.ci_support/win_64_channel_targetsconda-forge_maincuda_compiler_version13.0is_rcFalse.yaml @@ -0,0 +1,62 @@ +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' +cudnn: +- '9' +cxx_compiler: +- vs2022 +fmt: +- '12.0' +github_actions_labels: +- cirun-azure-windows-4xlarge +is_rc: +- 'False' +libabseil: +- '20250512' +libmagma_sparse: +- '2.9' +libprotobuf: +- 6.31.1 +libtorch: +- '2.7' +magma: +- '2.9' +mkl: +- '2025' +mkl_devel: +- '2025' +numpy: +- '2' +orc: +- 2.2.1 +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 +pytorch: +- '2.7' +target_platform: +- win-64 +zip_keys: +- - channel_targets + - is_rc +zlib: +- '1' diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml index d89b5d08..f59f15f1 100644 --- a/.github/workflows/conda-build.yml +++ b/.github/workflows/conda-build.yml @@ -21,46 +21,67 @@ 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.9is_rcFalse + SHORT_CONFIG: linux_64_blas_implgenericc_stdlib_versio_ha337e3e8 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_ha337e3e8', '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_versionNoneis_rcFalse + SHORT_CONFIG: linux_64_blas_implgenericc_stdlib_versio_hce440a74 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-gpu-2xlarge--${{ github.run_id }}-linux_64_blas_implgenericc_stdlib_versio_hce440a74', '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_implgenericc_stdlib_version2.28channel_targetsconda-forge_maincuda_compiler_version13.0is_rcFalse + SHORT_CONFIG: linux_64_blas_implgenericc_stdlib_versio_h6d8c6d32 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_implgenericc_stdlib_versio_h6d8c6d32', '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_version12.9is_rcFalse + SHORT_CONFIG: linux_64_blas_implmklc_stdlib_version2.1_h3446106f 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.1_h3446106f', '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_64_blas_implmklc_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_versionNoneis_rcFalse + SHORT_CONFIG: linux_64_blas_implmklc_stdlib_version2.1_hb8a19044 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_64_blas_implmklc_stdlib_version2.1_hb8a19044', '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_64_blas_implmklc_stdlib_version2.28channel_targetsconda-forge_maincuda_compiler_version13.0is_rcFalse + SHORT_CONFIG: linux_64_blas_implmklc_stdlib_version2.2_h9c1f7cb3 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-gpu-2xlarge--${{ github.run_id }}-linux_64_blas_implmklc_stdlib_version2.2_h9c1f7cb3', '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_version13c_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_version12.9cxx_compiler_version13is_rcFalse + SHORT_CONFIG: linux_aarch64_c_compiler_version13c_stdl_h1357704e + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_aarch64_c_compiler_version13c_stdl_h1357704e', '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_version13c_stdlib_version2.17channel_targetsconda-forge_maincuda_compiler_versionNonecxx_compiler_version13is_rcFalse + SHORT_CONFIG: linux_aarch64_c_compiler_version13c_stdl_h5e3372c8 + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_aarch64_c_compiler_version13c_stdl_h5e3372c8', '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_version14c_stdlib_version2.28channel_targetsconda-forge_maincuda_compiler_version13.0cxx_compiler_version14is_rcFalse + SHORT_CONFIG: linux_aarch64_c_compiler_version14c_stdl_hf952b706 + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_aarch64_c_compiler_version14c_stdl_hf952b706', '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 +104,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 c4750dc4..61e25dab 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+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 dd24fc2d..d9da716d 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+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/meta.yaml b/recipe/meta.yaml index f9164594..17038f02 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -67,6 +67,8 @@ source: build: number: {{ build }} + # debug + skip: true # [cuda_compiler_version != "13.0"] # 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. @@ -78,6 +80,9 @@ build: 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: @@ -115,27 +120,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 @@ -232,6 +239,8 @@ outputs: string: cuda{{ cuda_compiler_version | replace('.', '') }}_{{ blas_impl }}_py{{ CONDA_PY }}_h{{ PKG_HASH }}_{{ build }} # [cuda_compiler_version != "None"] string: cpu_{{ blas_impl }}_py{{ CONDA_PY }}_h{{ PKG_HASH }}_{{ build }} # [cuda_compiler_version == "None"] detect_binary_files_with_prefix: false + # debug + skip: true # [py!=312] run_exports: - {{ pin_subpackage('pytorch', max_pin='x.x') }} - {{ pin_subpackage('libtorch', max_pin='x.x') }} @@ -257,28 +266,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 @@ -335,6 +345,8 @@ outputs: string: cuda{{ cuda_compiler_version | replace('.', '') }}_{{ blas_impl }}_py{{ CONDA_PY }}_h{{ PKG_HASH }}_{{ build }} # [cuda_compiler_version != "None"] string: cpu_{{ blas_impl }}_py{{ CONDA_PY }}_h{{ PKG_HASH }}_{{ build }} # [cuda_compiler_version == "None"] detect_binary_files_with_prefix: false + # debug + skip: true # [py!=312] requirements: host: - python @@ -514,7 +526,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 --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;