Releases: ROCm/rocThrust
Releases · ROCm/rocThrust
rocThrust 3.1.0 for ROCm 6.2.2
rocThrust code for ROCm 6.2.2 did not change. The library was rebuilt for the updated ROCm 6.2.2 stack.
rocThrust 3.1.0 for ROCm 6.2.1
rocThrust code for ROCm 6.2.1 did not change. The library was rebuilt for the updated ROCm 6.2.1 stack.
rocThrust 3.1.0 for ROCm 6.2.0
Additions
- Merged changes from upstream CCCL/thrust 2.2.0
- Updated the contents of
system/hip
andtest
with the upstream changes tosystem/cuda
andtesting
- Updated the contents of
Changes
- Updated internal calls to
rocprim::detail::invoke_result
to use the public APIrocprim::invoke_result
. - Use
rocprim::device_adjacent_difference
foradjacent_difference
API call. - Updated internal use of custom iterator in
thrust::detail::unique_by_key
to use rocPRIM'srocprim::unique_by_key
. - Updated
adjecent_difference
to make use ofrocprim:adjecent_difference
when iterators are comparable and not equal otherwise userocprim:adjacent_difference_inplace
.
Known issues
thrust::reduce_by_key
outputs are not bit-wise reproducible, as run-to-run results for pseudo-associative reduction operators (e.g. floating-point arithmetic operators) are not deterministic on the same device.- Note that currently, rocThrust memory allocation is performed in such a way that most algorithmic API functions cannot be called from within hipGraphs.
rocThrust 3.0.1 for ROCm 6.1.2
rocThrust code for ROCm 6.1.2 did not change. The library was rebuilt for the updated ROCm 6.1.2 stack.
rocThrust 3.0.1 for ROCm 6.1.1
rocThrust code for ROCm 6.1.1 did not change. The library was rebuilt for the updated ROCm 6.1.1 stack.
rocThrust 3.0.1 for ROCm 6.1.0
Fixes
- Ported a fix from thrust 2.2 that ensures
thrust::optional
is trivially copyable.
rocThrust 3.0.0 for ROCm 6.0.2
rocThrust code for ROCm 6.0.2 did not change. The library was rebuilt for the updated ROCm 6.0.2 stack.
rocThrust 3.0.0 for ROCm 6.0.0
Added
- Updated to match upstream Thrust 2.0.1
- NV_IF_TARGET macro from libcu++ for NVIDIA backend and HIP implementation for HIP backend.
Changed
- The cmake build system now additionally accepts
GPU_TARGETS
in addition toAMDGPU_TARGETS
for
setting the targeted gpu architectures.GPU_TARGETS=all
will compile for all supported architectures.
AMDGPU_TARGETS
is only provided for backwards compatibility,GPU_TARGETS
should be preferred.
Removed
- Removed cub symlink from the root of the repository.
- Removed support for deprecated macros (THRUST_DEVICE_BACKEND and THRUST_HOST_BACKEND).
Fixed
- Fixed a segmentation fault when binary search / upper bound / lower bound / equal range was invoked with
hip_rocprim::execute_on_stream_base
policy.
Known issues
- For NVIDIA backend,
NV_IF_TARGET
andTHRUST_RDC_ENABLED
intend to substitute theTHRUST_HAS_CUDART
macro, which is now no longer used in Thrust (provided for legacy support only). However, there is noTHRUST_RDC_ENABLED
macro available for the HIP backend, so some branches in Thrust's code may be unreachable in the HIP backend.
rocThrust 2.18.0 for ROCm 5.7.1
rocThrust code for ROCm 5.7.1 did not change. The library was rebuilt for the updated ROCm 5.7.1 stack.
rocThrust 2.18.0 for ROCm 5.7.0
Fixed
lower_bound
,upper_bound
, andbinary_search
failed to compile for certain types.- Fixed issue where
transform_iterator
would not compile with__device__
-only operators.
Changed
- Updated
docs
directory structure to match the standard of rocm-docs-core. - Removed references to and workarounds for deprecated hcc