** Description changed:

- As part of our efforts to have the ROCm v7.2.3 stack in Resolute this
- bug has been created. rocrand source tar has not been published in the
- 7.2.3 ROCm release, so using 7.2.2 until 7.2.4 gets released.
+ [ Impact ]
+ Users running ROCm 7.1.0 on Resolute have an older version of rocRAND
+ (library version 4.1.0) that is missing the following improvements
+ present in 7.2.4 (library version 4.2.0):
  
- This bug shall be updated to follow the SRU template. For now it serves
- as a placeholder.
+   - A ~2% performance regression for the MT19937 generator producing
+     normal-double values on MI100 (gfx908). The regression was introduced
+     by atemporary workaround for a compiler unroll warning.
+   - A performance regression for all generators using Box-Muller
+     transform (mrg31k3p, mrg32k3a, xorwow, philox4x32_10): the state
+     carried two redundant boolean fields (boxmuller_float_state,
+     boxmuller_double_state) instead of using a NaN sentinel, increasing
+     GPU register pressure and state size.
+   - xorwow aligned-kernel throughput improvement.
+   - Flaky discrete-distribution unit tests caused by too-tight absolute
+     tolerances; replaced with a Two-Sample Kolmogorov-Smirnov test.
+   - Experimental SPIR-V target support (amdgcnspirv) for all generators.
  
