Skip to content

Commit deb264e

Browse files
authored
Move test-executorch-cuda-build to linux_job_v3 (pytorch#22890)
Drops the `driver-version` / `driver-download-url` pins rather than porting them, because the job was mostly not using them: ``` 12.6 minimum driver 560.28.03 R580 clears it 13.0 minimum driver 580.65.06 R580 is exactly this 13.4 asked for 615.71.09 see below ``` Two of the three cells were already passing `580.65.06`, which is what OSDC nodes ship from the EKS NVIDIA AMI — those installs were a no-op. Only 13.4 wanted something newer, and CUDA minor version compatibility means a 13.x application runs on any driver supporting 13.0, provided it stays off newer driver APIs. So R580 is likely enough there too. Installing a driver per job is an EC2 idea regardless: on OSDC the driver belongs to the node and a pod cannot replace it. If 13.4 does fail, the fix is the R615 AMI in pytorch/ci-infra#1068, not this workflow. The failure would look like a test error rather than a build one — `test-cuda-build.sh` runs a CUDA matmul and exits 1 if the device is unavailable. ### Testing https://github.com/pytorch/executorch/actions/runs/35148091997/job/104969392177?pr=22890
1 parent 42e3489 commit deb264e

2 files changed

Lines changed: 10 additions & 21 deletions

File tree

‎.ci/scripts/tests/test_cuda_workflow.py‎

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -39,24 +39,17 @@ def test_build_matrix_preserves_existing_cuda_versions(self):
3939
)
4040
self.assertEqual(job["with"]["gpu-arch-version"], "${{ matrix.cuda-version }}")
4141

42-
def test_cuda134_driver_uses_matching_workflow_and_action_revision(self):
42+
def test_cuda_builds_take_the_node_driver_on_an_unpinned_v3(self):
43+
# This job used to pin linux_job_v2 to a test-infra SHA because that was
44+
# the only ref carrying driver-version / driver-download-url, and it
45+
# installed R615 for the 13.4 cell. On OSDC the driver belongs to the
46+
# node and a pod cannot replace it, so the job takes what the node has.
4347
job = WORKFLOW["jobs"]["test-cuda-builds"]
44-
workflow, revision = job["uses"].split("@")
4548
self.assertEqual(
46-
workflow, "pytorch/test-infra/.github/workflows/linux_job_v2.yml"
47-
)
48-
self.assertRegex(revision, r"^[0-9a-f]{40}$")
49-
self.assertEqual(job["with"]["test-infra-ref"], revision)
50-
self.assertEqual(
51-
job["with"]["driver-version"],
52-
"${{ matrix.cuda-version == '13.4' && '615.71.09' || '580.65.06' }}",
53-
)
54-
self.assertEqual(
55-
job["with"]["driver-download-url"],
56-
"${{ matrix.cuda-version == '13.4' && "
57-
"'https://download.nvidia.com/XFree86/Linux-x86_64/615.71.09/"
58-
"NVIDIA-Linux-x86_64-615.71.09.run' || '' }}",
49+
job["uses"], "pytorch/test-infra/.github/workflows/linux_job_v3.yml@main"
5950
)
51+
for pin in ("test-infra-ref", "driver-version", "driver-download-url"):
52+
self.assertNotIn(pin, job["with"])
6053

6154
def test_cuda134_runtime_update_precedes_build_and_propagates_failure(self):
6255
script = WORKFLOW["jobs"]["test-cuda-builds"]["with"]["script"]

‎.github/workflows/cuda.yml‎

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,19 +67,15 @@ jobs:
6767
cuda-version: ["12.6", "13.0", "13.4"]
6868

6969
name: test-executorch-cuda-build-${{ matrix.cuda-version }}
70-
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@c3c4c4d48e97dbaaabd9b65496afd8c8d8dad713
70+
uses: pytorch/test-infra/.github/workflows/linux_job_v3.yml@main
7171
permissions:
7272
id-token: write
7373
contents: read
7474
with:
7575
timeout: 90
76-
runner: linux.g5.4xlarge.nvidia.gpu
76+
runner: mt-l-x86aavx2-11-41-a10g
7777
gpu-arch-type: cuda
7878
gpu-arch-version: ${{ matrix.cuda-version }}
79-
test-infra-ref: c3c4c4d48e97dbaaabd9b65496afd8c8d8dad713
80-
driver-version: ${{ matrix.cuda-version == '13.4' && '615.71.09' || '580.65.06' }}
81-
driver-download-url: ${{ matrix.cuda-version == '13.4' && 'https://download.nvidia.com/XFree86/Linux-x86_64/615.71.09/NVIDIA-Linux-x86_64-615.71.09.run' || '' }}
82-
use-custom-docker-registry: false
8379
submodules: recursive
8480
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
8581
script: |

0 commit comments

Comments
 (0)