ViperEkura
2e29ed45d3
perf: shrink decode tile to BC=16 for higher occupancy
- BC=32→16 halves smem (32KB→16KB for D=128), doubling blocks/SM (3→6)
- D=256 now fits STAGES=2 double-buffer in 32KB, eliminating 176-byte spill
- min_tiles_per_split=2 avoids excessive split overhead on small kv
- paged decode: require page_size multiple of BC so tiles stay page-aligned
Benchmark (L20 sm_89, D=128):
- B=1 kv=4096: 0.0134→0.0122ms (+9% BW)
- B=16 kv=2048: 0.0434→0.0352ms (+23% BW)
- B=32 kv=1024: 0.0343→0.0282ms (+22% BW)
2026-07-27 22:44:02 +08:00
..
2026-07-14 21:34:42 +08:00
2026-07-27 00:35:34 +08:00
2026-07-27 00:35:34 +08:00
2026-07-21 22:21:39 +08:00
2026-07-27 22:44:02 +08:00
2026-07-27 00:35:34 +08:00
2026-07-21 21:52:46 +08:00
2026-07-27 00:35:34 +08:00
2026-07-27 00:35:34 +08:00
2026-07-21 22:21:39 +08:00
2026-07-21 21:52:46 +08:00
2026-07-21 23:05:17 +08:00
2026-07-21 22:21:39 +08:00
2026-07-27 00:35:34 +08:00