diff --git a/cub/warp/specializations/warp_scan_shfl.cuh b/cub/warp/specializations/warp_scan_shfl.cuh index 7f4e1c94bb..7339283302 100644 --- a/cub/warp/specializations/warp_scan_shfl.cuh +++ b/cub/warp/specializations/warp_scan_shfl.cuh @@ -107,13 +107,12 @@ struct WarpScanShfl { lane_id = LaneId(); warp_id = 0; - member_mask = 0xffffffffu >> (CUB_WARP_THREADS(PTX_ARCH) - LOGICAL_WARP_THREADS); + member_mask = 0xffffffffu; // involves all non-exited warp threads if (!IS_ARCH_WARP) { warp_id = lane_id / LOGICAL_WARP_THREADS; lane_id = lane_id % LOGICAL_WARP_THREADS; - member_mask = member_mask << (warp_id * LOGICAL_WARP_THREADS); } }