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