Public bug reported:

[ 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

** Affects: pkg-rocm-tools (Ubuntu)
     Importance: Undecided
     Assignee: Talha Can Havadar (tchavadar)
         Status: In Progress

** Affects: pkg-rocm-tools (Ubuntu Resolute)
     Importance: High
     Assignee: Talha Can Havadar (tchavadar)
         Status: In Progress

-- 
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

Reply via email to