- MP: https://salsa.debian.org/rocm-team/rocrand/-/merge_requests/5
- PPA: https://launchpad.net/~b0b0a/+archive/ubuntu/rocrand-7.2.2
- Autopkgtests: https://autopkgtest.ubuntu.com/user/b0b0a/ppa/rocrand-7.2.2
- Upstream code diff: 
https://github.com/ROCm/rocrand/compare/rocm-7.1.1...rocm-7.2.3
- abipkgdiff [librocrand.so.1.1 vs librocrand.so.1.1]:
- ```
- ================ changes of 'librocrand.so.1.1'===============
-   Functions changes summary: 0 Removed, 0 Changed, 0 Added function
-   Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
-   Function symbols changes summary: 0 Removed, 0 Added function symbol not 
referenced by debug info
-   Variable symbols changes summary: 17 Removed, 17 Added variable symbols not 
referenced by debug info
-   17 Removed variable symbols not referenced by debug info:
-     [D] __hip_cuid_1ae1ecdfa7943cc0
-     [D] __hip_cuid_2cd065f485679b72
-     [D] __hip_cuid_3e9dc8639949939b
-     [D] __hip_cuid_46b10346c391065c
-     [D] __hip_cuid_56da38d81d7cd7de
-     [D] __hip_cuid_5cbdf68477cea1a7
-     [D] __hip_cuid_5ddfcfa2e98ba685
-     [D] __hip_cuid_737ed5f9b024b993
-     [D] __hip_cuid_74439a5be2f9cea
-     [D] __hip_cuid_9d79422a5909b4cb
-     [D] __hip_cuid_be08063915bae298
-     [D] __hip_cuid_c3dcb9446dd5b112
-     [D] __hip_cuid_c79d3311d283c849
-     [D] __hip_cuid_c852bdf6eb2bf137
-     [D] __hip_cuid_c8f03c23f1c2a894
-     [D] __hip_cuid_cedfd40f90e78078
-     [D] __hip_cuid_fd71912a0302b193
-   17 Added variable symbols not referenced by debug info:
-     [A] __hip_cuid_152b534f09497def
-     [A] __hip_cuid_1c59dae90f3450c4
-     [A] __hip_cuid_27d0720633a40de3
-     [A] __hip_cuid_58fd2f756c998db2
-     [A] __hip_cuid_6d8c5ea0cfd0cd00
-     [A] __hip_cuid_793d3451e43dc643
-     [A] __hip_cuid_79b5a2b683e76fcc
-     [A] __hip_cuid_8a6583d17bb5cd95
-     [A] __hip_cuid_a97fe259fefd2f27
-     [A] __hip_cuid_b19cac061ee0f257
-     [A] __hip_cuid_cc063c2b428578f8
-     [A] __hip_cuid_cce17d68c9c8cfa9
-     [A] __hip_cuid_dab1f96aea533e1
-     [A] __hip_cuid_eca4144505ecfbf3
-     [A] __hip_cuid_efece96a817306da
-     [A] __hip_cuid_f277f92642af979
-     [A] __hip_cuid_f4aa7c010ef1a235
- ================ end of changes of 'librocrand.so.1.1'===============
- ```
+ This upload brings rocrand to 7.2.4 as part of the coordinated ROCm
+ 7.2.4 stack SRU. All changes are upstream releases; no Ubuntu-specific
+ delta beyond the packaging.
+ 
+ [ Test Plan ]
+ 1. Build
+    Package successfully builds in the bug PPA as well as the Bullwinkle
+    team rocm-devel PPA via recipe. Bullwinkle team has pushed the
+    package to Debian experimental and then synced it to stonking.
+ 
+ 2. Install & basic smoke-test (no GPU required)
+    sudo apt install librocrand1 librocrand-dev
+    # Verify the library loads and version is correct:
+    python3 -c "import ctypes; lib=ctypes.CDLL('librocrand.so.1'); \
+      v=ctypes.c_uint(); lib.rocrand_get_version(ctypes.byref(v)); \
+      print(v.value)"
+    # Output: 402000  (4.2.0)
+ 
+ 3. Autopkgtest
+    All 80 tests from 35 test suites passed on gfx1151:
+      [==========] 80 tests from 35 test suites ran.
+      [  PASSED  ] 80 tests.
+      librocrand1-tests    PASS
+    Tests ran for 15m 34s on 2026-05-20 via ppa:b0b0a/rocrand-7.2.2.
+ 
+ 6. Additional validation
+    - DPKG_GENSYMBOLS_CHECK_LEVEL=4 enforced in debian/rules; strict
+      symbols check passed with no removed or changed symbols.
+    - hiprand rebuilt against the new rocrand in the same PPA;
+      lock-step dependency confirmed working.
+    - miopen rebuilt against the new rocrand in the same PPA;
+      no regressions observed.
+ 
+ [ Where problems could occur ]
+   - The Box-Muller state struct layout changed in four generator headers
+     (mrg31k3p, mrg32k3a, xorwow, philox4x32_10): the two boolean state
+     fields were removed and field ordering changed. Any downstream code
+     that serializes rocrand RNG state to disk or memory and reloads it
+     across the library version boundary would silently produce incorrect
+     random sequences. Symptom: wrong distributions from deserialized
+     state, no crash.
+   - The SPIR-V dispatch refactor touches the kernel launch path
+     for all generators. A regression here would affect all random
+     number generation on GPU. Symptom: incorrect results or GPU hangs
+     during rocrand API calls.
+   - The MT19937 #pragma unroll was temporarily disabled and then
+     re-enabled after a compiler fix. If the LLVM 22 toolchain in the
+     archive has not received the corresponding fix, the build would emit
+     an optimizer warning. Symptom: build warning (non-fatal), possible
+     performance loss on MT19937 normal-double.
+ 
+ [ Other Info ]
+  * ABI: SONAME unchanged (librocrand.so.1.1). abipkgdiff
+    (full log: https://pastebin.ubuntu.com/p/sGXVd7cMn2/) reports 0
+    functions removed/changed/added and 0 variables removed/changed/added.
+    The 17 removed and 17 added variable symbols are all __hip_cuid_*
+    entries — internal HIP compilation-unit ID symbols generated by the
+    compiler, not part of the public API and not referenced by debug info.
+    These change on every recompile and are expected and benign.
+  * This update is part of the coordinated ROCm 7.2.4 stack SRU.
+  * Initial MP to stonking that later ended in debian experimental: 
+    https://salsa.debian.org/rocm-team/rocrand/-/merge_requests/5
+  * PPA: https://launchpad.net/~b0b0a/+archive/ubuntu/rocrand-2153990
+    https://launchpad.net/~b0b0a/+archive/ubuntu/rocrand-7.2.2
+    (7.2.4 has no changes in comparison to 7.2.2)
+  * Autopkgtests: https://autopkgtest.ubuntu.com/user/b0b0a/ppa/rocrand-7.2.2
+  * Upstream comparison:
+    https://github.com/ROCm/rocrand/compare/rocm-7.1.0...rocm-7.2.4

** Summary changed:

-  SRU: New upstream version 7.2.2
+ SRU: New upstream version 7.2.4

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2153990

Title:
  SRU: New upstream version 7.2.4

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/rocrand/+bug/2153990/+subscriptions


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

Reply via email to