** Changed in: pkg-rocm-tools (Ubuntu)
Status: In Progress => Fix Released
** Changed in: pkg-rocm-tools (Ubuntu)
Assignee: Talha Can Havadar (tchavadar) => (unassigned)
** 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
+ The whole rocm stack bump builds can be seen here:
https://launchpad.net/~bullwinkle-team/+archive/ubuntu/rocm-7.2.4-resolute-sru/+packages
=========
[ 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