** Description changed:
[ Impact ]
rocALUTION 7.2.3 (librocalution1) fixes a correctness regression in how
preconditioners are moved between host and accelerator memory when used
inside iterative Krylov solvers:
1. Preconditioner MoveToHost/MoveToAccelerator missing in Krylov solvers
(regression introduced in 7.2.x, reverted in commit "Revert 279") —
The MoveToHost() and MoveToAccelerator() calls for the preconditioner
object were removed from the CG, CR, FCG, FGMRES, GMRES, and
base_multigrid solvers. As a result, when a solver was moved between
host and accelerator (e.g. via MoveToAccelerator()), the preconditioner
was left stranded on the original device, leading to incorrect solver
behaviour or crashes for any preconditioned iterative solve that used
MoveToAccelerator(). Fix: restore the missing preconditioner
Move{ToHost,ToAccelerator}() calls in all affected solver classes, and
restore the missing EXPECT_EQ assertions in the
local_vector_test.extract_coarse_mapping_int test.
The 7.2.3 release also carries two build-quality improvements with no
runtime impact:
2. Missing ROCALUTION_EXPORT annotations on public API methods — Multiple
public methods in GlobalMatrix, GlobalVector, IterationControl,
BaseAMG, BaseMultiGrid, MultiColored, and related classes were missing
the ROCALUTION_EXPORT macro required for symbol visibility on Windows.
This caused linking errors when building downstream consumers on
Windows. On Linux the macro is a no-op, so this change has no ABI
impact here.
3. Nodiscard warning fixes — HIP API calls (hipMalloc, hipFree, hipMemcpy,
hipDeviceSynchronize, rocprim::reduce/exclusive_scan, etc.) are now
wrapped in DISCARD_HIP_ERROR() where the return value was intentionally
discarded (errors are caught by the subsequent CHECK_HIP_ERROR macro).
Additionally, the backend initialisation sequence now captures the
hipGetLastError() return value correctly. No behaviour change at
runtime.
Packaging fixes in this upload:
a. d/watch: updated to v5 RFC 822 stanza format and corrected upstream
repository name capitalisation (rocALUTION).
b. d/copyright: upstream AMD copyright year updated to 2025.
c. d/control: Standards-Version bumped to 4.7.4 (no changes required).
d. d/rules: DPKG_GENSYMBOLS_CHECK_LEVEL migrated from
override_dh_makeshlibs to the exported-variable form.
Reverse dependencies: librocalution-dev, librocalution1-tests.
[ Test Plan ]
1. Build:
- dpkg-buildpackage or sbuild succeeds.
- dpkg --compare-versions 7.2.3-0ubuntu1 gt 7.1.1-0ubuntu1 confirms
the new version is greater.
- No debian/*.symbols file exists for this package; dpkg-gensymbols
check is not applicable.
2. Installability:
- apt install librocalution1 librocalution-dev succeeds.
- Confirm reverse dependencies remain installable without rebuild.
3. Autopkgtest (command1 / upstream-binaries librocalution1-tests) on a
GPU-equipped testbed (resolute amd64, lxd --profile=rocm-gpu):
[----------] Global test environment tear-down
[==========] 9633 tests from 43 test suites ran. (366848 ms total)
[ PASSED ] 9151 tests.
[ SKIPPED ] 482 tests, listed below:
[ SKIPPED ]
mixed_precision/parameterized_mixed_precision.mixed_precision_double_float/0
...
autopkgtest [01:08:47]: test command1: - - - - - - - - - - results - - - - -
- - - - -
command1 PASS
autopkgtest [01:08:47]: @@@@@@@@@@@@@@@@@@@@ summary
command1 PASS
2026-05-27 01:08:47 - Autopkg tests ended for rocalution in
ppa:igorluppi/rocalution-7.2.3.
Tests took: 0h 19m 39s. Logs saved in ./rocalution_20260527_004910.log
[ Where problems could occur ]
1. Preconditioned solvers that use MoveToAccelerator() (moderate risk if
regression was present): Any application that calls
solver.MoveToAccelerator() with a preconditioner attached now correctly
moves the preconditioner too. Code that worked around the missing move
by manually calling precond->MoveToAccelerator() is unaffected (the
call is idempotent). Code that relied on the preconditioner staying on
the host while the solver moved to the accelerator would break, but
such a split is not a supported configuration.
2. Infrastructure issues during build (low risk): No GPU is required on
Launchpad builders; override_dh_auto_test-arch is skipped there and
the build is expected to pass without a GPU.
[ Other Info ]
- * No ABI breakage: no debian/*.symbols file is maintained for this package.
- The SONAME remains librocalution.so.1. The ROCALUTION_EXPORT additions
- only affect Windows symbol export; they have no effect on ELF visibility.
+ * No ABI breakage: abidiff between librocalution.so.1.0 from 7.1.1-0ubuntu1
+ (resolute archive) and 7.2.3-0ubuntu1 (ppa:igorluppi/rocalution-7.2.3)
+ reports zero changed functions, zero changed variables, and zero type
+ changes (exit code 0). The SONAME remains librocalution.so.1. The
+ ROCALUTION_EXPORT additions only affect Windows symbol export; they have
+ no effect on ELF visibility. No debian/*.symbols file is maintained for
+ this package.
* This update is part of the coordinated ROCm 7.2.3 stack release.
* PPA: https://launchpad.net/~igorluppi/+archive/ubuntu/rocalution-7.2.3
* Upstream version comparison:
https://github.com/ROCm/rocALUTION/compare/rocm-7.1.1...rocm-7.2.3
* Target: resolute 26.04 LTS
* Known pre-existing build failures (not addressed in this SRU):
armhf FAILEDTOBUILD and s390x MANUALDEPWAIT. These failures exist across
all previous rocalution uploads and are known to the maintainers. A fix
is possible but out of scope for this update.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2154350
Title:
SRU: New upstream version 7.2.3
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/rocalution/+bug/2154350/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs