1. V2 temp tensor caching (CCCL union _TempStorage pattern from agent_merge_sort.cuh):
Cache tmp_output/exp_sums/max_logits across decode steps. Eliminates ~3-5μs
cudaMalloc overhead per decode step. dispatch_reduce.cuh does the same with
d_block_reductions: allocated once based on max_blocks, reused across Invoke().
2. PARTITION_SIZE rationale documented from CCCL GridEvenShare.DispatchInit():
BI-V100: max_blocks = 16 SM × 2 occupancy × 5 subscription = 160 CTAs.
With PARTITION_SIZE=256: 391 partitions for 100K → 160 grid → 2.4 partitions/CTA.
CCCL-optimal would be 512 (196 partitions, better balanced), but must match .so.
3. Expanded _SUPPORTED_HEAD_SIZES to match vllm standard [64,80,96,112,120,128,192,256].
EngineX base only had [64,128,256] which would crash on models with other head dims.
Source: dispatch_reduce.cuh InvokePasses() line ~200, grid_even_share.cuh DispatchInit(),
agent_reduce.cuh _TempStorage pattern, agent_merge_sort.cuh union storage.