Public bug reported:

## FFe ##

Requesting a Feature Freeze exception for a coordinated new-upstream-version
update of the entire ROCm stack (the "rocm" packageset) to upstream release
7.14, in stonking. This is a stack-wide transition across all 39 source
packages in the set, and on Ubuntu it DROPS all architectures other than amd64
(amd64v3 is retained).

### Scope: the rocm packageset (39 source packages)

amdsmi, composable-kernel, esmi, hipblas, hipblas-common, hipblaslt, hipcub,
hipfft, hipify, hiprand, hipsolver, hipsparse, hipsparselt, llvm-toolchain-rocm,
magma-rocm, miopen, pkg-rocm-tools, pytorch-rocm, rccl, rocalution, rocblas,
rocdbgapi, rocfft, rocm, rocm-cmake, rocm-core, rocm-docs-core, rocm-hipamd,
rocminfo, rocm-llvm, rocm-smi-lib, rocprim, rocrand, rocr-runtime, rocsolver,
rocsparse, rocthrust, roctracer, rocwmma.

(Set as returned by the Launchpad packageset API for
ubuntu/stonking/rocm.)

### Description of the proposed changes

New upstream release 7.14 of the whole ROCm stack, uploaded as a coordinated
transition. Current archive versions are 7.2.x (a few components at 7.2.3 /
non-ROCm-versioned, e.g. esmi 5.2.1, magma-rocm 2.9.0, pytorch-rocm 2.9.1).
This brings the stack to upstream 7.14 with the associated LLVM/toolchain bump
and upstream bug fixes / hardware enablement.

### Architecture impact — Ubuntu-only DROP of all non-amd64
architectures (IMPORTANT)

From 7.14, Ubuntu's ROCm builds against AMD's LLVM fork (llvm-toolchain-rocm),
which only targets amd64. This upload therefore restricts the Ubuntu builds to
Architecture: amd64 (retaining amd64v3) and REQUIRES archive-admin removal of
the now-stale non-amd64 binaries currently in stonking.

This is an Ubuntu-only delta. The rocm-team maintains a shared Debian<->Ubuntu
source; Debian continues to build ROCm on all its architectures because Debian
uses upstream LLVM rather than AMD's fork. The drop is gated on the
derivative.ubuntu build profile, which Launchpad activates automatically on
all Ubuntu builds (confirmed in build logs:
Built-For-Profiles: derivative.ubuntu noudeb) and which is never set on
Debian builds. No behaviour change for Debian.

Current non-amd64 binary footprint of the stack that will need removal from
stonking:
  - arm64  : 132 binary packages
  - ppc64el:  30 binary packages
  - s390x  :   7 binary packages
  - riscv64:   5 binary packages
  - armhf  :   2 binary packages

(These are today's built binaries across the packageset in stonking/universe;
exact per-arch lists available on request / derivable via
rmadison -a <arch> -S -s stonking <set>.)

The whole stack is in universe, and none of the packages are seeded — confirmed:
seeded-in-ubuntu returns no seed for any source in the set. So there is no
image/ISO impact; the impact is confined to the archive and to
reverse-dependencies (below).

### Reverse-dependency analysis

All reverse-dependencies internal to the stack move together in this transition
(rocm-dev metapackage, the hip* -> roc* library chain, *-tests packages, etc.),
so intra-set breakage is handled by the coordinated upload.

External (out-of-set) reverse-dependencies — packages that Build-Depend on or
runtime-depend on the stack and are NOT part of it:

  Build-Depends on the stack:
    ggml, gloo-rocm, starpu, starpu-contrib, ucc, ucx, spfft, hipfort, xrt,
    papi, atlas-ecmwf, slurm-wlm, slurm-wlm-contrib, libhmsbeagle,
    rust-amd-smi-wrapper
  Runtime consumers (via python3-torch-rocm etc.):
    accelerate, python-opt-einsum-fx, python3-baler, python3-pomegranate,
    python3-torch-cluster, python3-torch-scatter, python3-torch-sparse,
    python3-torchaudio

