** 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
