• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @generated DO NOT EDIT MANUALLY
2
3# Template is at:    .github/templates/linux_binary_build_workflow.yml.j2
4# Generation script: .github/scripts/generate_ci_workflows.py
5name: linux-binary-manywheel-split
6
7
8on:
9  push:
10    # NOTE: Meta Employees can trigger new nightlies using: https://fburl.com/trigger_pytorch_nightly_build
11    branches:
12      - nightly
13    tags:
14      # NOTE: Binary build pipelines should only get triggered on release candidate builds
15      # Release candidate tags look like: v1.11.0-rc1
16      - v[0-9]+.[0-9]+.[0-9]+-rc[0-9]+
17      - 'ciflow/binaries/*'
18      - 'ciflow/binaries_wheel/*'
19  workflow_dispatch:
20
21env:
22  # Needed for conda builds
23  ALPINE_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/tool/alpine"
24  ANACONDA_USER: pytorch
25  AWS_DEFAULT_REGION: us-east-1
26  BINARY_ENV_FILE: /tmp/env
27  BUILD_ENVIRONMENT: linux-binary-manywheel-split
28  BUILDER_ROOT: /builder
29  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
30  PR_NUMBER: ${{ github.event.pull_request.number }}
31  PYTORCH_FINAL_PACKAGE_DIR: /artifacts
32  PYTORCH_ROOT: /pytorch
33  SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
34  SKIP_ALL_TESTS: 0
35concurrency:
36  group: linux-binary-manywheel-split-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}
37  cancel-in-progress: true
38
39jobs:
40  get-label-type:
41    name: get-label-type
42    uses: ./.github/workflows/_runner-determinator.yml
43    with:
44      triggering_actor: ${{ github.triggering_actor }}
45      issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
46      curr_branch: ${{ github.head_ref || github.ref_name }}
47      curr_ref_type: ${{ github.ref_type }}
48  manywheel-py3_9-cuda11_8-build:
49    if: ${{ github.repository_owner == 'pytorch' }}
50    uses: ./.github/workflows/_binary-build-linux.yml
51    needs: get-label-type
52    with:
53      PYTORCH_ROOT: /pytorch
54      BUILDER_ROOT: /builder
55      PACKAGE_TYPE: manywheel
56      # TODO: This is a legacy variable that we eventually want to get rid of in
57      #       favor of GPU_ARCH_VERSION
58      DESIRED_CUDA: cu118
59      GPU_ARCH_VERSION: 11.8
60      GPU_ARCH_TYPE: cuda
61      DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.5
62      use_split_build: True
63      DESIRED_PYTHON: "3.9"
64      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
65      build_name: manywheel-py3_9-cuda11_8
66      build_environment: linux-binary-manywheel-split
67      PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu11==11.8.89; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu11==11.8.89; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu11==11.8.87; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu11==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu11==11.11.3.6; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu11==10.9.0.58; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu11==10.3.0.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu11==11.4.1.48; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu11==11.7.5.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu11==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu11==11.8.86; platform_system == 'Linux' and platform_machine == 'x86_64'
68    secrets:
69      github-token: ${{ secrets.GITHUB_TOKEN }}
70  manywheel-py3_9-cuda11_8-test:  # Testing
71    if: ${{ github.repository_owner == 'pytorch' }}
72    needs:
73      - manywheel-py3_9-cuda11_8-build
74      - get-label-type
75    uses: ./.github/workflows/_binary-test-linux.yml
76    with:
77      PYTORCH_ROOT: /pytorch
78      BUILDER_ROOT: /builder
79      PACKAGE_TYPE: manywheel
80      # TODO: This is a legacy variable that we eventually want to get rid of in
81      #       favor of GPU_ARCH_VERSION
82      DESIRED_CUDA: cu118
83      GPU_ARCH_VERSION: 11.8
84      GPU_ARCH_TYPE: cuda
85      DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.5
86      use_split_build: True
87      DESIRED_PYTHON: "3.9"
88      build_name: manywheel-py3_9-cuda11_8
89      build_environment: linux-binary-manywheel-split
90      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
91      runs_on: linux.4xlarge.nvidia.gpu
92    secrets:
93      github-token: ${{ secrets.GITHUB_TOKEN }}
94  manywheel-py3_9-cuda11_8-upload:  # Uploading
95    if: ${{ github.repository_owner == 'pytorch' }}
96    permissions:
97      id-token: write
98      contents: read
99    needs: manywheel-py3_9-cuda11_8-test
100    with:
101      PYTORCH_ROOT: /pytorch
102      BUILDER_ROOT: /builder
103      PACKAGE_TYPE: manywheel
104      # TODO: This is a legacy variable that we eventually want to get rid of in
105      #       favor of GPU_ARCH_VERSION
106      DESIRED_CUDA: cu118
107      GPU_ARCH_VERSION: 11.8
108      GPU_ARCH_TYPE: cuda
109      DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.5
110      use_split_build: True
111      DESIRED_PYTHON: "3.9"
112      build_name: manywheel-py3_9-cuda11_8
113    secrets:
114      github-token: ${{ secrets.GITHUB_TOKEN }}
115      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
116      conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
117    uses: ./.github/workflows/_binary-upload.yml
118
119  manywheel-py3_9-cuda12_1-build:
120    if: ${{ github.repository_owner == 'pytorch' }}
121    uses: ./.github/workflows/_binary-build-linux.yml
122    needs: get-label-type
123    with:
124      PYTORCH_ROOT: /pytorch
125      BUILDER_ROOT: /builder
126      PACKAGE_TYPE: manywheel
127      # TODO: This is a legacy variable that we eventually want to get rid of in
128      #       favor of GPU_ARCH_VERSION
129      DESIRED_CUDA: cu121
130      GPU_ARCH_VERSION: 12.1
131      GPU_ARCH_TYPE: cuda
132      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.5
133      use_split_build: True
134      DESIRED_PYTHON: "3.9"
135      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
136      build_name: manywheel-py3_9-cuda12_1
137      build_environment: linux-binary-manywheel-split
138      PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
139    secrets:
140      github-token: ${{ secrets.GITHUB_TOKEN }}
141  manywheel-py3_9-cuda12_1-test:  # Testing
142    if: ${{ github.repository_owner == 'pytorch' }}
143    needs:
144      - manywheel-py3_9-cuda12_1-build
145      - get-label-type
146    uses: ./.github/workflows/_binary-test-linux.yml
147    with:
148      PYTORCH_ROOT: /pytorch
149      BUILDER_ROOT: /builder
150      PACKAGE_TYPE: manywheel
151      # TODO: This is a legacy variable that we eventually want to get rid of in
152      #       favor of GPU_ARCH_VERSION
153      DESIRED_CUDA: cu121
154      GPU_ARCH_VERSION: 12.1
155      GPU_ARCH_TYPE: cuda
156      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.5
157      use_split_build: True
158      DESIRED_PYTHON: "3.9"
159      build_name: manywheel-py3_9-cuda12_1
160      build_environment: linux-binary-manywheel-split
161      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
162      runs_on: linux.4xlarge.nvidia.gpu
163    secrets:
164      github-token: ${{ secrets.GITHUB_TOKEN }}
165  manywheel-py3_9-cuda12_1-upload:  # Uploading
166    if: ${{ github.repository_owner == 'pytorch' }}
167    permissions:
168      id-token: write
169      contents: read
170    needs: manywheel-py3_9-cuda12_1-test
171    with:
172      PYTORCH_ROOT: /pytorch
173      BUILDER_ROOT: /builder
174      PACKAGE_TYPE: manywheel
175      # TODO: This is a legacy variable that we eventually want to get rid of in
176      #       favor of GPU_ARCH_VERSION
177      DESIRED_CUDA: cu121
178      GPU_ARCH_VERSION: 12.1
179      GPU_ARCH_TYPE: cuda
180      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.5
181      use_split_build: True
182      DESIRED_PYTHON: "3.9"
183      build_name: manywheel-py3_9-cuda12_1
184    secrets:
185      github-token: ${{ secrets.GITHUB_TOKEN }}
186      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
187      conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
188    uses: ./.github/workflows/_binary-upload.yml
189
190  manywheel-py3_9-cuda12_4-build:
191    if: ${{ github.repository_owner == 'pytorch' }}
192    uses: ./.github/workflows/_binary-build-linux.yml
193    needs: get-label-type
194    with:
195      PYTORCH_ROOT: /pytorch
196      BUILDER_ROOT: /builder
197      PACKAGE_TYPE: manywheel
198      # TODO: This is a legacy variable that we eventually want to get rid of in
199      #       favor of GPU_ARCH_VERSION
200      DESIRED_CUDA: cu124
201      GPU_ARCH_VERSION: 12.4
202      GPU_ARCH_TYPE: cuda
203      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.4-2.5
204      use_split_build: True
205      DESIRED_PYTHON: "3.9"
206      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
207      build_name: manywheel-py3_9-cuda12_4
208      build_environment: linux-binary-manywheel-split
209      PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.4.127; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.4.127; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.4.127; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.4.5.8; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.2.1.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.5.147; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.6.1.9; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.3.1.170; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.4.127; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.4.127; platform_system == 'Linux' and platform_machine == 'x86_64'
210    secrets:
211      github-token: ${{ secrets.GITHUB_TOKEN }}
212  manywheel-py3_9-cuda12_4-test:  # Testing
213    if: ${{ github.repository_owner == 'pytorch' }}
214    needs:
215      - manywheel-py3_9-cuda12_4-build
216      - get-label-type
217    uses: ./.github/workflows/_binary-test-linux.yml
218    with:
219      PYTORCH_ROOT: /pytorch
220      BUILDER_ROOT: /builder
221      PACKAGE_TYPE: manywheel
222      # TODO: This is a legacy variable that we eventually want to get rid of in
223      #       favor of GPU_ARCH_VERSION
224      DESIRED_CUDA: cu124
225      GPU_ARCH_VERSION: 12.4
226      GPU_ARCH_TYPE: cuda
227      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.4-2.5
228      use_split_build: True
229      DESIRED_PYTHON: "3.9"
230      build_name: manywheel-py3_9-cuda12_4
231      build_environment: linux-binary-manywheel-split
232      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
233      runs_on: linux.4xlarge.nvidia.gpu
234    secrets:
235      github-token: ${{ secrets.GITHUB_TOKEN }}
236  manywheel-py3_9-cuda12_4-upload:  # Uploading
237    if: ${{ github.repository_owner == 'pytorch' }}
238    permissions:
239      id-token: write
240      contents: read
241    needs: manywheel-py3_9-cuda12_4-test
242    with:
243      PYTORCH_ROOT: /pytorch
244      BUILDER_ROOT: /builder
245      PACKAGE_TYPE: manywheel
246      # TODO: This is a legacy variable that we eventually want to get rid of in
247      #       favor of GPU_ARCH_VERSION
248      DESIRED_CUDA: cu124
249      GPU_ARCH_VERSION: 12.4
250      GPU_ARCH_TYPE: cuda
251      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.4-2.5
252      use_split_build: True
253      DESIRED_PYTHON: "3.9"
254      build_name: manywheel-py3_9-cuda12_4
255    secrets:
256      github-token: ${{ secrets.GITHUB_TOKEN }}
257      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
258      conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
259    uses: ./.github/workflows/_binary-upload.yml
260
261  manywheel-py3_9-cpu-build:
262    if: ${{ github.repository_owner == 'pytorch' }}
263    uses: ./.github/workflows/_binary-build-linux.yml
264    needs: get-label-type
265    with:
266      PYTORCH_ROOT: /pytorch
267      BUILDER_ROOT: /builder
268      PACKAGE_TYPE: manywheel
269      # TODO: This is a legacy variable that we eventually want to get rid of in
270      #       favor of GPU_ARCH_VERSION
271      DESIRED_CUDA: cpu
272      GPU_ARCH_TYPE: cpu
273      DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.5
274      use_split_build: True
275      DESIRED_PYTHON: "3.9"
276      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
277      build_name: manywheel-py3_9-cpu
278      build_environment: linux-binary-manywheel-split
279    secrets:
280      github-token: ${{ secrets.GITHUB_TOKEN }}
281  manywheel-py3_9-cpu-test:  # Testing
282    if: ${{ github.repository_owner == 'pytorch' }}
283    needs:
284      - manywheel-py3_9-cpu-build
285      - get-label-type
286    uses: ./.github/workflows/_binary-test-linux.yml
287    with:
288      PYTORCH_ROOT: /pytorch
289      BUILDER_ROOT: /builder
290      PACKAGE_TYPE: manywheel
291      # TODO: This is a legacy variable that we eventually want to get rid of in
292      #       favor of GPU_ARCH_VERSION
293      DESIRED_CUDA: cpu
294      GPU_ARCH_TYPE: cpu
295      DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.5
296      use_split_build: True
297      DESIRED_PYTHON: "3.9"
298      build_name: manywheel-py3_9-cpu
299      build_environment: linux-binary-manywheel-split
300      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
301      runs_on: linux.4xlarge
302    secrets:
303      github-token: ${{ secrets.GITHUB_TOKEN }}
304  manywheel-py3_9-cpu-upload:  # Uploading
305    if: ${{ github.repository_owner == 'pytorch' }}
306    permissions:
307      id-token: write
308      contents: read
309    needs: manywheel-py3_9-cpu-test
310    with:
311      PYTORCH_ROOT: /pytorch
312      BUILDER_ROOT: /builder
313      PACKAGE_TYPE: manywheel
314      # TODO: This is a legacy variable that we eventually want to get rid of in
315      #       favor of GPU_ARCH_VERSION
316      DESIRED_CUDA: cpu
317      GPU_ARCH_TYPE: cpu
318      DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.5
319      use_split_build: True
320      DESIRED_PYTHON: "3.9"
321      build_name: manywheel-py3_9-cpu
322    secrets:
323      github-token: ${{ secrets.GITHUB_TOKEN }}
324      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
325      conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
326    uses: ./.github/workflows/_binary-upload.yml
327
328  manywheel-py3_10-cuda11_8-build:
329    if: ${{ github.repository_owner == 'pytorch' }}
330    uses: ./.github/workflows/_binary-build-linux.yml
331    needs: get-label-type
332    with:
333      PYTORCH_ROOT: /pytorch
334      BUILDER_ROOT: /builder
335      PACKAGE_TYPE: manywheel
336      # TODO: This is a legacy variable that we eventually want to get rid of in
337      #       favor of GPU_ARCH_VERSION
338      DESIRED_CUDA: cu118
339      GPU_ARCH_VERSION: 11.8
340      GPU_ARCH_TYPE: cuda
341      DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.5
342      use_split_build: True
343      DESIRED_PYTHON: "3.10"
344      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
345      build_name: manywheel-py3_10-cuda11_8
346      build_environment: linux-binary-manywheel-split
347      PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu11==11.8.89; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu11==11.8.89; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu11==11.8.87; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu11==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu11==11.11.3.6; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu11==10.9.0.58; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu11==10.3.0.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu11==11.4.1.48; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu11==11.7.5.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu11==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu11==11.8.86; platform_system == 'Linux' and platform_machine == 'x86_64'
348    secrets:
349      github-token: ${{ secrets.GITHUB_TOKEN }}
350  manywheel-py3_10-cuda11_8-test:  # Testing
351    if: ${{ github.repository_owner == 'pytorch' }}
352    needs:
353      - manywheel-py3_10-cuda11_8-build
354      - get-label-type
355    uses: ./.github/workflows/_binary-test-linux.yml
356    with:
357      PYTORCH_ROOT: /pytorch
358      BUILDER_ROOT: /builder
359      PACKAGE_TYPE: manywheel
360      # TODO: This is a legacy variable that we eventually want to get rid of in
361      #       favor of GPU_ARCH_VERSION
362      DESIRED_CUDA: cu118
363      GPU_ARCH_VERSION: 11.8
364      GPU_ARCH_TYPE: cuda
365      DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.5
366      use_split_build: True
367      DESIRED_PYTHON: "3.10"
368      build_name: manywheel-py3_10-cuda11_8
369      build_environment: linux-binary-manywheel-split
370      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
371      runs_on: linux.4xlarge.nvidia.gpu
372    secrets:
373      github-token: ${{ secrets.GITHUB_TOKEN }}
374  manywheel-py3_10-cuda11_8-upload:  # Uploading
375    if: ${{ github.repository_owner == 'pytorch' }}
376    permissions:
377      id-token: write
378      contents: read
379    needs: manywheel-py3_10-cuda11_8-test
380    with:
381      PYTORCH_ROOT: /pytorch
382      BUILDER_ROOT: /builder
383      PACKAGE_TYPE: manywheel
384      # TODO: This is a legacy variable that we eventually want to get rid of in
385      #       favor of GPU_ARCH_VERSION
386      DESIRED_CUDA: cu118
387      GPU_ARCH_VERSION: 11.8
388      GPU_ARCH_TYPE: cuda
389      DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.5
390      use_split_build: True
391      DESIRED_PYTHON: "3.10"
392      build_name: manywheel-py3_10-cuda11_8
393    secrets:
394      github-token: ${{ secrets.GITHUB_TOKEN }}
395      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
396      conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
397    uses: ./.github/workflows/_binary-upload.yml
398
399  manywheel-py3_10-cuda12_1-build:
400    if: ${{ github.repository_owner == 'pytorch' }}
401    uses: ./.github/workflows/_binary-build-linux.yml
402    needs: get-label-type
403    with:
404      PYTORCH_ROOT: /pytorch
405      BUILDER_ROOT: /builder
406      PACKAGE_TYPE: manywheel
407      # TODO: This is a legacy variable that we eventually want to get rid of in
408      #       favor of GPU_ARCH_VERSION
409      DESIRED_CUDA: cu121
410      GPU_ARCH_VERSION: 12.1
411      GPU_ARCH_TYPE: cuda
412      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.5
413      use_split_build: True
414      DESIRED_PYTHON: "3.10"
415      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
416      build_name: manywheel-py3_10-cuda12_1
417      build_environment: linux-binary-manywheel-split
418      PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
419    secrets:
420      github-token: ${{ secrets.GITHUB_TOKEN }}
421  manywheel-py3_10-cuda12_1-test:  # Testing
422    if: ${{ github.repository_owner == 'pytorch' }}
423    needs:
424      - manywheel-py3_10-cuda12_1-build
425      - get-label-type
426    uses: ./.github/workflows/_binary-test-linux.yml
427    with:
428      PYTORCH_ROOT: /pytorch
429      BUILDER_ROOT: /builder
430      PACKAGE_TYPE: manywheel
431      # TODO: This is a legacy variable that we eventually want to get rid of in
432      #       favor of GPU_ARCH_VERSION
433      DESIRED_CUDA: cu121
434      GPU_ARCH_VERSION: 12.1
435      GPU_ARCH_TYPE: cuda
436      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.5
437      use_split_build: True
438      DESIRED_PYTHON: "3.10"
439      build_name: manywheel-py3_10-cuda12_1
440      build_environment: linux-binary-manywheel-split
441      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
442      runs_on: linux.4xlarge.nvidia.gpu
443    secrets:
444      github-token: ${{ secrets.GITHUB_TOKEN }}
445  manywheel-py3_10-cuda12_1-upload:  # Uploading
446    if: ${{ github.repository_owner == 'pytorch' }}
447    permissions:
448      id-token: write
449      contents: read
450    needs: manywheel-py3_10-cuda12_1-test
451    with:
452      PYTORCH_ROOT: /pytorch
453      BUILDER_ROOT: /builder
454      PACKAGE_TYPE: manywheel
455      # TODO: This is a legacy variable that we eventually want to get rid of in
456      #       favor of GPU_ARCH_VERSION
457      DESIRED_CUDA: cu121
458      GPU_ARCH_VERSION: 12.1
459      GPU_ARCH_TYPE: cuda
460      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.5
461      use_split_build: True
462      DESIRED_PYTHON: "3.10"
463      build_name: manywheel-py3_10-cuda12_1
464    secrets:
465      github-token: ${{ secrets.GITHUB_TOKEN }}
466      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
467      conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
468    uses: ./.github/workflows/_binary-upload.yml
469
470  manywheel-py3_10-cuda12_1-full-build:
471    if: ${{ github.repository_owner == 'pytorch' }}
472    uses: ./.github/workflows/_binary-build-linux.yml
473    needs: get-label-type
474    with:
475      PYTORCH_ROOT: /pytorch
476      BUILDER_ROOT: /builder
477      PACKAGE_TYPE: manywheel
478      # TODO: This is a legacy variable that we eventually want to get rid of in
479      #       favor of GPU_ARCH_VERSION
480      DESIRED_CUDA: cu121
481      GPU_ARCH_VERSION: 12.1
482      GPU_ARCH_TYPE: cuda
483      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.5
484      use_split_build: True
485      DESIRED_PYTHON: "3.10"
486      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
487      build_name: manywheel-py3_10-cuda12_1-full
488      build_environment: linux-binary-manywheel-split
489    secrets:
490      github-token: ${{ secrets.GITHUB_TOKEN }}
491  manywheel-py3_10-cuda12_1-full-test:  # Testing
492    if: ${{ github.repository_owner == 'pytorch' }}
493    needs:
494      - manywheel-py3_10-cuda12_1-full-build
495      - get-label-type
496    uses: ./.github/workflows/_binary-test-linux.yml
497    with:
498      PYTORCH_ROOT: /pytorch
499      BUILDER_ROOT: /builder
500      PACKAGE_TYPE: manywheel
501      # TODO: This is a legacy variable that we eventually want to get rid of in
502      #       favor of GPU_ARCH_VERSION
503      DESIRED_CUDA: cu121
504      GPU_ARCH_VERSION: 12.1
505      GPU_ARCH_TYPE: cuda
506      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.5
507      use_split_build: True
508      DESIRED_PYTHON: "3.10"
509      build_name: manywheel-py3_10-cuda12_1-full
510      build_environment: linux-binary-manywheel-split
511      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
512      runs_on: linux.4xlarge.nvidia.gpu
513    secrets:
514      github-token: ${{ secrets.GITHUB_TOKEN }}
515  manywheel-py3_10-cuda12_1-full-upload:  # Uploading
516    if: ${{ github.repository_owner == 'pytorch' }}
517    permissions:
518      id-token: write
519      contents: read
520    needs: manywheel-py3_10-cuda12_1-full-test
521    with:
522      PYTORCH_ROOT: /pytorch
523      BUILDER_ROOT: /builder
524      PACKAGE_TYPE: manywheel
525      # TODO: This is a legacy variable that we eventually want to get rid of in
526      #       favor of GPU_ARCH_VERSION
527      DESIRED_CUDA: cu121
528      GPU_ARCH_VERSION: 12.1
529      GPU_ARCH_TYPE: cuda
530      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.5
531      use_split_build: True
532      DESIRED_PYTHON: "3.10"
533      build_name: manywheel-py3_10-cuda12_1-full
534    secrets:
535      github-token: ${{ secrets.GITHUB_TOKEN }}
536      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
537      conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
538    uses: ./.github/workflows/_binary-upload.yml
539
540  manywheel-py3_10-cuda12_4-build:
541    if: ${{ github.repository_owner == 'pytorch' }}
542    uses: ./.github/workflows/_binary-build-linux.yml
543    needs: get-label-type
544    with:
545      PYTORCH_ROOT: /pytorch
546      BUILDER_ROOT: /builder
547      PACKAGE_TYPE: manywheel
548      # TODO: This is a legacy variable that we eventually want to get rid of in
549      #       favor of GPU_ARCH_VERSION
550      DESIRED_CUDA: cu124
551      GPU_ARCH_VERSION: 12.4
552      GPU_ARCH_TYPE: cuda
553      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.4-2.5
554      use_split_build: True
555      DESIRED_PYTHON: "3.10"
556      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
557      build_name: manywheel-py3_10-cuda12_4
558      build_environment: linux-binary-manywheel-split
559      PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.4.127; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.4.127; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.4.127; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.4.5.8; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.2.1.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.5.147; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.6.1.9; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.3.1.170; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.4.127; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.4.127; platform_system == 'Linux' and platform_machine == 'x86_64'
560    secrets:
561      github-token: ${{ secrets.GITHUB_TOKEN }}
562  manywheel-py3_10-cuda12_4-test:  # Testing
563    if: ${{ github.repository_owner == 'pytorch' }}
564    needs:
565      - manywheel-py3_10-cuda12_4-build
566      - get-label-type
567    uses: ./.github/workflows/_binary-test-linux.yml
568    with:
569      PYTORCH_ROOT: /pytorch
570      BUILDER_ROOT: /builder
571      PACKAGE_TYPE: manywheel
572      # TODO: This is a legacy variable that we eventually want to get rid of in
573      #       favor of GPU_ARCH_VERSION
574      DESIRED_CUDA: cu124
575      GPU_ARCH_VERSION: 12.4
576      GPU_ARCH_TYPE: cuda
577      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.4-2.5
578      use_split_build: True
579      DESIRED_PYTHON: "3.10"
580      build_name: manywheel-py3_10-cuda12_4
581      build_environment: linux-binary-manywheel-split
582      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
583      runs_on: linux.4xlarge.nvidia.gpu
584    secrets:
585      github-token: ${{ secrets.GITHUB_TOKEN }}
586  manywheel-py3_10-cuda12_4-upload:  # Uploading
587    if: ${{ github.repository_owner == 'pytorch' }}
588    permissions:
589      id-token: write
590      contents: read
591    needs: manywheel-py3_10-cuda12_4-test
592    with:
593      PYTORCH_ROOT: /pytorch
594      BUILDER_ROOT: /builder
595      PACKAGE_TYPE: manywheel
596      # TODO: This is a legacy variable that we eventually want to get rid of in
597      #       favor of GPU_ARCH_VERSION
598      DESIRED_CUDA: cu124
599      GPU_ARCH_VERSION: 12.4
600      GPU_ARCH_TYPE: cuda
601      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.4-2.5
602      use_split_build: True
603      DESIRED_PYTHON: "3.10"
604      build_name: manywheel-py3_10-cuda12_4
605    secrets:
606      github-token: ${{ secrets.GITHUB_TOKEN }}
607      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
608      conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
609    uses: ./.github/workflows/_binary-upload.yml
610
611  manywheel-py3_10-cpu-build:
612    if: ${{ github.repository_owner == 'pytorch' }}
613    uses: ./.github/workflows/_binary-build-linux.yml
614    needs: get-label-type
615    with:
616      PYTORCH_ROOT: /pytorch
617      BUILDER_ROOT: /builder
618      PACKAGE_TYPE: manywheel
619      # TODO: This is a legacy variable that we eventually want to get rid of in
620      #       favor of GPU_ARCH_VERSION
621      DESIRED_CUDA: cpu
622      GPU_ARCH_TYPE: cpu
623      DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.5
624      use_split_build: True
625      DESIRED_PYTHON: "3.10"
626      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
627      build_name: manywheel-py3_10-cpu
628      build_environment: linux-binary-manywheel-split
629    secrets:
630      github-token: ${{ secrets.GITHUB_TOKEN }}
631  manywheel-py3_10-cpu-test:  # Testing
632    if: ${{ github.repository_owner == 'pytorch' }}
633    needs:
634      - manywheel-py3_10-cpu-build
635      - get-label-type
636    uses: ./.github/workflows/_binary-test-linux.yml
637    with:
638      PYTORCH_ROOT: /pytorch
639      BUILDER_ROOT: /builder
640      PACKAGE_TYPE: manywheel
641      # TODO: This is a legacy variable that we eventually want to get rid of in
642      #       favor of GPU_ARCH_VERSION
643      DESIRED_CUDA: cpu
644      GPU_ARCH_TYPE: cpu
645      DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.5
646      use_split_build: True
647      DESIRED_PYTHON: "3.10"
648      build_name: manywheel-py3_10-cpu
649      build_environment: linux-binary-manywheel-split
650      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
651      runs_on: linux.4xlarge
652    secrets:
653      github-token: ${{ secrets.GITHUB_TOKEN }}
654  manywheel-py3_10-cpu-upload:  # Uploading
655    if: ${{ github.repository_owner == 'pytorch' }}
656    permissions:
657      id-token: write
658      contents: read
659    needs: manywheel-py3_10-cpu-test
660    with:
661      PYTORCH_ROOT: /pytorch
662      BUILDER_ROOT: /builder
663      PACKAGE_TYPE: manywheel
664      # TODO: This is a legacy variable that we eventually want to get rid of in
665      #       favor of GPU_ARCH_VERSION
666      DESIRED_CUDA: cpu
667      GPU_ARCH_TYPE: cpu
668      DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.5
669      use_split_build: True
670      DESIRED_PYTHON: "3.10"
671      build_name: manywheel-py3_10-cpu
672    secrets:
673      github-token: ${{ secrets.GITHUB_TOKEN }}
674      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
675      conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
676    uses: ./.github/workflows/_binary-upload.yml
677
678  manywheel-py3_11-cuda11_8-build:
679    if: ${{ github.repository_owner == 'pytorch' }}
680    uses: ./.github/workflows/_binary-build-linux.yml
681    needs: get-label-type
682    with:
683      PYTORCH_ROOT: /pytorch
684      BUILDER_ROOT: /builder
685      PACKAGE_TYPE: manywheel
686      # TODO: This is a legacy variable that we eventually want to get rid of in
687      #       favor of GPU_ARCH_VERSION
688      DESIRED_CUDA: cu118
689      GPU_ARCH_VERSION: 11.8
690      GPU_ARCH_TYPE: cuda
691      DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.5
692      use_split_build: True
693      DESIRED_PYTHON: "3.11"
694      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
695      build_name: manywheel-py3_11-cuda11_8
696      build_environment: linux-binary-manywheel-split
697      PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu11==11.8.89; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu11==11.8.89; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu11==11.8.87; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu11==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu11==11.11.3.6; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu11==10.9.0.58; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu11==10.3.0.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu11==11.4.1.48; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu11==11.7.5.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu11==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu11==11.8.86; platform_system == 'Linux' and platform_machine == 'x86_64'
698    secrets:
699      github-token: ${{ secrets.GITHUB_TOKEN }}
700  manywheel-py3_11-cuda11_8-test:  # Testing
701    if: ${{ github.repository_owner == 'pytorch' }}
702    needs:
703      - manywheel-py3_11-cuda11_8-build
704      - get-label-type
705    uses: ./.github/workflows/_binary-test-linux.yml
706    with:
707      PYTORCH_ROOT: /pytorch
708      BUILDER_ROOT: /builder
709      PACKAGE_TYPE: manywheel
710      # TODO: This is a legacy variable that we eventually want to get rid of in
711      #       favor of GPU_ARCH_VERSION
712      DESIRED_CUDA: cu118
713      GPU_ARCH_VERSION: 11.8
714      GPU_ARCH_TYPE: cuda
715      DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.5
716      use_split_build: True
717      DESIRED_PYTHON: "3.11"
718      build_name: manywheel-py3_11-cuda11_8
719      build_environment: linux-binary-manywheel-split
720      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
721      runs_on: linux.4xlarge.nvidia.gpu
722    secrets:
723      github-token: ${{ secrets.GITHUB_TOKEN }}
724  manywheel-py3_11-cuda11_8-upload:  # Uploading
725    if: ${{ github.repository_owner == 'pytorch' }}
726    permissions:
727      id-token: write
728      contents: read
729    needs: manywheel-py3_11-cuda11_8-test
730    with:
731      PYTORCH_ROOT: /pytorch
732      BUILDER_ROOT: /builder
733      PACKAGE_TYPE: manywheel
734      # TODO: This is a legacy variable that we eventually want to get rid of in
735      #       favor of GPU_ARCH_VERSION
736      DESIRED_CUDA: cu118
737      GPU_ARCH_VERSION: 11.8
738      GPU_ARCH_TYPE: cuda
739      DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.5
740      use_split_build: True
741      DESIRED_PYTHON: "3.11"
742      build_name: manywheel-py3_11-cuda11_8
743    secrets:
744      github-token: ${{ secrets.GITHUB_TOKEN }}
745      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
746      conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
747    uses: ./.github/workflows/_binary-upload.yml
748
749  manywheel-py3_11-cuda12_1-build:
750    if: ${{ github.repository_owner == 'pytorch' }}
751    uses: ./.github/workflows/_binary-build-linux.yml
752    needs: get-label-type
753    with:
754      PYTORCH_ROOT: /pytorch
755      BUILDER_ROOT: /builder
756      PACKAGE_TYPE: manywheel
757      # TODO: This is a legacy variable that we eventually want to get rid of in
758      #       favor of GPU_ARCH_VERSION
759      DESIRED_CUDA: cu121
760      GPU_ARCH_VERSION: 12.1
761      GPU_ARCH_TYPE: cuda
762      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.5
763      use_split_build: True
764      DESIRED_PYTHON: "3.11"
765      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
766      build_name: manywheel-py3_11-cuda12_1
767      build_environment: linux-binary-manywheel-split
768      PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
769    secrets:
770      github-token: ${{ secrets.GITHUB_TOKEN }}
771  manywheel-py3_11-cuda12_1-test:  # Testing
772    if: ${{ github.repository_owner == 'pytorch' }}
773    needs:
774      - manywheel-py3_11-cuda12_1-build
775      - get-label-type
776    uses: ./.github/workflows/_binary-test-linux.yml
777    with:
778      PYTORCH_ROOT: /pytorch
779      BUILDER_ROOT: /builder
780      PACKAGE_TYPE: manywheel
781      # TODO: This is a legacy variable that we eventually want to get rid of in
782      #       favor of GPU_ARCH_VERSION
783      DESIRED_CUDA: cu121
784      GPU_ARCH_VERSION: 12.1
785      GPU_ARCH_TYPE: cuda
786      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.5
787      use_split_build: True
788      DESIRED_PYTHON: "3.11"
789      build_name: manywheel-py3_11-cuda12_1
790      build_environment: linux-binary-manywheel-split
791      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
792      runs_on: linux.4xlarge.nvidia.gpu
793    secrets:
794      github-token: ${{ secrets.GITHUB_TOKEN }}
795  manywheel-py3_11-cuda12_1-upload:  # Uploading
796    if: ${{ github.repository_owner == 'pytorch' }}
797    permissions:
798      id-token: write
799      contents: read
800    needs: manywheel-py3_11-cuda12_1-test
801    with:
802      PYTORCH_ROOT: /pytorch
803      BUILDER_ROOT: /builder
804      PACKAGE_TYPE: manywheel
805      # TODO: This is a legacy variable that we eventually want to get rid of in
806      #       favor of GPU_ARCH_VERSION
807      DESIRED_CUDA: cu121
808      GPU_ARCH_VERSION: 12.1
809      GPU_ARCH_TYPE: cuda
810      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.5
811      use_split_build: True
812      DESIRED_PYTHON: "3.11"
813      build_name: manywheel-py3_11-cuda12_1
814    secrets:
815      github-token: ${{ secrets.GITHUB_TOKEN }}
816      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
817      conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
818    uses: ./.github/workflows/_binary-upload.yml
819
820  manywheel-py3_11-cuda12_4-build:
821    if: ${{ github.repository_owner == 'pytorch' }}
822    uses: ./.github/workflows/_binary-build-linux.yml
823    needs: get-label-type
824    with:
825      PYTORCH_ROOT: /pytorch
826      BUILDER_ROOT: /builder
827      PACKAGE_TYPE: manywheel
828      # TODO: This is a legacy variable that we eventually want to get rid of in
829      #       favor of GPU_ARCH_VERSION
830      DESIRED_CUDA: cu124
831      GPU_ARCH_VERSION: 12.4
832      GPU_ARCH_TYPE: cuda
833      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.4-2.5
834      use_split_build: True
835      DESIRED_PYTHON: "3.11"
836      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
837      build_name: manywheel-py3_11-cuda12_4
838      build_environment: linux-binary-manywheel-split
839      PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.4.127; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.4.127; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.4.127; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.4.5.8; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.2.1.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.5.147; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.6.1.9; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.3.1.170; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.4.127; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.4.127; platform_system == 'Linux' and platform_machine == 'x86_64'
840    secrets:
841      github-token: ${{ secrets.GITHUB_TOKEN }}
842  manywheel-py3_11-cuda12_4-test:  # Testing
843    if: ${{ github.repository_owner == 'pytorch' }}
844    needs:
845      - manywheel-py3_11-cuda12_4-build
846      - get-label-type
847    uses: ./.github/workflows/_binary-test-linux.yml
848    with:
849      PYTORCH_ROOT: /pytorch
850      BUILDER_ROOT: /builder
851      PACKAGE_TYPE: manywheel
852      # TODO: This is a legacy variable that we eventually want to get rid of in
853      #       favor of GPU_ARCH_VERSION
854      DESIRED_CUDA: cu124
855      GPU_ARCH_VERSION: 12.4
856      GPU_ARCH_TYPE: cuda
857      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.4-2.5
858      use_split_build: True
859      DESIRED_PYTHON: "3.11"
860      build_name: manywheel-py3_11-cuda12_4
861      build_environment: linux-binary-manywheel-split
862      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
863      runs_on: linux.4xlarge.nvidia.gpu
864    secrets:
865      github-token: ${{ secrets.GITHUB_TOKEN }}
866  manywheel-py3_11-cuda12_4-upload:  # Uploading
867    if: ${{ github.repository_owner == 'pytorch' }}
868    permissions:
869      id-token: write
870      contents: read
871    needs: manywheel-py3_11-cuda12_4-test
872    with:
873      PYTORCH_ROOT: /pytorch
874      BUILDER_ROOT: /builder
875      PACKAGE_TYPE: manywheel
876      # TODO: This is a legacy variable that we eventually want to get rid of in
877      #       favor of GPU_ARCH_VERSION
878      DESIRED_CUDA: cu124
879      GPU_ARCH_VERSION: 12.4
880      GPU_ARCH_TYPE: cuda
881      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.4-2.5
882      use_split_build: True
883      DESIRED_PYTHON: "3.11"
884      build_name: manywheel-py3_11-cuda12_4
885    secrets:
886      github-token: ${{ secrets.GITHUB_TOKEN }}
887      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
888      conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
889    uses: ./.github/workflows/_binary-upload.yml
890
891  manywheel-py3_11-cpu-build:
892    if: ${{ github.repository_owner == 'pytorch' }}
893    uses: ./.github/workflows/_binary-build-linux.yml
894    needs: get-label-type
895    with:
896      PYTORCH_ROOT: /pytorch
897      BUILDER_ROOT: /builder
898      PACKAGE_TYPE: manywheel
899      # TODO: This is a legacy variable that we eventually want to get rid of in
900      #       favor of GPU_ARCH_VERSION
901      DESIRED_CUDA: cpu
902      GPU_ARCH_TYPE: cpu
903      DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.5
904      use_split_build: True
905      DESIRED_PYTHON: "3.11"
906      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
907      build_name: manywheel-py3_11-cpu
908      build_environment: linux-binary-manywheel-split
909    secrets:
910      github-token: ${{ secrets.GITHUB_TOKEN }}
911  manywheel-py3_11-cpu-test:  # Testing
912    if: ${{ github.repository_owner == 'pytorch' }}
913    needs:
914      - manywheel-py3_11-cpu-build
915      - get-label-type
916    uses: ./.github/workflows/_binary-test-linux.yml
917    with:
918      PYTORCH_ROOT: /pytorch
919      BUILDER_ROOT: /builder
920      PACKAGE_TYPE: manywheel
921      # TODO: This is a legacy variable that we eventually want to get rid of in
922      #       favor of GPU_ARCH_VERSION
923      DESIRED_CUDA: cpu
924      GPU_ARCH_TYPE: cpu
925      DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.5
926      use_split_build: True
927      DESIRED_PYTHON: "3.11"
928      build_name: manywheel-py3_11-cpu
929      build_environment: linux-binary-manywheel-split
930      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
931      runs_on: linux.4xlarge
932    secrets:
933      github-token: ${{ secrets.GITHUB_TOKEN }}
934  manywheel-py3_11-cpu-upload:  # Uploading
935    if: ${{ github.repository_owner == 'pytorch' }}
936    permissions:
937      id-token: write
938      contents: read
939    needs: manywheel-py3_11-cpu-test
940    with:
941      PYTORCH_ROOT: /pytorch
942      BUILDER_ROOT: /builder
943      PACKAGE_TYPE: manywheel
944      # TODO: This is a legacy variable that we eventually want to get rid of in
945      #       favor of GPU_ARCH_VERSION
946      DESIRED_CUDA: cpu
947      GPU_ARCH_TYPE: cpu
948      DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.5
949      use_split_build: True
950      DESIRED_PYTHON: "3.11"
951      build_name: manywheel-py3_11-cpu
952    secrets:
953      github-token: ${{ secrets.GITHUB_TOKEN }}
954      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
955      conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
956    uses: ./.github/workflows/_binary-upload.yml
957
958  manywheel-py3_12-cuda11_8-build:
959    if: ${{ github.repository_owner == 'pytorch' }}
960    uses: ./.github/workflows/_binary-build-linux.yml
961    needs: get-label-type
962    with:
963      PYTORCH_ROOT: /pytorch
964      BUILDER_ROOT: /builder
965      PACKAGE_TYPE: manywheel
966      # TODO: This is a legacy variable that we eventually want to get rid of in
967      #       favor of GPU_ARCH_VERSION
968      DESIRED_CUDA: cu118
969      GPU_ARCH_VERSION: 11.8
970      GPU_ARCH_TYPE: cuda
971      DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.5
972      use_split_build: True
973      DESIRED_PYTHON: "3.12"
974      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
975      build_name: manywheel-py3_12-cuda11_8
976      build_environment: linux-binary-manywheel-split
977      PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu11==11.8.89; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu11==11.8.89; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu11==11.8.87; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu11==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu11==11.11.3.6; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu11==10.9.0.58; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu11==10.3.0.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu11==11.4.1.48; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu11==11.7.5.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu11==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu11==11.8.86; platform_system == 'Linux' and platform_machine == 'x86_64'
978    secrets:
979      github-token: ${{ secrets.GITHUB_TOKEN }}
980  manywheel-py3_12-cuda11_8-test:  # Testing
981    if: ${{ github.repository_owner == 'pytorch' }}
982    needs:
983      - manywheel-py3_12-cuda11_8-build
984      - get-label-type
985    uses: ./.github/workflows/_binary-test-linux.yml
986    with:
987      PYTORCH_ROOT: /pytorch
988      BUILDER_ROOT: /builder
989      PACKAGE_TYPE: manywheel
990      # TODO: This is a legacy variable that we eventually want to get rid of in
991      #       favor of GPU_ARCH_VERSION
992      DESIRED_CUDA: cu118
993      GPU_ARCH_VERSION: 11.8
994      GPU_ARCH_TYPE: cuda
995      DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.5
996      use_split_build: True
997      DESIRED_PYTHON: "3.12"
998      build_name: manywheel-py3_12-cuda11_8
999      build_environment: linux-binary-manywheel-split
1000      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
1001      runs_on: linux.4xlarge.nvidia.gpu
1002    secrets:
1003      github-token: ${{ secrets.GITHUB_TOKEN }}
1004  manywheel-py3_12-cuda11_8-upload:  # Uploading
1005    if: ${{ github.repository_owner == 'pytorch' }}
1006    permissions:
1007      id-token: write
1008      contents: read
1009    needs: manywheel-py3_12-cuda11_8-test
1010    with:
1011      PYTORCH_ROOT: /pytorch
1012      BUILDER_ROOT: /builder
1013      PACKAGE_TYPE: manywheel
1014      # TODO: This is a legacy variable that we eventually want to get rid of in
1015      #       favor of GPU_ARCH_VERSION
1016      DESIRED_CUDA: cu118
1017      GPU_ARCH_VERSION: 11.8
1018      GPU_ARCH_TYPE: cuda
1019      DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.5
1020      use_split_build: True
1021      DESIRED_PYTHON: "3.12"
1022      build_name: manywheel-py3_12-cuda11_8
1023    secrets:
1024      github-token: ${{ secrets.GITHUB_TOKEN }}
1025      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
1026      conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
1027    uses: ./.github/workflows/_binary-upload.yml
1028
1029  manywheel-py3_12-cuda12_1-build:
1030    if: ${{ github.repository_owner == 'pytorch' }}
1031    uses: ./.github/workflows/_binary-build-linux.yml
1032    needs: get-label-type
1033    with:
1034      PYTORCH_ROOT: /pytorch
1035      BUILDER_ROOT: /builder
1036      PACKAGE_TYPE: manywheel
1037      # TODO: This is a legacy variable that we eventually want to get rid of in
1038      #       favor of GPU_ARCH_VERSION
1039      DESIRED_CUDA: cu121
1040      GPU_ARCH_VERSION: 12.1
1041      GPU_ARCH_TYPE: cuda
1042      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.5
1043      use_split_build: True
1044      DESIRED_PYTHON: "3.12"
1045      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
1046      build_name: manywheel-py3_12-cuda12_1
1047      build_environment: linux-binary-manywheel-split
1048      PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
1049    secrets:
1050      github-token: ${{ secrets.GITHUB_TOKEN }}
1051  manywheel-py3_12-cuda12_1-test:  # Testing
1052    if: ${{ github.repository_owner == 'pytorch' }}
1053    needs:
1054      - manywheel-py3_12-cuda12_1-build
1055      - get-label-type
1056    uses: ./.github/workflows/_binary-test-linux.yml
1057    with:
1058      PYTORCH_ROOT: /pytorch
1059      BUILDER_ROOT: /builder
1060      PACKAGE_TYPE: manywheel
1061      # TODO: This is a legacy variable that we eventually want to get rid of in
1062      #       favor of GPU_ARCH_VERSION
1063      DESIRED_CUDA: cu121
1064      GPU_ARCH_VERSION: 12.1
1065      GPU_ARCH_TYPE: cuda
1066      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.5
1067      use_split_build: True
1068      DESIRED_PYTHON: "3.12"
1069      build_name: manywheel-py3_12-cuda12_1
1070      build_environment: linux-binary-manywheel-split
1071      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
1072      runs_on: linux.4xlarge.nvidia.gpu
1073    secrets:
1074      github-token: ${{ secrets.GITHUB_TOKEN }}
1075  manywheel-py3_12-cuda12_1-upload:  # Uploading
1076    if: ${{ github.repository_owner == 'pytorch' }}
1077    permissions:
1078      id-token: write
1079      contents: read
1080    needs: manywheel-py3_12-cuda12_1-test
1081    with:
1082      PYTORCH_ROOT: /pytorch
1083      BUILDER_ROOT: /builder
1084      PACKAGE_TYPE: manywheel
1085      # TODO: This is a legacy variable that we eventually want to get rid of in
1086      #       favor of GPU_ARCH_VERSION
1087      DESIRED_CUDA: cu121
1088      GPU_ARCH_VERSION: 12.1
1089      GPU_ARCH_TYPE: cuda
1090      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.5
1091      use_split_build: True
1092      DESIRED_PYTHON: "3.12"
1093      build_name: manywheel-py3_12-cuda12_1
1094    secrets:
1095      github-token: ${{ secrets.GITHUB_TOKEN }}
1096      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
1097      conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
1098    uses: ./.github/workflows/_binary-upload.yml
1099
1100  manywheel-py3_12-cuda12_4-build:
1101    if: ${{ github.repository_owner == 'pytorch' }}
1102    uses: ./.github/workflows/_binary-build-linux.yml
1103    needs: get-label-type
1104    with:
1105      PYTORCH_ROOT: /pytorch
1106      BUILDER_ROOT: /builder
1107      PACKAGE_TYPE: manywheel
1108      # TODO: This is a legacy variable that we eventually want to get rid of in
1109      #       favor of GPU_ARCH_VERSION
1110      DESIRED_CUDA: cu124
1111      GPU_ARCH_VERSION: 12.4
1112      GPU_ARCH_TYPE: cuda
1113      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.4-2.5
1114      use_split_build: True
1115      DESIRED_PYTHON: "3.12"
1116      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
1117      build_name: manywheel-py3_12-cuda12_4
1118      build_environment: linux-binary-manywheel-split
1119      PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.4.127; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.4.127; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.4.127; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.4.5.8; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.2.1.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.5.147; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.6.1.9; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.3.1.170; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.4.127; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.4.127; platform_system == 'Linux' and platform_machine == 'x86_64'
1120    secrets:
1121      github-token: ${{ secrets.GITHUB_TOKEN }}
1122  manywheel-py3_12-cuda12_4-test:  # Testing
1123    if: ${{ github.repository_owner == 'pytorch' }}
1124    needs:
1125      - manywheel-py3_12-cuda12_4-build
1126      - get-label-type
1127    uses: ./.github/workflows/_binary-test-linux.yml
1128    with:
1129      PYTORCH_ROOT: /pytorch
1130      BUILDER_ROOT: /builder
1131      PACKAGE_TYPE: manywheel
1132      # TODO: This is a legacy variable that we eventually want to get rid of in
1133      #       favor of GPU_ARCH_VERSION
1134      DESIRED_CUDA: cu124
1135      GPU_ARCH_VERSION: 12.4
1136      GPU_ARCH_TYPE: cuda
1137      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.4-2.5
1138      use_split_build: True
1139      DESIRED_PYTHON: "3.12"
1140      build_name: manywheel-py3_12-cuda12_4
1141      build_environment: linux-binary-manywheel-split
1142      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
1143      runs_on: linux.4xlarge.nvidia.gpu
1144    secrets:
1145      github-token: ${{ secrets.GITHUB_TOKEN }}
1146  manywheel-py3_12-cuda12_4-upload:  # Uploading
1147    if: ${{ github.repository_owner == 'pytorch' }}
1148    permissions:
1149      id-token: write
1150      contents: read
1151    needs: manywheel-py3_12-cuda12_4-test
1152    with:
1153      PYTORCH_ROOT: /pytorch
1154      BUILDER_ROOT: /builder
1155      PACKAGE_TYPE: manywheel
1156      # TODO: This is a legacy variable that we eventually want to get rid of in
1157      #       favor of GPU_ARCH_VERSION
1158      DESIRED_CUDA: cu124
1159      GPU_ARCH_VERSION: 12.4
1160      GPU_ARCH_TYPE: cuda
1161      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.4-2.5
1162      use_split_build: True
1163      DESIRED_PYTHON: "3.12"
1164      build_name: manywheel-py3_12-cuda12_4
1165    secrets:
1166      github-token: ${{ secrets.GITHUB_TOKEN }}
1167      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
1168      conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
1169    uses: ./.github/workflows/_binary-upload.yml
1170
1171  manywheel-py3_12-cpu-build:
1172    if: ${{ github.repository_owner == 'pytorch' }}
1173    uses: ./.github/workflows/_binary-build-linux.yml
1174    needs: get-label-type
1175    with:
1176      PYTORCH_ROOT: /pytorch
1177      BUILDER_ROOT: /builder
1178      PACKAGE_TYPE: manywheel
1179      # TODO: This is a legacy variable that we eventually want to get rid of in
1180      #       favor of GPU_ARCH_VERSION
1181      DESIRED_CUDA: cpu
1182      GPU_ARCH_TYPE: cpu
1183      DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.5
1184      use_split_build: True
1185      DESIRED_PYTHON: "3.12"
1186      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
1187      build_name: manywheel-py3_12-cpu
1188      build_environment: linux-binary-manywheel-split
1189    secrets:
1190      github-token: ${{ secrets.GITHUB_TOKEN }}
1191  manywheel-py3_12-cpu-test:  # Testing
1192    if: ${{ github.repository_owner == 'pytorch' }}
1193    needs:
1194      - manywheel-py3_12-cpu-build
1195      - get-label-type
1196    uses: ./.github/workflows/_binary-test-linux.yml
1197    with:
1198      PYTORCH_ROOT: /pytorch
1199      BUILDER_ROOT: /builder
1200      PACKAGE_TYPE: manywheel
1201      # TODO: This is a legacy variable that we eventually want to get rid of in
1202      #       favor of GPU_ARCH_VERSION
1203      DESIRED_CUDA: cpu
1204      GPU_ARCH_TYPE: cpu
1205      DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.5
1206      use_split_build: True
1207      DESIRED_PYTHON: "3.12"
1208      build_name: manywheel-py3_12-cpu
1209      build_environment: linux-binary-manywheel-split
1210      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
1211      runs_on: linux.4xlarge
1212    secrets:
1213      github-token: ${{ secrets.GITHUB_TOKEN }}
1214  manywheel-py3_12-cpu-upload:  # Uploading
1215    if: ${{ github.repository_owner == 'pytorch' }}
1216    permissions:
1217      id-token: write
1218      contents: read
1219    needs: manywheel-py3_12-cpu-test
1220    with:
1221      PYTORCH_ROOT: /pytorch
1222      BUILDER_ROOT: /builder
1223      PACKAGE_TYPE: manywheel
1224      # TODO: This is a legacy variable that we eventually want to get rid of in
1225      #       favor of GPU_ARCH_VERSION
1226      DESIRED_CUDA: cpu
1227      GPU_ARCH_TYPE: cpu
1228      DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.5
1229      use_split_build: True
1230      DESIRED_PYTHON: "3.12"
1231      build_name: manywheel-py3_12-cpu
1232    secrets:
1233      github-token: ${{ secrets.GITHUB_TOKEN }}
1234      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
1235      conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
1236    uses: ./.github/workflows/_binary-upload.yml
1237
1238  manywheel-py3_13-cuda11_8-build:
1239    if: ${{ github.repository_owner == 'pytorch' }}
1240    uses: ./.github/workflows/_binary-build-linux.yml
1241    needs: get-label-type
1242    with:
1243      PYTORCH_ROOT: /pytorch
1244      BUILDER_ROOT: /builder
1245      PACKAGE_TYPE: manywheel
1246      # TODO: This is a legacy variable that we eventually want to get rid of in
1247      #       favor of GPU_ARCH_VERSION
1248      DESIRED_CUDA: cu118
1249      GPU_ARCH_VERSION: 11.8
1250      GPU_ARCH_TYPE: cuda
1251      DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.5
1252      use_split_build: True
1253      DESIRED_PYTHON: "3.13"
1254      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
1255      build_name: manywheel-py3_13-cuda11_8
1256      build_environment: linux-binary-manywheel-split
1257      PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu11==11.8.89; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu11==11.8.89; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu11==11.8.87; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu11==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu11==11.11.3.6; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu11==10.9.0.58; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu11==10.3.0.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu11==11.4.1.48; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu11==11.7.5.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu11==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu11==11.8.86; platform_system == 'Linux' and platform_machine == 'x86_64'
1258    secrets:
1259      github-token: ${{ secrets.GITHUB_TOKEN }}
1260  manywheel-py3_13-cuda11_8-test:  # Testing
1261    if: ${{ github.repository_owner == 'pytorch' }}
1262    needs:
1263      - manywheel-py3_13-cuda11_8-build
1264      - get-label-type
1265    uses: ./.github/workflows/_binary-test-linux.yml
1266    with:
1267      PYTORCH_ROOT: /pytorch
1268      BUILDER_ROOT: /builder
1269      PACKAGE_TYPE: manywheel
1270      # TODO: This is a legacy variable that we eventually want to get rid of in
1271      #       favor of GPU_ARCH_VERSION
1272      DESIRED_CUDA: cu118
1273      GPU_ARCH_VERSION: 11.8
1274      GPU_ARCH_TYPE: cuda
1275      DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.5
1276      use_split_build: True
1277      DESIRED_PYTHON: "3.13"
1278      build_name: manywheel-py3_13-cuda11_8
1279      build_environment: linux-binary-manywheel-split
1280      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
1281      runs_on: linux.4xlarge.nvidia.gpu
1282    secrets:
1283      github-token: ${{ secrets.GITHUB_TOKEN }}
1284  manywheel-py3_13-cuda11_8-upload:  # Uploading
1285    if: ${{ github.repository_owner == 'pytorch' }}
1286    permissions:
1287      id-token: write
1288      contents: read
1289    needs: manywheel-py3_13-cuda11_8-test
1290    with:
1291      PYTORCH_ROOT: /pytorch
1292      BUILDER_ROOT: /builder
1293      PACKAGE_TYPE: manywheel
1294      # TODO: This is a legacy variable that we eventually want to get rid of in
1295      #       favor of GPU_ARCH_VERSION
1296      DESIRED_CUDA: cu118
1297      GPU_ARCH_VERSION: 11.8
1298      GPU_ARCH_TYPE: cuda
1299      DOCKER_IMAGE: pytorch/manylinux-builder:cuda11.8-2.5
1300      use_split_build: True
1301      DESIRED_PYTHON: "3.13"
1302      build_name: manywheel-py3_13-cuda11_8
1303    secrets:
1304      github-token: ${{ secrets.GITHUB_TOKEN }}
1305      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
1306      conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
1307    uses: ./.github/workflows/_binary-upload.yml
1308
1309  manywheel-py3_13-cuda12_1-build:
1310    if: ${{ github.repository_owner == 'pytorch' }}
1311    uses: ./.github/workflows/_binary-build-linux.yml
1312    needs: get-label-type
1313    with:
1314      PYTORCH_ROOT: /pytorch
1315      BUILDER_ROOT: /builder
1316      PACKAGE_TYPE: manywheel
1317      # TODO: This is a legacy variable that we eventually want to get rid of in
1318      #       favor of GPU_ARCH_VERSION
1319      DESIRED_CUDA: cu121
1320      GPU_ARCH_VERSION: 12.1
1321      GPU_ARCH_TYPE: cuda
1322      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.5
1323      use_split_build: True
1324      DESIRED_PYTHON: "3.13"
1325      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
1326      build_name: manywheel-py3_13-cuda12_1
1327      build_environment: linux-binary-manywheel-split
1328      PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.1.3.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.0.2.54; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.2.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.4.5.107; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.1.0.106; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.1.105; platform_system == 'Linux' and platform_machine == 'x86_64'
1329    secrets:
1330      github-token: ${{ secrets.GITHUB_TOKEN }}
1331  manywheel-py3_13-cuda12_1-test:  # Testing
1332    if: ${{ github.repository_owner == 'pytorch' }}
1333    needs:
1334      - manywheel-py3_13-cuda12_1-build
1335      - get-label-type
1336    uses: ./.github/workflows/_binary-test-linux.yml
1337    with:
1338      PYTORCH_ROOT: /pytorch
1339      BUILDER_ROOT: /builder
1340      PACKAGE_TYPE: manywheel
1341      # TODO: This is a legacy variable that we eventually want to get rid of in
1342      #       favor of GPU_ARCH_VERSION
1343      DESIRED_CUDA: cu121
1344      GPU_ARCH_VERSION: 12.1
1345      GPU_ARCH_TYPE: cuda
1346      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.5
1347      use_split_build: True
1348      DESIRED_PYTHON: "3.13"
1349      build_name: manywheel-py3_13-cuda12_1
1350      build_environment: linux-binary-manywheel-split
1351      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
1352      runs_on: linux.4xlarge.nvidia.gpu
1353    secrets:
1354      github-token: ${{ secrets.GITHUB_TOKEN }}
1355  manywheel-py3_13-cuda12_1-upload:  # Uploading
1356    if: ${{ github.repository_owner == 'pytorch' }}
1357    permissions:
1358      id-token: write
1359      contents: read
1360    needs: manywheel-py3_13-cuda12_1-test
1361    with:
1362      PYTORCH_ROOT: /pytorch
1363      BUILDER_ROOT: /builder
1364      PACKAGE_TYPE: manywheel
1365      # TODO: This is a legacy variable that we eventually want to get rid of in
1366      #       favor of GPU_ARCH_VERSION
1367      DESIRED_CUDA: cu121
1368      GPU_ARCH_VERSION: 12.1
1369      GPU_ARCH_TYPE: cuda
1370      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.1-2.5
1371      use_split_build: True
1372      DESIRED_PYTHON: "3.13"
1373      build_name: manywheel-py3_13-cuda12_1
1374    secrets:
1375      github-token: ${{ secrets.GITHUB_TOKEN }}
1376      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
1377      conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
1378    uses: ./.github/workflows/_binary-upload.yml
1379
1380  manywheel-py3_13-cuda12_4-build:
1381    if: ${{ github.repository_owner == 'pytorch' }}
1382    uses: ./.github/workflows/_binary-build-linux.yml
1383    needs: get-label-type
1384    with:
1385      PYTORCH_ROOT: /pytorch
1386      BUILDER_ROOT: /builder
1387      PACKAGE_TYPE: manywheel
1388      # TODO: This is a legacy variable that we eventually want to get rid of in
1389      #       favor of GPU_ARCH_VERSION
1390      DESIRED_CUDA: cu124
1391      GPU_ARCH_VERSION: 12.4
1392      GPU_ARCH_TYPE: cuda
1393      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.4-2.5
1394      use_split_build: True
1395      DESIRED_PYTHON: "3.13"
1396      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
1397      build_name: manywheel-py3_13-cuda12_4
1398      build_environment: linux-binary-manywheel-split
1399      PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.4.127; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.4.127; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.4.127; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.1.0.70; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.4.5.8; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.2.1.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.5.147; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.6.1.9; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.3.1.170; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.21.5; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.4.127; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.4.127; platform_system == 'Linux' and platform_machine == 'x86_64'
1400    secrets:
1401      github-token: ${{ secrets.GITHUB_TOKEN }}
1402  manywheel-py3_13-cuda12_4-test:  # Testing
1403    if: ${{ github.repository_owner == 'pytorch' }}
1404    needs:
1405      - manywheel-py3_13-cuda12_4-build
1406      - get-label-type
1407    uses: ./.github/workflows/_binary-test-linux.yml
1408    with:
1409      PYTORCH_ROOT: /pytorch
1410      BUILDER_ROOT: /builder
1411      PACKAGE_TYPE: manywheel
1412      # TODO: This is a legacy variable that we eventually want to get rid of in
1413      #       favor of GPU_ARCH_VERSION
1414      DESIRED_CUDA: cu124
1415      GPU_ARCH_VERSION: 12.4
1416      GPU_ARCH_TYPE: cuda
1417      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.4-2.5
1418      use_split_build: True
1419      DESIRED_PYTHON: "3.13"
1420      build_name: manywheel-py3_13-cuda12_4
1421      build_environment: linux-binary-manywheel-split
1422      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
1423      runs_on: linux.4xlarge.nvidia.gpu
1424    secrets:
1425      github-token: ${{ secrets.GITHUB_TOKEN }}
1426  manywheel-py3_13-cuda12_4-upload:  # Uploading
1427    if: ${{ github.repository_owner == 'pytorch' }}
1428    permissions:
1429      id-token: write
1430      contents: read
1431    needs: manywheel-py3_13-cuda12_4-test
1432    with:
1433      PYTORCH_ROOT: /pytorch
1434      BUILDER_ROOT: /builder
1435      PACKAGE_TYPE: manywheel
1436      # TODO: This is a legacy variable that we eventually want to get rid of in
1437      #       favor of GPU_ARCH_VERSION
1438      DESIRED_CUDA: cu124
1439      GPU_ARCH_VERSION: 12.4
1440      GPU_ARCH_TYPE: cuda
1441      DOCKER_IMAGE: pytorch/manylinux-builder:cuda12.4-2.5
1442      use_split_build: True
1443      DESIRED_PYTHON: "3.13"
1444      build_name: manywheel-py3_13-cuda12_4
1445    secrets:
1446      github-token: ${{ secrets.GITHUB_TOKEN }}
1447      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
1448      conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
1449    uses: ./.github/workflows/_binary-upload.yml
1450
1451  manywheel-py3_13-cpu-build:
1452    if: ${{ github.repository_owner == 'pytorch' }}
1453    uses: ./.github/workflows/_binary-build-linux.yml
1454    needs: get-label-type
1455    with:
1456      PYTORCH_ROOT: /pytorch
1457      BUILDER_ROOT: /builder
1458      PACKAGE_TYPE: manywheel
1459      # TODO: This is a legacy variable that we eventually want to get rid of in
1460      #       favor of GPU_ARCH_VERSION
1461      DESIRED_CUDA: cpu
1462      GPU_ARCH_TYPE: cpu
1463      DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.5
1464      use_split_build: True
1465      DESIRED_PYTHON: "3.13"
1466      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
1467      build_name: manywheel-py3_13-cpu
1468      build_environment: linux-binary-manywheel-split
1469    secrets:
1470      github-token: ${{ secrets.GITHUB_TOKEN }}
1471  manywheel-py3_13-cpu-test:  # Testing
1472    if: ${{ github.repository_owner == 'pytorch' }}
1473    needs:
1474      - manywheel-py3_13-cpu-build
1475      - get-label-type
1476    uses: ./.github/workflows/_binary-test-linux.yml
1477    with:
1478      PYTORCH_ROOT: /pytorch
1479      BUILDER_ROOT: /builder
1480      PACKAGE_TYPE: manywheel
1481      # TODO: This is a legacy variable that we eventually want to get rid of in
1482      #       favor of GPU_ARCH_VERSION
1483      DESIRED_CUDA: cpu
1484      GPU_ARCH_TYPE: cpu
1485      DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.5
1486      use_split_build: True
1487      DESIRED_PYTHON: "3.13"
1488      build_name: manywheel-py3_13-cpu
1489      build_environment: linux-binary-manywheel-split
1490      runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
1491      runs_on: linux.4xlarge
1492    secrets:
1493      github-token: ${{ secrets.GITHUB_TOKEN }}
1494  manywheel-py3_13-cpu-upload:  # Uploading
1495    if: ${{ github.repository_owner == 'pytorch' }}
1496    permissions:
1497      id-token: write
1498      contents: read
1499    needs: manywheel-py3_13-cpu-test
1500    with:
1501      PYTORCH_ROOT: /pytorch
1502      BUILDER_ROOT: /builder
1503      PACKAGE_TYPE: manywheel
1504      # TODO: This is a legacy variable that we eventually want to get rid of in
1505      #       favor of GPU_ARCH_VERSION
1506      DESIRED_CUDA: cpu
1507      GPU_ARCH_TYPE: cpu
1508      DOCKER_IMAGE: pytorch/manylinux-builder:cpu-2.5
1509      use_split_build: True
1510      DESIRED_PYTHON: "3.13"
1511      build_name: manywheel-py3_13-cpu
1512    secrets:
1513      github-token: ${{ secrets.GITHUB_TOKEN }}
1514      conda-pytorchbot-token: ${{ secrets.CONDA_PYTORCHBOT_TOKEN }}
1515      conda-pytorchbot-token-test: ${{ secrets.CONDA_PYTORCHBOT_TOKEN_TEST }}
1516    uses: ./.github/workflows/_binary-upload.yml
1517