On amd64 these might need no-change rebuilds against the 7.14 stack (normal
transition churn; ABI-bearing library packages such as librocblas5, libmiopen1,
librccl1, libamdhip64-7, libhsa-runtime64-1 etc. carry SONAME-encoded names, so
any SONAME bump in 7.14 is handled by the usual binary-package rename + 
rebuild).

### Feasibility of dropping non-amd64 ROCm in external rdeps (Ubuntu
only)

We reviewed the external reverse-dependencies that currently produce ROCm-linked
binaries on non-amd64 to confirm the Ubuntu-side drop is a contained packaging
change rather than a loss of functionality. As with the stack itself, these
changes are gated on the auto-activated derivative.ubuntu build profile, so
Debian keeps its multi-arch ROCm builds untouched. Findings:

  - 6 of the affected packages already gate ROCm/HIP behind a single
    architecture list in debian/rules with matching [arch] restrictions on their
    ROCm build-dependencies:
      * ucx        - ARCH_HIP := amd64 arm64         -> amd64 on Ubuntu
      * ucc        - ARCH_HIP := amd64 arm64 ppc64el -> amd64 on Ubuntu
      * spfft      - ARCH_HIP_CPU := amd64 arm64     -> amd64 on Ubuntu
                     (libspfft1 is Arch: any and degrades cleanly)
      * starpu     - ROCm b-deps [amd64 arm64 ppc64el]; HIP auto-detected via
                     rocm-target-arch -> amd64 on Ubuntu
      * slurm-wlm  - RSMI_ARCH := amd64 arm64 ppc64el s390x, already filters
                     out slurm-wlm-rsmi-plugin on non-RSMI arches -> amd64 on 
Ubuntu
      * ggml       - HIP is a separate binary package (libggml0-backend-hip)
                     already behind a pkg.ggml.nohip profile -> restrict to 
amd64
                     on Ubuntu; other backends (blas/vulkan/rpc) unaffected
    For these, the Ubuntu drop is a vendor-conditional narrowing of the existing
    arch list (and the matching build-dep / binary Architecture: fields), gated
    on derivative.ubuntu so Debian retains its full arch set.

  - gloo-rocm gates ROCm on command -v hipcc; restricting the hipcc /
    pkg-rocm-tools build-deps to amd64 on Ubuntu flips detection off on other
    Ubuntu arches while Debian keeps building it.

  - hipfort is a ROCm-only Fortran interface (no non-ROCm functionality); on
    Ubuntu it becomes Architecture: amd64, while Debian continues to build it
    on all arches.

Conclusion: with the exception of hipfort (ROCm-only by nature), all external
consumers keep full non-ROCm functionality on the dropped architectures; only
the optional ROCm/HIP backend goes away, and only on Ubuntu. All of these
packages are in universe and unseeded. The vendor-conditional packaging updates
will be coordinated alongside the transition.

Architecture-drop exposure — the external binaries that currently link ROCm on
arm64 and lose their ROCm backend on Ubuntu (build-config change, not package
removal, except hipfort): libggml0-backend-hip (ggml), libgloo-rocm-0
(gloo-rocm), libstarpu-1.4-9 (starpu), libucx0 (ucx), libucc1 (ucc), libspfft1
(spfft), slurm-wlm-rsmi-plugin (slurm-wlm), and hipfort itself.

### Rationale for the exception

- Aligns Ubuntu's ROCm stack with the current supported upstream release; 7.2.x
  is superseded upstream.
- Picks up upstream bug fixes and GPU/hardware enablement expected by users of
  the development release.
- Non-amd64 is unsupported by AMD's LLVM fork used on Ubuntu from 7.14 onward;
  keeping those builds would ship non-functional / untested binaries. Dropping
  them (on Ubuntu only) matches reality and removes dead weight from the 
archive,
  while Debian's upstream-LLVM builds keep all arches.

### Testing performed

- Builds: the full 7.14 stack is built for amd64/amd64v3 in the PPA:
    https://launchpad.net/~bullwinkle-team/+archive/ubuntu/rocm-7.14
- Reverse-dependency rebuilds against the 7.14 stack are being carried out in:
    https://launchpad.net/~bullwinkle-team/+archive/ubuntu/rocm-exp
    https://launchpad.net/~bullwinkle-team/+archive/ubuntu/rocm-devel

### Regression potential (per SRU template)

- amd64/amd64v3: standard whole-stack new-upstream transition risk — API/ABI
  changes across many libraries; mitigated by the coordinated upload and rdep
  rebuilds in the PPAs above. Header-only libs (rocprim, rocthrust, hipcub) get
  source-level scrutiny as their ABI is effectively their headers.
- Non-amd64 (Ubuntu): ROCm is removed on those architectures. Intended; matches
  the toolchain constraint. No seeded package is affected; external rdeps lose
  only an optional accelerator backend (hipfort excepted, being ROCm-only), not
  core functionality — see the feasibility analysis above. Debian is unaffected.

### Upstream changelog

Please see https://github.com/ROCm/rocm-libraries/ and 
https://github.com/ROCm/rocm-systems/
for the changes.

### seeded-in-ubuntu

No package in the set is seeded (verified). Output attachable on
request.

** Affects: rocm (Ubuntu)
     Importance: Undecided
         Status: New

** Description changed:

+ ## FFe ##
+ 
  Requesting a Feature Freeze exception for a coordinated new-upstream-version
  update of the entire ROCm stack (the "rocm" packageset) to upstream release
  7.14, in stonking. This is a stack-wide transition across all 39 source
  packages in the set, and on Ubuntu it DROPS all architectures other than amd64
  (amd64v3 is retained).
  
+ ### Scope: the rocm packageset (39 source packages)
  
  amdsmi, composable-kernel, esmi, hipblas, hipblas-common, hipblaslt, hipcub,
  hipfft, hipify, hiprand, hipsolver, hipsparse, hipsparselt, 
llvm-toolchain-rocm,
  magma-rocm, miopen, pkg-rocm-tools, pytorch-rocm, rccl, rocalution, rocblas,
  rocdbgapi, rocfft, rocm, rocm-cmake, rocm-core, rocm-docs-core, rocm-hipamd,
  rocminfo, rocm-llvm, rocm-smi-lib, rocprim, rocrand, rocr-runtime, rocsolver,
  rocsparse, rocthrust, roctracer, rocwmma.
  
  (Set as returned by the Launchpad packageset API for
  ubuntu/stonking/rocm.)
  
+ ### Description of the proposed changes
  
  New upstream release 7.14 of the whole ROCm stack, uploaded as a coordinated
  transition. Current archive versions are 7.2.x (a few components at 7.2.3 /
  non-ROCm-versioned, e.g. esmi 5.2.1, magma-rocm 2.9.0, pytorch-rocm 2.9.1).
  This brings the stack to upstream 7.14 with the associated LLVM/toolchain bump
  and upstream bug fixes / hardware enablement.
  
