From a571b5149e1ab678bba85c68df79d668bcc19fe1 Mon Sep 17 00:00:00 2001 From: nick Date: Tue, 15 Jul 2025 14:10:12 +0000 Subject: [PATCH 1/2] MAX_PAYLOAD_SIZE was not used for the fallback implementation that does not use 128-bit atomics --- .../include/rocprim/device/detail/lookback_scan_state.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/rocprim/rocprim/include/rocprim/device/detail/lookback_scan_state.hpp b/projects/rocprim/rocprim/include/rocprim/device/detail/lookback_scan_state.hpp index b27dcc21be5..287f0113fbd 100644 --- a/projects/rocprim/rocprim/include/rocprim/device/detail/lookback_scan_state.hpp +++ b/projects/rocprim/rocprim/include/rocprim/device/detail/lookback_scan_state.hpp @@ -117,7 +117,7 @@ constexpr const int MAX_PAYLOAD_SIZE = ROCPRIM_MAX_ATOMIC_SIZE - 1; /// \tparam T The accumulator type of the scan operation. /// \tparam UseSleep [optional] If true, the execution of a wavefront is paused for a short duration, allowing other threads or processes to execute during idle periods. /// \tparam IsSmall [optional] Dependent on the size of `T`. If it's smaller than 16 bytes, it's set to true. -template +template struct lookback_scan_state; /// Reduce lanes `0-valid_items` and return the result in lane 0. From cfa69f0907f42ef30118bec480648a3a24d6ff0c Mon Sep 17 00:00:00 2001 From: nick Date: Wed, 16 Jul 2025 13:01:18 +0000 Subject: [PATCH 2/2] Change documentation of IsSmall to reflect using MAX_PAYLOAD_SIZE --- .../include/rocprim/device/detail/lookback_scan_state.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/rocprim/rocprim/include/rocprim/device/detail/lookback_scan_state.hpp b/projects/rocprim/rocprim/include/rocprim/device/detail/lookback_scan_state.hpp index 287f0113fbd..f5d8b430828 100644 --- a/projects/rocprim/rocprim/include/rocprim/device/detail/lookback_scan_state.hpp +++ b/projects/rocprim/rocprim/include/rocprim/device/detail/lookback_scan_state.hpp @@ -116,7 +116,7 @@ constexpr const int MAX_PAYLOAD_SIZE = ROCPRIM_MAX_ATOMIC_SIZE - 1; /// /// \tparam T The accumulator type of the scan operation. /// \tparam UseSleep [optional] If true, the execution of a wavefront is paused for a short duration, allowing other threads or processes to execute during idle periods. -/// \tparam IsSmall [optional] Dependent on the size of `T`. If it's smaller than 16 bytes, it's set to true. +/// \tparam IsSmall [optional] Dependent on the size of `T`. If it's smaller than 16 bytes (8 bytes if 16 byte atomics are possibly not supported), it's by default set to true. template struct lookback_scan_state;