Skip to content

Add gfx950 ROCm CI for AOTI - #21957

Merged
digantdesai merged 1 commit into
mainfrom
aoti-amd-rocm-ci
Aug 20, 2026
Merged

Add gfx950 ROCm CI for AOTI#21957
digantdesai merged 1 commit into
mainfrom
aoti-amd-rocm-ci

Conversation

@digantdesai

@digantdesai digantdesai commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Add an opt-in, path-filtered ROCm job on the gfx950 runner. Build the HIP runtime and native runner, exercise targeted Python and C++ coverage, verify generated AOTI code and HIP-only linkage, and provide a generic ROCm LLM preset.

@pytorch-bot

pytorch-bot Bot commented Aug 19, 2026

Copy link
Copy Markdown

🔗 Helpful Links

🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/21957

Note: Links to docs will display an error until the docs builds have been completed.

❌ 2 New Failures

As of commit 2631173 with merge base 910f816 (image):

NEW FAILURES - The following jobs have failed:

This comment was automatically generated by Dr. CI and updates every 15 minutes.

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Aug 19, 2026
@pytorch-bot

pytorch-bot Bot commented Aug 19, 2026

Copy link
Copy Markdown

Warning: Unknown label ciflow/rocm.
Currently recognized labels are

  • ciflow/android
  • ciflow/apple
  • ciflow/cuda
  • ciflow/cuda-perf
  • ciflow/metal
  • ciflow/mlx
  • ciflow/nightly
  • ciflow/trunk
  • ciflow/binaries
  • ciflow/binaries/all
  • ciflow/periodic

Please add the new label to .github/pytorch-probot.yml

@github-actions

Copy link
Copy Markdown

This PR needs a release notes: label

If your change should be included in the release notes (i.e. would users of this library care about this change?), please use a label starting with release notes:. This helps us keep track and include your important work in the next release notes.

To add a label, you can comment to pytorchbot, for example
@pytorchbot label "release notes: none"

For more information, see
https://github.com/pytorch/pytorch/wiki/PyTorch-AutoLabel-Bot#why-categorize-for-release-notes-and-how-does-it-work.

@digantdesai
digantdesai marked this pull request as ready for review August 20, 2026 02:29
Copilot AI lite review requested due to automatic review settings August 20, 2026 02:29
@digantdesai
digantdesai requested review from Gasoonjia and removed request for kirklandsign and larryliu0820 August 20, 2026 02:29

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an opt-in ROCm (HIP) CI workflow intended to validate ExecuTorch’s AOTI CUDA backend on AMD GPUs, along with build presets and documentation updates to support ROCm-focused LLM builds and targeted test execution.

Changes:

  • Introduces a new GitHub Actions workflow (rocm.yml) and CI script to build and validate ROCm AOTI (native runner build, targeted C++ tests, targeted Python tests, linkage checks, and an example export).
  • Adds ROCm CMake presets/workflow preset for LLM release builds and updates ROCm documentation to point to the preset workflow.
  • Improves CUDA fused MoE test runner configurability by allowing the executor_runner path to be overridden via environment variable.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
CMakePresets.json Adds ROCm LLM release configure/build/workflow presets (install-oriented).
backends/cuda/tests/test_fused_moe.py Allows overriding the native runner path via EXECUTORCH_EXECUTOR_RUNNER.
backends/cuda/rocm.md Updates ROCm build instructions to use the new CMake workflow preset and updates CI notes.
.github/workflows/rocm.yml Adds a path-filtered ROCm AOTI CI workflow using the test-infra Linux job runner.
.github/pytorch-probot.yml Registers ciflow/rocm push tag for triggering ROCm CI.
.ci/scripts/test-rocm-aoti.sh Implements the end-to-end ROCm AOTI CI script (build, test, linkage verification, export).

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread backends/cuda/rocm.md Outdated
Comment on lines +102 to +106
no-sudo: true
runner: linux.rocm.gpu.gfx950.1
gpu-arch-type: rocm
gpu-arch-version: ${{ matrix.rocm-version }}
docker-image: pytorch/manylinux2_28-builder:rocm${{ matrix.rocm-version }}
Comment thread .github/workflows/rocm.yml

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated no new comments.

Suppressed comments (1)

.github/workflows/rocm.yml:84

  • The changed-file gate only matches single-level paths like backends/cuda/*, so edits under nested directories (e.g. backends/cuda/tests/...) won’t set RUN_AOTI=true. That means the ROCm job can be silently skipped even though the workflow triggers on backends/cuda/** at the event level.
              backends/aoti/* | \
              backends/cuda/* | \
              extension/cuda/* | \
              examples/cuda/*)

Copilot AI review requested due to automatic review settings August 20, 2026 03:30

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated no new comments.

Suppressed comments (2)

.github/workflows/rocm.yml:77

  • aoti-run-decision should also consider torch_pin.py as an input, since .ci/scripts/test-rocm-aoti.sh imports it to select the PyTorch version. Otherwise pushes that only change torch_pin.py may skip ROCm CI unexpectedly.
              CMakeLists.txt | \
              CMakePresets.json | \
              install_requirements.py | \
              backends/aoti/* | \
              backends/cuda/* | \

.github/workflows/rocm.yml:21

  • The ROCm CI script reads TORCH_VERSION via from torch_pin import TORCH_VERSION (in .ci/scripts/test-rocm-aoti.sh), but torch_pin.py is not included in the pull_request.paths filter. Changes to torch pinning could affect this workflow without triggering ROCm CI on PRs.

This issue also appears on line 73 of the same file.

      - CMakeLists.txt
      - CMakePresets.json
      - install_requirements.py
      - backends/aoti/**

Add an opt-in, path-filtered ROCm job on the gfx950 runner. Build the HIP
runtime and native runner, exercise targeted Python and C++ coverage,
verify generated AOTI code and HIP-only linkage, and provide a generic
ROCm LLM preset.

With assistance from Claude Code and Codex.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated no new comments.

@digantdesai
digantdesai merged commit f982cda into main Aug 20, 2026
406 of 408 checks passed
@digantdesai
digantdesai deleted the aoti-amd-rocm-ci branch August 20, 2026 14:16
@digantdesai digantdesai changed the title Add gfx1100 ROCm CI for AOTI Add gfx950 ROCm CI for AOTI Aug 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ciflow/rocm CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. module: rocm

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants