Public bug reported:

[ Impact ]

This is a new-upstream-version update that brings rocm-hipamd in Ubuntu
Resolute (26.04 LTS) from the currently published 7.1.0 directly to 7.2.4.
It supersedes the earlier "new upstream version 7.2.3" SRU (LP: #2154037),
which is now obsolete: the 7.2.3 step was never released to Resolute, and
7.2.4 rolls up everything from that proposed update plus two additional
packaging bug fixes. Only 7.2.4 should land.

Upstream changes (7.1.0 -> 7.2.4):

 * New HIP symbols were added to libamdhip64-7 across 7.2.x. Software built
   against the newer upstream ABI fails to link against the older 7.1.0
   library; updating makes those symbols available.
 * The LLVM toolchain build dependency is bumped to version 22 to match the
   updated ROCm build stack (clang/llvm/lld-22, rocm-device-libs-22).
 * The hip/ component was synced with upstream to reflect the API and header
   changes introduced in 7.2.x.
 * Upstream metadata and the watch file were updated to track the new ROCm
   monorepo layout at github.com/ROCm/rocm-systems.
 * The 7.2.3 -> 7.2.4 delta itself is internal-only (HIP graph
   segment-scheduling rework and an SDMA per-stream affinity allocator in
   rocclr/ and hipamd/src/); no public headers under hip/include/ or
   hipamd/include/ change.

The libamdhip64-7 soname is unchanged (libamdhip64.so.7), so no
reverse-dependency rebuilds are required.

In addition to the version bump, two reported bugs are fixed:

 * rocm-opencl-icd missing libamd-comgr3 (LP: #2143594) — the OpenCL ICD
   (libamdocl64.so) loads code objects through libamd-comgr at runtime via
   dlopen, so dpkg-shlibdeps never sees the dependency and ${shlibs:Depends}
   leaves it unsatisfied. With libamd-comgr3 absent, OpenCL clients abort at
   clGetDeviceIDs (e.g. clblast_test_* core-dumps). Fixed by adding an
   explicit Depends on libamd-comgr3, matching libamdhip64-7 which relies on
   the same library.

 * libamdhip64-dev cannot find amdgpu-arch (LP: #2143597) — hip-config-amd.cmake
   hardcodes HIP_CLANG_ROOT="${ROCM_PATH}/llvm", which matches the upstream
   /opt/rocm layout but not Debian/Ubuntu. When an application uses
   find_package(hip) without setting GPU_TARGETS, cmake runs amdgpu-arch from
   that path to autodetect the GPU. On Debian that path does not exist, and
   amdgpu-arch is not at /usr/bin either — it ships in the versioned LLVM
   bindir (/usr/lib/llvm-N/bin). Detection silently fails, GPU_TARGETS is left
   empty, and device code falls back to gfx906, which segfaults at runtime on
   other GPUs. Fixed by deriving HIP_CLANG_ROOT from the resolved location of
   the compiler (d/p/0026), so amdgpu-arch is found next to clang regardless of
   the installed LLVM version, with a fallback to the upstream /opt/rocm layout.
   The HIP autopkgtests were also aligned to compile with the clang that matches
   the installed toolchain, and a new cmake-hip-detect test was added to guard
   the autodetection path against regression.

Both folded fixes are Debian/Ubuntu-packaging-only and do not touch upstream
library code; full per-bug detail lives on LP: #2143594 and LP: #2143597.

[ Test Plan ]

1. Build:
   - sbuild / dpkg-buildpackage succeeds on amd64 against an LLVM-22 build
     environment.
   - dpkg --compare-versions 7.2.4-0ubuntu1 gt 7.1.0-0ubuntu2 confirms the new
     version is greater than what Resolute currently ships.
   - Build runs with DPKG_GENSYMBOLS_CHECK_LEVEL=4 against the existing
     libamdhip64-7.symbols, libhiprtc7.symbols and libhiprtc-builtins7.symbols
     files; build succeeds with no symbols added/removed/changed for the
     7.2.3 -> 7.2.4 step.

2. Installability:
   - apt install libamdhip64-7 libamdhip64-dev libhiprtc7 libhiprtc-builtins7
     hip-utils rocm-opencl-icd.
   - dpkg -l libamdhip64-7 | grep 7.2.4 confirms the new version is installed.
   - Verify rocm-opencl-icd now pulls in libamd-comgr3, and that an OpenCL
     client (e.g. clblast_test_*) reaches a device instead of aborting at
     clGetDeviceIDs.
   - Confirm reverse dependencies remain installable without rebuild (soname
     libamdhip64.so.7 unchanged).
   - Confirm HIP programs that worked against 7.1.0 continue to run without
     recompilation (ABI compatibility check).

3. Autopkgtest:
   - Run the autopkgtest suite (cmake-hip-config, cmake-hip-detect,
     cmake-hip-lang, cmake-hip-module, g++, gcc) on a GPU-enabled host.
   - All tests pass. cmake-hip-detect exercises the LP: #2143597 fix directly:
     it runs find_package(hip) without GPU_TARGETS and asserts the autodetected
     GPU_BUILD_TARGETS matches what amdgpu-arch reports (it fails against the
     pre-fix config and passes with d/p/0026).

     Output (host GPU: gfx1151):

       amdgpu-arch reports: gfx1151
       cmake autodetected GPU_BUILD_TARGETS: 'gfx1151'
       PASS: GPU autodetection matches amdgpu-arch

       @@@@@@@@@@@@@@@@@@@@ summary
       cmake-hip-config     PASS (superficial)
       cmake-hip-detect     PASS (superficial)
       cmake-hip-lang       PASS (superficial)
       cmake-hip-module     PASS (superficial)
       g++                  PASS (superficial)
       gcc                  PASS (superficial)

[ Where problems could occur ]

 * Programs compiled against 7.2.4 upstream headers but run on a system still
   carrying 7.1.0 may fail to link due to symbols not present in the older
   libamdhip64-7; this is the expected direction of the upgrade and resolves
   once 7.2.4 is installed.

 * If the LLVM 22 build dependency is not satisfied in the build environment,
   the package will FTBFS.

 * The hip/ sync with upstream could in theory introduce header-level API
   changes affecting source compatibility for downstream packages; however the
   soname (libamdhip64.so.7) is unchanged, so no reverse-dependency rebuilds
   are required.

 * d/p/0026 changes how HIP_CLANG_ROOT is computed for find_package(hip). If
   the compiler-location derivation were wrong, the symptom would be the same
   class of failure it fixes: GPU autodetection finding no architecture (empty
   GPU_BUILD_TARGETS) and device code defaulting to gfx906, or — if it pointed
   at a directory without amdgpu-arch — an "amdgpu-arch tool failed" AUTHOR
   warning during cmake configure. Applications that pass an explicit
   GPU_TARGETS are unaffected, since that path skips amdgpu-arch entirely.

 * The new libamd-comgr3 dependency on rocm-opencl-icd slightly widens the
   install set. If the dependency were wrong (e.g. version mismatch), it would
   surface at apt install time as an unsatisfiable dependency on
   rocm-opencl-icd, not as a runtime fault.

 * The upstream 7.2.x graph/SDMA changes are internal; a regression there would
   most likely show up as incorrect results or hangs in HIP graph capture or
   multi-stream copy workloads. These paths are exercised indirectly by the HIP
   autopkgtests.

[ Other Info ]

 * This update supersedes and obsoletes the proposed "new upstream version
   7.2.3" SRU (LP: #2154037); 7.2.3 was never released to Resolute and 7.2.4
   is the final target.
 * No ABI change for the 7.2.3 -> 7.2.4 step: upstream public headers are
   untouched and the build passed with DPKG_GENSYMBOLS_CHECK_LEVEL=4 against the
   existing .symbols files. No SOVERSION changes (libamdhip64.so.7,
   libhiprtc.so.7, libhiprtc-builtins.so.7, libamdocl64.so.2.1 unchanged).
 * Both folded fixes are Debian/Ubuntu-packaging-only; full per-bug detail lives
   on LP: #2143594 and LP: #2143597.
 * This update is part of the coordinated ROCm 7.2.4 stack release.
 * PPA: https://launchpad.net/~igorluppi/+archive/ubuntu/rocm-hipamd-7.2.4
 * Upstream version comparison(s):
   - https://github.com/ROCm/clr/compare/rocm-7.1.0...rocm-7.2.3
   - https://github.com/ROCm/hip/compare/rocm-7.1.0...rocm-7.2.3
   - https://github.com/ROCm/rocm-systems/compare/rocm-7.2.3...rocm-7.2.4
   (ROCm migrated clr and hip into the rocm-systems monorepo during the 7.2.x
   cycle, hence the split comparison range.)
 * Target: resolute 26.04 LTS

** Affects: rocm-hipamd (Ubuntu)
     Importance: Undecided
     Assignee: Igor Luppi (igorluppi)
         Status: In Progress

** Changed in: rocm-hipamd (Ubuntu)
     Assignee: (unassigned) => Igor Luppi (igorluppi)

** Changed in: rocm-hipamd (Ubuntu)
       Status: New => 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/2156375

Title:
  SRU: New upstream version 7.2.4

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


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

Reply via email to