We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent f9c3ea9 commit f41027bCopy full SHA for f41027b
cub/cub/block/block_run_length_decode.cuh
@@ -382,7 +382,10 @@ public:
382
{
383
decoded_items[i] = val;
384
item_offsets[i] = thread_decoded_offset - assigned_run_begin;
385
- if (thread_decoded_offset == assigned_run_end - 1)
+
386
+ // A thread only needs to fetch the next run if this was not the last loop iteration
387
+ const bool is_final_loop_iteration = (i + 1 >= DECODED_ITEMS_PER_THREAD);
388
+ if (!is_final_loop_iteration && (thread_decoded_offset == assigned_run_end - 1))
389
390
// We make sure that a thread is not re-entering this conditional when being assigned to the last run already by
391
// extending the last run's length to all the thread's item
0 commit comments