ci: pin OGA to 0.15.1 and the rebased AMDGPU integration PR - #667
Draft
zz002 wants to merge 4 commits into
Draft
Conversation
|
Thanks for opening a PR! This project follows LLVM's incremental-development and AI-tool-use Before requesting review, please check that:
Reviewers are assigned through |
Upstream published no v0.15.1 tag and rel-0.15.1 keeps moving, so both workflows check out the release commit instead of a tag. The AMDGPU integration moves from PR #2194 (v0.14.0) to PR #2376, which is the same integration ported to the 0.15.1 device-interface API. The OGA cache key now folds in the resolved head SHA of every patch PR instead of the PR number plus a hand-bumped mm<N> token, so pushing a new commit to a patch PR invalidates the cache on its own. OGA builds with --no_telemetry: 0.15 enables 1DS telemetry by default, which pulls cpp_client_telemetry (plus curl and mbedtls on Linux) into a cold build and would ship Microsoft telemetry in AMD artifacts.
L2 Accuracy Results (EP vs CPU)
Threshold: 0.01 | Run: 3668 - Commit: |
MorphiZen EP Performance Results
EPContext Export Performance
EPContext Import Performance
OGA Benchmark Results
OGA Wheel Smoke (Python benchmark_e2e.py)
Run: 3668 - Commit: |
OGA 0.15 prints "Peak working set size: <n> bytes (<x> GB)" where 0.14 printed "Peak working set size (bytes): <n>", so the OGA benchmark summary reported "-" for Peak Mem and the perf-report tools printed "?". Match the current format, which is also what the perf_test parser in the same workflow already expects.
OGA_COMMIT had to be edited by hand every time upstream pushed to rel-0.15.1. OGA_BRANCH names the branch instead, and the step that already resolves patch-PR heads now resolves the branch head too: its short SHA goes into the cache key and the checkout uses the full SHA from the same lookup, so the cached artifacts always correspond to the source they were built from.
amd-mingw
marked this pull request as draft
August 6, 2026 08:31
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Moves the OGA pin from
v0.14.0 + PR #2194to the 0.15.1 release commit3abf4a84plus PR #2376, the same AMDGPU umbrella integration ported to 0.15.1's device-interface API. Both Windows and Linux workflows are updated, along with the quick-start docs.Related issue or design
Upstream patch source: microsoft/onnxruntime-genai#2376 (draft, supersedes #2194).
Why
Upstream published no
v0.15.1tag andrel-0.15.1is a branch that keeps moving, so a tag-shaped ref cannot pin this release: the workflows check out the release commit instead.The OGA cache key previously combined the PR number with a hand-bumped
mm<N>token, which had to be remembered whenever a patch PR's branch changed under the same number. A new step resolves each patch PR's head SHA and folds it into the key, so the cache invalidates on its own when a patch PR is updated.0.15 enables 1DS telemetry by default, which pulls
cpp_client_telemetry(plus curl and mbedtls on Linux) into a cold build and would ship Microsoft telemetry inside AMD artifacts, so OGA now builds with--no_telemetry.What
OGA_VERSION(only ever used to build av<version>ref) is replaced byOGA_COMMIT;OGA_PR_PATCHESmoves to2376.Resolve OGA PR head SHAsstep (pwsh on Windows, bash on Linux) queriesgh api repos/microsoft/onnxruntime-genai/pulls/<n> --jq .head.shaand emits<pr>-<sha12>pairs as a step output consumed by the cache key.--no_telemetryadded to bothbuild.pyinvocations and to the documented local build.docs/quick_start.md/docs/quick_start_linux.md: clone-and-checkout the pinned commit, apply PR #2376, and drop the stalemorphizen_ep -> amdgpurename rationale from thegit amnote.Test plan
rel-0.15.1+ the #2376 branch against ORT 1.27 with--no_telemetry(Ninja, Release):onnxruntime-genai.dllandmodel_benchmark.exeproduced.model_benchmarkon Llama-3.1-8B (AWQ int4,"AMDGPU": {"profile": "hip"},session.disable_cpu_ep_fallback=1) with that build: exit 0, TTFT 252 ms and 30.2 tok/s against 240 ms and 30.9 tok/s for the current CI package (v0.14.0 + #2194).Resolve OGA PR head SHAsproduces a non-empty SHA that appears in the cache key,Apply OGA PR patchesapplies #2376 cleanly,Build OGAproducesmodel_benchmark.exe+onnxruntime-genai.dll+ the 0.15.1 wheel.Run OGA benchmarkandRun OGA wheel smokestay green.Notes for reviewers
PR #2376 is a draft opened as a patch source for this CI; it overlaps with upstream #2165. Once #2165 lands,
OGA_PR_PATCHESswitches to it and #2376 is closed. The cache key changes on this PR, so the first run is a cold OGA build.Checklist