Public bug reported:
[Impact]
rocwmma was uploaded to resolute at 7.1.0-0ubuntu1 (LP: #2141514), based on the
upstream rocm-7.1.0 source tarball. After resolute closed, AMD published the
ROCm 7.1.1 point release, which respins rocWMMA with corrected version metadata.
The upstream rocm-7.1.0 tarball shipped with the following inconsistency between
declared and actual version:
* CMakeLists.txt sets VERSION_STRING "2.0.0"
* The codebase is in fact rocWMMA 2.1.0 (the version intended for ROCm 7.1.x)
* CHANGELOG.md still labels the codebase as "rocWMMA 2.0.0 for ROCm 7.0.0"
This is repaired in the rocm-7.1.1 tag by a single upstream commit ("Update
Changelog for 7.1", PR ROCm/rocWMMA#603, approved by the Release PM for 7.1.1):
1. CMakeLists.txt VERSION_STRING is bumped from 2.0.0 to 2.1.0. This value
is consumed by:
- configure_file() into library/include/rocwmma/rocwmma-version.hpp,
which exposes ROCWMMA_VERSION_MAJOR/MINOR/PATCH and the inline
function rocwmma_get_version() to downstream applications.
- rocm_setup_version() / ROCMSetupVersion, which generates the CMake
package config-version file consumed by downstream
find_package(rocwmma 2.1.0).
2. CHANGELOG.md gains a "rocWMMA 2.1.0 for ROCm 7.1.0" entry documenting
the bug fixes already present in the 7.1.0 codebase:
- HIP_vector_type compatibility (.data member removed; broadcast
constructor now writes only to the first vector element).
- int32_t handling in hipRTC_gemm on gfx942 corrected for breaking
changes in HIP.
- #pragma unroll over template-parameter indices replaced by a
"static for", required by the upgraded LLVM-21-based compiler that
no longer accepts that pragma form.
- Test predicates corrected for BLK and VW cooperative kernels.
- compute_utils.sh updated so rocWMMA is built with gfx1151 for
ROCm 7.0+.
Without this update, resolute ships rocwmma reporting version 2.0.0 from a
2.1.0 codebase. This mis-identifies the library to any downstream consumer
that performs a version check (find_package(rocwmma 2.1.0 …) fails; runtime
rocwmma_get_version() returns "2.0.0"), and leaves the resolute ROCm 7.1
stack out of sync with the rest of the ROCm 7.1.1 components already SRU'd.
[Test Plan]
1. Build verification of the 7.1.1-0ubuntu1 source in a resolute-targeted
PPA on amd64 and arm64.
2. Installability:
- Install librocwmma-dev, librocwmma-tests, librocwmma-tests-validate
and librocwmma-docs from the PPA on a clean resolute chroot.
- Confirm that reverse build-dependencies of librocwmma-dev in the
resolute archive remain installable.
3. Run the rocwmma autopkgtest (validate suite) on a supported AMD GPU
host and confirm no new failures relative to the 7.1.0-0ubuntu1
baseline.
[Where problems could occur]
rocWMMA is a header-only C++ template library; librocwmma-dev is
Architecture: all and ships no shared object. Consumers re-instantiate
templates at compile time, so this update CANNOT ABI-break (technically but can
silently) any installed
binary on a user system — it can only affect packages that re-build
against the new headers.
1. Version-gated find_package: a downstream package pinning
find_package(rocwmma 2.0.0 EXACT) would now fail to configure. This
is the intended correction — the codebase has always been 2.1.0 for
ROCm 7.1, and downstream packages in the 7.1.x stack already expect
2.1.0. No such consumer exists in the resolute archive today.
2. Header-content diff between the 7.1.0 and 7.1.1 tarballs is empty for
every public include under library/include/rocwmma/ except the
auto-generated rocwmma-version.hpp. Algorithmic and template
behaviour is unchanged, so existing rocwmma consumers in resolute
cannot regress in semantics when rebuilt.
3. Build-time risk for the rocwmma package itself is bounded: the only
changes between the imported 7.1.0 and 7.1.1 tarballs are CHANGELOG.md
and the one-line VERSION_STRING bump in CMakeLists.txt. The three
existing debian/patches/ patches
(0001-remove-unknown-compiler-options,
0002-do-not-treat-doxygen-warnings-as-errors,
0003-fix-arm64-mcmodel-large-failure) apply unchanged.
4. The librocwmma-tests / librocwmma-tests-validate binaries built from
7.1.1 are functionally equivalent to those built from 7.1.0 (no
source change under test/), so no autopkgtest regression is expected.
[Other Info]
* No ABI/API breakage. rocWMMA is a header-only library; the only
public-header content change is the auto-generated version macros.
* Source diff between upstream tarballs:
CHANGELOG.md | 26 +++++++++++++++++++++++++-
CMakeLists.txt | 2 +-
2 files changed, 26 insertions(+), 2 deletions(-)
* Upstream comparison:
https://github.com/ROCm/rocWMMA/compare/rocm-7.1.0...rocm-7.1.1
* Upstream PR:
https://github.com/ROCm/rocWMMA/pull/603
("Update Changelog for 7.1", approved by Release PM for 7.1.1)
* PPA: <fill in once built>
* Autopkgtest: <fill in once run>
** Affects: rocwmma (Ubuntu)
Importance: Undecided
Assignee: Talha Can Havadar (tchavadar)
Status: In Progress
** Affects: rocwmma (Ubuntu Resolute)
Importance: Undecided
Status: New
** Affects: rocwmma (Ubuntu Stonking)
Importance: Undecided
Assignee: Talha Can Havadar (tchavadar)
Status: In Progress
** Also affects: rocwmma (Ubuntu Resolute)
Importance: Undecided
Status: New
** Also affects: rocwmma (Ubuntu Stonking)
Importance: Undecided
Status: New
** Changed in: rocwmma (Ubuntu Stonking)
Status: New => In Progress
** Changed in: rocwmma (Ubuntu Stonking)
Assignee: (unassigned) => Talha Can Havadar (tchavadar)
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2151187
Title:
SRU: New upstream version 7.1.1 to Resolute
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/rocwmma/+bug/2151187/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs