Repository navigation
Radeon AI PRO R9700 (gfx1201, RDNA4) support #1781
Copy link
Copy link
Closed
Labels
awaiting-author-responseWaiting for issue author to reply (auto-managed)Waiting for issue author to reply (auto-managed)
Description
Tracking issue for running Hyperloom on the AMD Radeon AI PRO R9700 (gfx1201, RDNA4): a single node, vLLM through Magpie's gfx12 runner, with GEAK and forge as kernel agents.
Scope
- Single node, single GPU (the configuration validated so far).
- vLLM only. Other frameworks have no validated gfx12 runner and are rejected at launch.
- Out of scope for now: multi-node, bare metal, the targeted-build (compiled / AITER) path, and a bare
gfx1201without the R9700 product name (it stays product-unknown).
Component bring-up (merged)
- Magpie: gfx12 vLLM runner (
vllm_gfx12.sh), Enable R9700 vLLM benchmarks through the gfx12 runner Magpie#100; gfx12 launch fixes, Default AITER RMSNorm off for exact R9700 gfx12 vLLM launches Magpie#110 and Parse gfx12 EXTRA_VLLM_ARGS without pathname expansion Magpie#112. - GEAK: R9700 support, including the
expected_target/expected_gfxhandoff pair, Add validated RDNA4 support for Radeon AI PRO R9700 GEAK#488.
Hyperloom
- R9700 identity and vLLM gfx12 routing, the GEAK product/ISA handoff: feat(gpu): support the Radeon AI PRO R9700 (gfx1201) with vLLM #1782
- Move
MAGPIE_REFto a Magpie commit that has the gfx12 runner. The current pin,e6833b8, predates it. Separate PR, after the PRs below. - Move
TRACELENS_REFonce the MXFP4 roofline fixes land in TraceLens (fix(perfmodel): roof Triton bf16 x mxfp4 MoE GEMMs at the activation width TraceLens#1096, fix(perfmodel): use the 16-bit matrix peak for MX formats on GPUs without native FP4/FP6 TraceLens#1097, fix(perfmodel): sweep tile shapes in the Triton MXFP4/MXFP6 microbenchmark TraceLens#1098). Separate PR.
Fixes found during bring-up (generic, not RDNA-specific)
- TunableOp shape capture keeps its recording envs: fix(gemm-tune): keep the TunableOp recording envs in the vLLM shape capture #1772
- forge ignores rocminfo's generic ISA names: fix(forge): ignore rocminfo's generic ISA names when detecting the GPU target #1773
- installers find the image Python in
/opt/python/bin: fix(install): find the image Python in /opt/python/bin #1774 - specialists spawn the recorded Claude CLI: fix(specialists): spawn the Claude CLI the installer recorded #1775
- preflight expands
${VAR}in custom-header settings: fix(preflight): expand ${VAR} references in the custom-header settings #1776 - profile traces of spawned vLLM engines keep GPU events: fix(profile): keep GPU events in the traces of spawned vLLM engines #1777
- the profile shim's note names the stack it was observed on: docs(profile): scope the start-up shim's note to the stack it was observed on #1799
- PRELUDE keeps the initial roofline: fix(prelude): keep PRELUDE open until the initial roofline books #1779
- missing kernel-tuning tools are surfaced: feat(kernel): surface missing kernel-tuning tools at preflight and from GEAK #1780
- a GEAK timeout is a terminal KERNEL result: fix(phases): treat a GEAK timeout as a terminal KERNEL result #1783
GEAK fixes found during bring-up
- a head adopts its
entity_kindfrom the profiled row: fix(e2e_workflow): adopt a head's entity_kind from its profiled row GEAK#498 - profile traces of spawned engines keep GPU events (GEAK side of fix(profile): keep GPU events in the traces of spawned vLLM engines #1777): fix(bench_e2e): keep GPU events in profile traces of spawned engines GEAK#500
- a caller-pinned
eval_diris kept as the run'seval_dir: fix(e2e_workflow): keep a caller-pinned eval_dir as the run's eval_dir GEAK#502 - a run cut off before Finalize is not reported as
no_gain: fix(run_e2e): do not report a run cut off before Finalize as no_gain GEAK#504
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
awaiting-author-responseWaiting for issue author to reply (auto-managed)Waiting for issue author to reply (auto-managed)
Activity
mehdi-saeedi commentedon Oct 8, 2026
Review round addressed. @chaojhou reviewed every Hyperloom PR here; all of the must-fix items are now pushed, and the PR descriptions were updated where the behaviour changed.
mainto clear thecampaign_config.pyconflict with Read kernelforge workspace state only in the shape the current code writes #1768. Approved, unchanged otherwise.roles/claude.py, readingHYPERLOOM_CLAUDE_CLI_PATH, thenGEAK_CLAUDE_BIN, thenPATH; both variables documented.claude_sdk_env_optionsuses, through one shared helper, so a reference to the credential that is not set no longer resolves to empty.enablement_baseline. Also mergedmainfor the roofline executor refactor ([Bad smell] refactor(roofline): lift the profile retry loop out of _execute #1702).r9700is documented inSKILL.mdandreferences/frameworks.md.The
MAGPIE_REFbump stays a separate follow-up, opened once this round settles: it moves Magpie for every board, while #1782 is additive for all of them, so the two carry different risk.chaojhou commentedon Oct 22, 2026
Every item in this tracking issue has landed on main:
GEAK_REFdefaults tomain.MAGPIE_REFmoved to6a1ee26fin Use Magpie's native AgentX contract for optimization #1922 (install.sh:183). That commit carries the gfx12 runnervllm_gfx12.sh, from Magpie#100, add image-version-check #110 and Long-Term Memory #112.TRACELENS_REFmoved to614c597bin Drive the TraceLens Agent from a YAML run config #1952 (install_kernel_tools.sh:96). That commit contains TraceLens#1096, Capture Platform Config and warn on CPU settings that aren't optimal #1097 and fix(kernel): harden Forge runtime targeting and E2E integration #1098.Closing as resolved. The older open RDNA4 PRs (#1296, #1757, #1032) were not part of this checklist and are triaged separately.