** Description changed:
[ 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.
+ * 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.
+ * 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.
+ * 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.
+ - sbuild / dpkg-buildpackage succeeds on amd64 against an LLVM-22 build
+ environment.
+ - dpkg --compare-versions 7.2.4-1~exp1 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).
+ - 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).
+ - 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):
+ Output (host GPU: gfx1151):
- amdgpu-arch reports: gfx1151
- cmake autodetected GPU_BUILD_TARGETS: 'gfx1151'
- PASS: GPU autodetection matches amdgpu-arch
+ 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)
+ @@@@@@@@@@@@@@@@@@@@ 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.
+ * 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.
+ * 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.
+ * 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.
+ * 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 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.
+ * 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
+ * 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
--
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