+ ### Architecture impact — Ubuntu-only DROP of all non-amd64
+ architectures (IMPORTANT)
  
  From 7.14, Ubuntu's ROCm builds against AMD's LLVM fork (llvm-toolchain-rocm),
  which only targets amd64. This upload therefore restricts the Ubuntu builds to
  Architecture: amd64 (retaining amd64v3) and REQUIRES archive-admin removal of
  the now-stale non-amd64 binaries currently in stonking.
  
  This is an Ubuntu-only delta. The rocm-team maintains a shared Debian<->Ubuntu
  source; Debian continues to build ROCm on all its architectures because Debian
  uses upstream LLVM rather than AMD's fork. The drop is gated on the
  derivative.ubuntu build profile, which Launchpad activates automatically on
  all Ubuntu builds (confirmed in build logs:
  Built-For-Profiles: derivative.ubuntu noudeb) and which is never set on
  Debian builds. No behaviour change for Debian.
  
  Current non-amd64 binary footprint of the stack that will need removal from
  stonking:
    - arm64  : 132 binary packages
    - ppc64el:  30 binary packages
    - s390x  :   7 binary packages
    - riscv64:   5 binary packages
    - armhf  :   2 binary packages
  
  (These are today's built binaries across the packageset in stonking/universe;
  exact per-arch lists available on request / derivable via
  rmadison -a <arch> -S -s stonking <set>.)
  
  The whole stack is in universe, and none of the packages are seeded — 
confirmed:
  seeded-in-ubuntu returns no seed for any source in the set. So there is no
  image/ISO impact; the impact is confined to the archive and to
  reverse-dependencies (below).
  
+ ### Reverse-dependency analysis
  
  All reverse-dependencies internal to the stack move together in this 
transition
  (rocm-dev metapackage, the hip* -> roc* library chain, *-tests packages, 
etc.),
  so intra-set breakage is handled by the coordinated upload.
  
  External (out-of-set) reverse-dependencies — packages that Build-Depend on or
  runtime-depend on the stack and are NOT part of it:
  
    Build-Depends on the stack:
      ggml, gloo-rocm, starpu, starpu-contrib, ucc, ucx, spfft, hipfort, xrt,
      papi, atlas-ecmwf, slurm-wlm, slurm-wlm-contrib, libhmsbeagle,
      rust-amd-smi-wrapper
    Runtime consumers (via python3-torch-rocm etc.):
      accelerate, python-opt-einsum-fx, python3-baler, python3-pomegranate,
      python3-torch-cluster, python3-torch-scatter, python3-torch-sparse,
      python3-torchaudio
  
  On amd64 these might need no-change rebuilds against the 7.14 stack (normal
  transition churn; ABI-bearing library packages such as librocblas5, 
libmiopen1,
  librccl1, libamdhip64-7, libhsa-runtime64-1 etc. carry SONAME-encoded names, 
so
  any SONAME bump in 7.14 is handled by the usual binary-package rename + 
rebuild).
  
+ ### Feasibility of dropping non-amd64 ROCm in external rdeps (Ubuntu
+ only)
  
  We reviewed the external reverse-dependencies that currently produce 
ROCm-linked
  binaries on non-amd64 to confirm the Ubuntu-side drop is a contained packaging
  change rather than a loss of functionality. As with the stack itself, these
  changes are gated on the auto-activated derivative.ubuntu build profile, so
  Debian keeps its multi-arch ROCm builds untouched. Findings:
  
    - 6 of the affected packages already gate ROCm/HIP behind a single
      architecture list in debian/rules with matching [arch] restrictions on 
their
      ROCm build-dependencies:
        * ucx        - ARCH_HIP := amd64 arm64         -> amd64 on Ubuntu
        * ucc        - ARCH_HIP := amd64 arm64 ppc64el -> amd64 on Ubuntu
        * spfft      - ARCH_HIP_CPU := amd64 arm64     -> amd64 on Ubuntu
                       (libspfft1 is Arch: any and degrades cleanly)
        * starpu     - ROCm b-deps [amd64 arm64 ppc64el]; HIP auto-detected via
                       rocm-target-arch -> amd64 on Ubuntu
        * slurm-wlm  - RSMI_ARCH := amd64 arm64 ppc64el s390x, already filters
                       out slurm-wlm-rsmi-plugin on non-RSMI arches -> amd64 on 
Ubuntu
        * ggml       - HIP is a separate binary package (libggml0-backend-hip)
                       already behind a pkg.ggml.nohip profile -> restrict to 
