** Description changed:

- As part of our efforts to have the ROCm v7.2.4 stack in Resolute this
- bug has been created.
+ [ Impact ]
+ Users running ROCm 7.1.0 on Resolute have an older version of rocThrust
+ (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.
+ Bug fixes:
+   - In-place inclusive scan_by_key with key aliasing (reusing the input
+     keys buffer as output) could produce wrong results due to a data
+     race between GPU blocks. The underlying fix is in rocPRIM and
+     propagates to rocThrust via the header dependency.
+   - Compile error when building user code with -std=gnu++17 and calling
+     thrust::sort_by_key (or similar) with certain key types (e.g.
+     __int128). The sequential device dispatch path was incorrectly
+     emitted when the HIP runtime is available.
+   - HIP compiler rejecting THRUST_NODISCARD attribute causing build
+     failures when building with certain compiler versions.
  
- PPA: https://launchpad.net/~b0b0a/+archive/ubuntu/rocthrust-7.2.4
- Autopkgtests: https://autopkgtest.ubuntu.com/user/b0b0a/ppa/rocthrust-7.2.4
- Upstream code diff: 
https://github.com/ROCm/rocthrust/compare/rocm-7.1.1...rocm-7.2.4
+ Compatibility fixes:
+   - Add __has_include guards for CCCL/libhipcxx headers introduced in
+     CCCL 2.8. Without this, including rocThrust headers would fail at
+     compile time on systems with older CCCL versions.
+ 
+ New features:
+   - thrust::unique_ptr: a smart pointer for managing device memory with
+     automatic cleanup, supporting both single-object and array variants.
+     Users previously had to manage device memory lifetime manually.
+ 
+ This upload brings rocsparse 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 compilation smoke-test (no GPU required)
+    sudo apt install librocthrust-dev
+    # Verify headers are accessible and a minimal program compiles:
+    echo '#include <thrust/device_vector.h>
+    void test() { thrust::device_vector<int> v(4); }' \
+    | hipcc -x hip --std=gnu++17 -c - -o /tmp/rocthrust-test.o \
+    && rm /tmp/rocthrust-test.o
+    # Compiles without errors
+ 
+ 3. Autopkgtest
+    All autopkgtests pass.
+ 
+ [ Where problems could occur ]
+   - rocThrust is a header-only library; all compilation happens at the
+     consumer's build time. A regression in the headers would manifest as
+     a compile error or silent wrong results in user code, not a runtime
+     crash in the library itself.
+   - The scan_by_key in-place race condition fix is in rocPRIM (a
+     header-only dependency). If the fix introduced a regression, it
+     would show as incorrect results from inclusive_scan_by_key when
+     keys and output alias the same buffer. Symptom: wrong values in
+     segmented scan output.
+   - The CCCL version guard change adds version-checking logic for
+     libhipcxx/libcudacxx. If the version detection is wrong, thrust
+     would silently fall back to the slower non-accelerated path without
+     any error. Symptom: lower performance for operations that rely on
+     _THRUST_STD types.
+   - The gnu++17 sequential-dispatch fix changes which device
+     implementations are compiled. A regression could cause link errors
+     or wrong dispatch at runtime. Symptom: undefined symbol at link
+     time or wrong kernel launched.
+   - thrust::unique_ptr is a new header (thrust/unique_ptr.h). Users
+     who include all thrust headers (e.g. thrust/thrust.h) will now
+     implicitly pull it in. Symptom: compile error if the new header
+     conflicts with user-defined symbols named unique_ptr.
+ 
+ [ Other Info ]
+  * ABI: rocThrust is a header-only library (librocthrust-dev, arch: all).
+    There is no shared library and no SONAME — abipkgdiff is not
+    applicable.
+  * 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/rocthrust/-/merge_requests/4
+  * PPA: https://launchpad.net/~b0b0a/+archive/ubuntu/rocthrust-2154711
+    https://launchpad.net/~b0b0a/+archive/ubuntu/rocthrust-7.2.4
+  * Autopkgtests: https://autopkgtest.ubuntu.com/user/b0b0a/ppa/rocthrust-7.2.4
+  * Upstream comparison:
+    https://github.com/ROCm/rocm-libraries/compare/rocm-7.1.0...rocm-7.2.4

** Description changed:

  [ Impact ]
  Users running ROCm 7.1.0 on Resolute have an older version of rocThrust
  (4.1.0) that is missing the following improvements present in 7.2.4
  (library version 4.2.0):
  
  Bug fixes:
-   - In-place inclusive scan_by_key with key aliasing (reusing the input
-     keys buffer as output) could produce wrong results due to a data
-     race between GPU blocks. The underlying fix is in rocPRIM and
-     propagates to rocThrust via the header dependency.
-   - Compile error when building user code with -std=gnu++17 and calling
-     thrust::sort_by_key (or similar) with certain key types (e.g.
-     __int128). The sequential device dispatch path was incorrectly
-     emitted when the HIP runtime is available.
-   - HIP compiler rejecting THRUST_NODISCARD attribute causing build
-     failures when building with certain compiler versions.
+   - In-place inclusive scan_by_key with key aliasing (reusing the input
+     keys buffer as output) could produce wrong results due to a data
+     race between GPU blocks. The underlying fix is in rocPRIM and
+     propagates to rocThrust via the header dependency.
+   - Compile error when building user code with -std=gnu++17 and calling
+     thrust::sort_by_key (or similar) with certain key types (e.g.
+     __int128). The sequential device dispatch path was incorrectly
+     emitted when the HIP runtime is available.
+   - HIP compiler rejecting THRUST_NODISCARD attribute causing build
+     failures when building with certain compiler versions.
  
  Compatibility fixes:
-   - Add __has_include guards for CCCL/libhipcxx headers introduced in
-     CCCL 2.8. Without this, including rocThrust headers would fail at
-     compile time on systems with older CCCL versions.
+   - Add __has_include guards for CCCL/libhipcxx headers introduced in
+     CCCL 2.8. Without this, including rocThrust headers would fail at
+     compile time on systems with older CCCL versions.
  
  New features:
-   - thrust::unique_ptr: a smart pointer for managing device memory with
-     automatic cleanup, supporting both single-object and array variants.
-     Users previously had to manage device memory lifetime manually.
+   - thrust::unique_ptr: a smart pointer for managing device memory with
+     automatic cleanup, supporting both single-object and array variants.
+     Users previously had to manage device memory lifetime manually.
  
  This upload brings rocsparse 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.
+    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 compilation smoke-test (no GPU required)
-    sudo apt install librocthrust-dev
-    # Verify headers are accessible and a minimal program compiles:
-    echo '#include <thrust/device_vector.h>
-    void test() { thrust::device_vector<int> v(4); }' \
-    | hipcc -x hip --std=gnu++17 -c - -o /tmp/rocthrust-test.o \
-    && rm /tmp/rocthrust-test.o
-    # Compiles without errors
+    sudo apt install librocthrust-dev
+    # Verify headers are accessible and a minimal program compiles:
+    echo '#include <thrust/device_vector.h>
+    void test() { thrust::device_vector<int> v(4); }' \
+    | hipcc -x hip --std=gnu++17 -c - -o /tmp/rocthrust-test.o \
+    && rm /tmp/rocthrust-test.o
+    # Compiles without errors
  
  3. Autopkgtest
-    All autopkgtests pass.
+    All autopkgtests pass.
  
  [ Where problems could occur ]
-   - rocThrust is a header-only library; all compilation happens at the
-     consumer's build time. A regression in the headers would manifest as
-     a compile error or silent wrong results in user code, not a runtime
-     crash in the library itself.
-   - The scan_by_key in-place race condition fix is in rocPRIM (a
-     header-only dependency). If the fix introduced a regression, it
-     would show as incorrect results from inclusive_scan_by_key when
-     keys and output alias the same buffer. Symptom: wrong values in
-     segmented scan output.
-   - The CCCL version guard change adds version-checking logic for
-     libhipcxx/libcudacxx. If the version detection is wrong, thrust
-     would silently fall back to the slower non-accelerated path without
-     any error. Symptom: lower performance for operations that rely on
-     _THRUST_STD types.
-   - The gnu++17 sequential-dispatch fix changes which device
-     implementations are compiled. A regression could cause link errors
-     or wrong dispatch at runtime. Symptom: undefined symbol at link
-     time or wrong kernel launched.
-   - thrust::unique_ptr is a new header (thrust/unique_ptr.h). Users
-     who include all thrust headers (e.g. thrust/thrust.h) will now
-     implicitly pull it in. Symptom: compile error if the new header
-     conflicts with user-defined symbols named unique_ptr.
+   - rocThrust is a header-only library; all compilation happens at the
+     consumer's build time. A regression in the headers would manifest as
+     a compile error or silent wrong results in user code, not a runtime
+     crash in the library itself.
+   - The scan_by_key in-place race condition fix is in rocPRIM (a
+     header-only dependency). If the fix introduced a regression, it
+     would show as incorrect results from inclusive_scan_by_key when
+     keys and output alias the same buffer. Symptom: wrong values in
+     segmented scan output.
+   - The CCCL version guard change adds version-checking logic for
+     libhipcxx/libcudacxx. If the version detection is wrong, thrust
+     would silently fall back to the slower non-accelerated path without
+     any error. Symptom: lower performance for operations that rely on
+     _THRUST_STD types.
+   - The gnu++17 sequential-dispatch fix changes which device
+     implementations are compiled. A regression could cause link errors
+     or wrong dispatch at runtime. Symptom: undefined symbol at link
+     time or wrong kernel launched.
+   - thrust::unique_ptr is a new header (thrust/unique_ptr.h). Users
+     who include all thrust headers (e.g. thrust/thrust.h) will now
+     implicitly pull it in. Symptom: compile error if the new header
+     conflicts with user-defined symbols named unique_ptr.
  
  [ Other Info ]
-  * ABI: rocThrust is a header-only library (librocthrust-dev, arch: all).
-    There is no shared library and no SONAME — abipkgdiff is not
-    applicable.
-  * 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/rocthrust/-/merge_requests/4
-  * PPA: https://launchpad.net/~b0b0a/+archive/ubuntu/rocthrust-2154711
-    https://launchpad.net/~b0b0a/+archive/ubuntu/rocthrust-7.2.4
-  * Autopkgtests: https://autopkgtest.ubuntu.com/user/b0b0a/ppa/rocthrust-7.2.4
-  * Upstream comparison:
-    https://github.com/ROCm/rocm-libraries/compare/rocm-7.1.0...rocm-7.2.4
+  * ABI: rocThrust is a header-only library (librocthrust-dev, arch: all).
+    There is no shared library and no SONAME — abipkgdiff is not
+    applicable.
+  * 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/rocthrust/-/merge_requests/4
+  * PPA: https://launchpad.net/~b0b0a/+archive/ubuntu/rocthrust-2154711
+    https://launchpad.net/~b0b0a/+archive/ubuntu/rocthrust-7.2.4
+  * Autopkgtests: https://autopkgtest.ubuntu.com/user/b0b0a/ppa/rocthrust-7.2.4
+  * Upstream comparison:
+    https://github.com/ROCm/rocthrust/compare/rocm-7.1.0...rocm-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/2154711

Title:
  SRU: New upstream version 7.2.4

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


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

Reply via email to