From a6fac0e9692a7aa0feb12c26427b7937033487ed Mon Sep 17 00:00:00 2001 From: atalman Date: Mon, 26 Aug 2024 16:33:19 +0000 Subject: [PATCH] Use ephemeral runners for windows nightly builds (#134463) This is definition of windows.4xlarge: ``` windows.4xlarge: disk_size: 256 instance_type: c5d.4xlarge is_ephemeral: true max_available: 420 os: windows ``` Pull Request resolved: https://github.com/pytorch/pytorch/pull/134463 Approved by: https://github.com/jeanschmidt --- .github/actionlint.yaml | 1 + .../windows_binary_build_workflow.yml.j2 | 4 +++ ...generated-windows-binary-conda-nightly.yml | 32 +++++++++---------- ...-windows-binary-libtorch-debug-nightly.yml | 8 ++--- ...indows-binary-libtorch-release-nightly.yml | 8 ++--- ...generated-windows-binary-wheel-nightly.yml | 32 +++++++++---------- 6 files changed, 45 insertions(+), 40 deletions(-) diff --git a/.github/actionlint.yaml b/.github/actionlint.yaml index 3408ca3b1c3..919c4b4db7b 100644 --- a/.github/actionlint.yaml +++ b/.github/actionlint.yaml @@ -60,6 +60,7 @@ self-hosted-runner: # Organization wide AWS Windows runners - windows.g4dn.xlarge - windows.g4dn.xlarge.nonephemeral + - windows.4xlarge - windows.4xlarge.nonephemeral - windows.8xlarge.nvidia.gpu - windows.8xlarge.nvidia.gpu.nonephemeral diff --git a/.github/templates/windows_binary_build_workflow.yml.j2 b/.github/templates/windows_binary_build_workflow.yml.j2 index 06646f449fc..3b087fb4f6e 100644 --- a/.github/templates/windows_binary_build_workflow.yml.j2 +++ b/.github/templates/windows_binary_build_workflow.yml.j2 @@ -66,7 +66,11 @@ jobs: !{{ config["build_name"] }}-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type + {%- if branches == "nightly" %} + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" + {%- else %} runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + {%- endif %} timeout-minutes: !{{ common.timeout_minutes }} !{{ upload.binary_env(config, True) }} {%- if config.pytorch_extra_install_requirements is defined and config.pytorch_extra_install_requirements|d('')|length > 0 %} diff --git a/.github/workflows/generated-windows-binary-conda-nightly.yml b/.github/workflows/generated-windows-binary-conda-nightly.yml index dac8a32e14a..8cc1b90e8e8 100644 --- a/.github/workflows/generated-windows-binary-conda-nightly.yml +++ b/.github/workflows/generated-windows-binary-conda-nightly.yml @@ -43,7 +43,7 @@ jobs: conda-py3_9-cpu-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -288,7 +288,7 @@ jobs: conda-py3_9-cuda11_8-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -536,7 +536,7 @@ jobs: conda-py3_9-cuda12_1-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -784,7 +784,7 @@ jobs: conda-py3_9-cuda12_4-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -1032,7 +1032,7 @@ jobs: conda-py3_10-cpu-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -1277,7 +1277,7 @@ jobs: conda-py3_10-cuda11_8-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -1525,7 +1525,7 @@ jobs: conda-py3_10-cuda12_1-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -1773,7 +1773,7 @@ jobs: conda-py3_10-cuda12_4-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -2021,7 +2021,7 @@ jobs: conda-py3_11-cpu-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -2266,7 +2266,7 @@ jobs: conda-py3_11-cuda11_8-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -2514,7 +2514,7 @@ jobs: conda-py3_11-cuda12_1-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -2762,7 +2762,7 @@ jobs: conda-py3_11-cuda12_4-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -3010,7 +3010,7 @@ jobs: conda-py3_12-cpu-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -3255,7 +3255,7 @@ jobs: conda-py3_12-cuda11_8-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -3503,7 +3503,7 @@ jobs: conda-py3_12-cuda12_1-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -3751,7 +3751,7 @@ jobs: conda-py3_12-cuda12_4-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch diff --git a/.github/workflows/generated-windows-binary-libtorch-debug-nightly.yml b/.github/workflows/generated-windows-binary-libtorch-debug-nightly.yml index 8f1576d3956..e59a82e63cb 100644 --- a/.github/workflows/generated-windows-binary-libtorch-debug-nightly.yml +++ b/.github/workflows/generated-windows-binary-libtorch-debug-nightly.yml @@ -43,7 +43,7 @@ jobs: libtorch-cpu-shared-with-deps-debug-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -300,7 +300,7 @@ jobs: libtorch-cuda11_8-shared-with-deps-debug-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -560,7 +560,7 @@ jobs: libtorch-cuda12_1-shared-with-deps-debug-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -820,7 +820,7 @@ jobs: libtorch-cuda12_4-shared-with-deps-debug-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch diff --git a/.github/workflows/generated-windows-binary-libtorch-release-nightly.yml b/.github/workflows/generated-windows-binary-libtorch-release-nightly.yml index c2d1b7009ff..b41d421322e 100644 --- a/.github/workflows/generated-windows-binary-libtorch-release-nightly.yml +++ b/.github/workflows/generated-windows-binary-libtorch-release-nightly.yml @@ -43,7 +43,7 @@ jobs: libtorch-cpu-shared-with-deps-release-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -300,7 +300,7 @@ jobs: libtorch-cuda11_8-shared-with-deps-release-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -560,7 +560,7 @@ jobs: libtorch-cuda12_1-shared-with-deps-release-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -820,7 +820,7 @@ jobs: libtorch-cuda12_4-shared-with-deps-release-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch diff --git a/.github/workflows/generated-windows-binary-wheel-nightly.yml b/.github/workflows/generated-windows-binary-wheel-nightly.yml index 7088e10b5c1..287558aa22a 100644 --- a/.github/workflows/generated-windows-binary-wheel-nightly.yml +++ b/.github/workflows/generated-windows-binary-wheel-nightly.yml @@ -43,7 +43,7 @@ jobs: wheel-py3_9-cpu-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -289,7 +289,7 @@ jobs: wheel-py3_9-cuda11_8-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -538,7 +538,7 @@ jobs: wheel-py3_9-cuda12_1-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -787,7 +787,7 @@ jobs: wheel-py3_9-cuda12_4-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -1036,7 +1036,7 @@ jobs: wheel-py3_10-cpu-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -1282,7 +1282,7 @@ jobs: wheel-py3_10-cuda11_8-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -1531,7 +1531,7 @@ jobs: wheel-py3_10-cuda12_1-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -1780,7 +1780,7 @@ jobs: wheel-py3_10-cuda12_4-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -2029,7 +2029,7 @@ jobs: wheel-py3_11-cpu-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -2275,7 +2275,7 @@ jobs: wheel-py3_11-cuda11_8-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -2524,7 +2524,7 @@ jobs: wheel-py3_11-cuda12_1-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -2773,7 +2773,7 @@ jobs: wheel-py3_11-cuda12_4-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -3022,7 +3022,7 @@ jobs: wheel-py3_12-cpu-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -3268,7 +3268,7 @@ jobs: wheel-py3_12-cuda11_8-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -3517,7 +3517,7 @@ jobs: wheel-py3_12-cuda12_1-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch @@ -3766,7 +3766,7 @@ jobs: wheel-py3_12-cuda12_4-build: if: ${{ github.repository_owner == 'pytorch' }} needs: get-label-type - runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral" + runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge" timeout-minutes: 240 env: PYTORCH_ROOT: ${{ github.workspace }}/pytorch