** Description changed: + ========= + Note for SRU Reviewer: Please be aware that this is part of ROCm stack update, please see https://canonical.github.io/rocm-qa/dependency-graph for the list of packages and their relationship + ========= + [ Impact ] ROCm's build tooling determines which AMD GPU ISAs (gfx targets) the whole ROCm stack compiles device code for from a single per-distribution list shipped by pkg-rocm-tools: /usr/share/pkg-rocm-tools/data/build-targets/resolute consumed by /usr/bin/rocm-target-arch (see bin/rocm-target-arch). Every ROCm source package (rocBLAS, rocFFT, MIOpen, ...) queries this list at build time to decide its GPU code-object targets. The resolute list currently does NOT contain gfx950. As a result the ROCm stack in 26.04 produces no device code for AMD Instinct MI350-series (MI350X / MI355X, CDNA4) accelerators, and those GPUs are effectively unsupported on the LTS even once the runtime and toolchain can handle them. This SRU adds exactly one line -- "gfx950" -- to the resolute target list, enabling MI350/CDNA4 as a build target so the resolute ROCm stack (being upgraded to 7.2.4) emits gfx950 code objects. Evidence for the hardware identity (gfx950 == MI350 / CDNA4, data-center class): * LLVM AMDGPU backend: EF_AMDGPU_MACH_AMDGCN_GFX950 = 0x04f https://llvm.org/docs/AMDGPUUsage.html * ROCm system requirements: "AMD Instinct MI355X / MI350X" -> MI350 -> CDNA4 -> gfx950 https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html [ Hardware-enablement rationale ] gfx950 (CDNA4) is a server / data-center accelerator ISA -- the AMD Instinct MI350X and MI355X. Data-center deployments standardise on Ubuntu LTS releases, so MI350-class silicon must be enabled on the 26.04 LTS (resolute) rather than only on the interim/dev series (stonking). Not enabling it on the LTS leaves the target customer platform without ROCm support for current-generation server GPUs. This change is the enabling prerequisite for the resolute ROCm 7.2.4 stack upgrade: the 7.2.4 stack (with LLVM 22) supports building for gfx950, but the stack packages only build it if the target appears in this list. [ Test Plan ] Level 1 -- tool output (pkg-rocm-tools itself): 1. Enable resolute-proposed; install pkg-rocm-tools 0.9.6ubuntu4~26.04.1. 2. Run: rocm-target-arch --dist resolute --sep ' ' Expected: output includes "gfx950" (sorted between gfx942 and gfx1030), i.e.: gfx908 gfx90a gfx942 gfx950 gfx1030 gfx1100 gfx1101 gfx1151 gfx1200 gfx1201 3. Confirm the packaged data file: cat /usr/share/pkg-rocm-tools/data/build-targets/resolute contains the gfx950 line. ====================================================================== [ Where problems could occur ] ====================================================================== Scope of the change: one added line in an arch:all data file. No compiled code, no shared library, no ABI/API surface, no runtime behaviour change for already-installed systems. Regression analysis: * Installed systems that do NOT rebuild ROCm packages are completely unaffected -- the file is read only at package BUILD time, never at runtime. Existing binaries and existing supported ISAs are untouched (the change is purely additive; no target is removed or reordered in a way that changes existing output beyond inserting gfx950). The change only "activates" when a ROCm stack package is rebuilt. The real risks live in that rebuild, not in pkg-rocm-tools: * FTBFS risk: if a stack package is rebuilt against this list while the target LLVM/ROCm toolchain in resolute does NOT yet support gfx950, the gfx950 device-code compile fails. Mitigation: this upload is coordinated with the resolute ROCm 7.2.4 / LLVM 22 stack, which supports gfx950. pkg-rocm-tools 0.9.6ubuntu4~26.04.1 must land together with (or as part of) the 7.2.4 stack SRU; no stable stack package should be no-change-rebuilt against it in isolation before 7.2.4 is in place. * Resource cost (non-regressing): adding an ISA increases build time and code-object / binary size for stack packages. This is expected and affects only newly built packages. Rollback is trivial: revert the single added line (restore 0.9.6ubuntu3 behaviour). No data migration, no config, no maintainer scripts involved. [ Other Info ] Upstream commit being backported (Debian ROCm Team / pkg-rocm-tools, salsa.debian.org/rocm-team/pkg-rocm-tools): 23ec67fcc5f4df6fb1f4f625e13bc2f0efc3c946 "resolute: add gfx950 into the targets" Exact delta (0.9.6ubuntu3 -> 0.9.6ubuntu4): --- a/data/build-targets/resolute +++ b/data/build-targets/resolute @@ -1,6 +1,7 @@ gfx908 gfx90a gfx942 +gfx950 gfx1030 gfx1100 gfx1101
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2159601 Title: SRU: pkg-rocm-tools: enable gfx950 (AMD Instinct MI350 / CDNA4) build target for resolute To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/pkg-rocm-tools/+bug/2159601/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
