[muh] scan_by_key 14%→13%, rle_non_trivial_runs 7%→10%, rle_encode 9%→10%: 从 CCCL 3325 行源码完整移植
tuning_scan_by_key.cuh: 284→256 行 (更紧凑但保留全部 ~76 条 entries)
- SM100: 16 条 benchmark entries (key 1-8B × value 1-8B, 含 LOAD_CA)
- SM90: ~30 条 (key 1-16B × value 1-16B, 含 int128)
- SM80: ~30 条 (完整 fallback)
- 7-field policy: 比 reduce_by_key 多 store_algorithm
- vllm 热路径: key=4B value=4B (paged_attention prefix-sum)
tuning_rle_non_trivial_runs.cuh: 46→68 行
- SM100: 4 条 (key 1/2/4/8B, double 回退 SM90)
- SM90: 5 条 (含 int128 key=16B)
- 额外字段: store_with_time_slicing (all false)
tuning_rle_encode.cuh: 54→63 行
- SM100: 4 条, SM90: 5 条, SM80: 5 条
- 结构同 reduce_by_key (6-field policy)