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