amd64
                       on Ubuntu; other backends (blas/vulkan/rpc) unaffected
      For these, the Ubuntu drop is a vendor-conditional narrowing of the 
existing
      arch list (and the matching build-dep / binary Architecture: fields), 
gated
      on derivative.ubuntu so Debian retains its full arch set.
  
    - gloo-rocm gates ROCm on command -v hipcc; restricting the hipcc /
      pkg-rocm-tools build-deps to amd64 on Ubuntu flips detection off on other
      Ubuntu arches while Debian keeps building it.
  
    - hipfort is a ROCm-only Fortran interface (no non-ROCm functionality); on
      Ubuntu it becomes Architecture: amd64, while Debian continues to build it
      on all arches.
  
  Conclusion: with the exception of hipfort (ROCm-only by nature), all external
  consumers keep full non-ROCm functionality on the dropped architectures; only
  the optional ROCm/HIP backend goes away, and only on Ubuntu. All of these
  packages are in universe and unseeded. The vendor-conditional packaging 
updates
  will be coordinated alongside the transition.
  
  Architecture-drop exposure — the external binaries that currently link ROCm on
  arm64 and lose their ROCm backend on Ubuntu (build-config change, not package
  removal, except hipfort): libggml0-backend-hip (ggml), libgloo-rocm-0
  (gloo-rocm), libstarpu-1.4-9 (starpu), libucx0 (ucx), libucc1 (ucc), libspfft1
  (spfft), slurm-wlm-rsmi-plugin (slurm-wlm), and hipfort itself.
  
+ ### Rationale for the exception
  
  - Aligns Ubuntu's ROCm stack with the current supported upstream release; 
7.2.x
    is superseded upstream.
  - Picks up upstream bug fixes and GPU/hardware enablement expected by users of
    the development release.
  - Non-amd64 is unsupported by AMD's LLVM fork used on Ubuntu from 7.14 onward;
    keeping those builds would ship non-functional / untested binaries. Dropping
-   them (on Ubuntu only) matches reality and removes dead weight from the 
archive,
+   them (on Ubuntu only) matches reality and removes dead weight from the 
archive,
    while Debian's upstream-LLVM builds keep all arches.
  
+ ### Testing performed
  
  - Builds: the full 7.14 stack is built for amd64/amd64v3 in the PPA:
      https://launchpad.net/~bullwinkle-team/+archive/ubuntu/rocm-7.14
  - Reverse-dependency rebuilds against the 7.14 stack are being carried out in:
      https://launchpad.net/~bullwinkle-team/+archive/ubuntu/rocm-exp
      https://launchpad.net/~bullwinkle-team/+archive/ubuntu/rocm-devel
  
+ ### Regression potential (per SRU template)
  
  - amd64/amd64v3: standard whole-stack new-upstream transition risk — API/ABI
    changes across many libraries; mitigated by the coordinated upload and rdep
    rebuilds in the PPAs above. Header-only libs (rocprim, rocthrust, hipcub) 
get
    source-level scrutiny as their ABI is effectively their headers.
  - Non-amd64 (Ubuntu): ROCm is removed on those architectures. Intended; 
matches
    the toolchain constraint. No seeded package is affected; external rdeps lose
    only an optional accelerator backend (hipfort excepted, being ROCm-only), 
not
    core functionality — see the feasibility analysis above. Debian is 
unaffected.
  
+ ### Upstream changelog
  
  Please see https://github.com/ROCm/rocm-libraries/ and 
https://github.com/ROCm/rocm-systems/
  for the changes.
  
+ ### seeded-in-ubuntu
  
- No package in the set is seeded (verified). Output attachable on request.
+ No package in the set is seeded (verified). Output attachable on
+ request.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2164631

Title:
  FFe: rocm 7.14 whole-stack new upstream release (Ubuntu drops all non-
  amd64 architectures)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/rocm/+bug/2164631/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to