project_6 f8153d492a [docs] agent_scan.cuh architecture — scan SMEM is real, reduce SMEM is not
Critical finding: scan and reduce have fundamentally different SMEM
models. Scan uses BlockLoad/BlockStore with WARP_TRANSPOSE which
puts tile data through SMEM (threads*items*type_size bytes). Reduce
keeps tile data in registers and only uses SMEM for BlockReduce
communication (~threads*4 bytes).

This means:
- Our SMEM constraint is CORRECT for scan (tuning_scan.cuh values
  are properly bounded)
- Our SMEM constraint is WRONG for reduce (tuning_reduce.cuh could
  use larger items_per_thread, especially for small types)
- The same check_smem() function should NOT be used for both algorithms

Source: cccl_upstream/cub/cub/agent/agent_scan.cuh _TempStorage union
2026-08-05 03:33:40 +00:00
2026-07-30 17:03:23 +08:00

project_6

Description
No description provided
Readme 427 MiB
Languages
C++ 41.8%
Cuda 31.6%
Python 22.2%
C 2.1%
CMake 1.1%
Other 1.1%