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

Reply via email to