project_6 5379a573ac [yaml+prefill] num-scheduler-steps 8→16 from CCCL delay analysis
CCCL single_pass_scan_operators.cuh (line ~180) reveals:
  if (gridDim.x < GridThreshold) { __threadfence_block(); }
  else { __nanosleep(Delay); }

GridThreshold=500. BI-V100 has 16 SMs → ~32 max CTAs → always < 500.
So ALL delay strategies (no_delay, fixed_delay, exponential_backoff, etc.)
collapse to the same instruction: __threadfence_block(). This means:
1. Inter-CTA synchronization is effectively free on BI-V100
2. The dominant per-decode-step overhead is Python scheduler dispatch
3. Batching more steps per dispatch is pure win

num-scheduler-steps: 8 → 16 doubles the batch size per Python call.
Each call amortizes ~100μs of Python overhead over 16 token generations
instead of 8. For Output TPS (83% of competition weight), this is
the highest-leverage single-parameter change available.

Also includes prefix_prefill.py changes from previous commit.

Source: cccl_upstream/cub/cub/agent/single_pass_scan_operators.cuh
        cccl_upstream/cub/cub/block/specializations/block_reduce_warp_reductions.cuh
2026-08-05 03:16:06 +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%