muh-pipeline a7e0ef1138 [ENGINE] scan tuning: document GridThreshold=500 gate from CCCL source
Read cub/agent/single_pass_scan_operators.cuh lines 136-148:
  delay<Delay, GridThreshold=500>() {
    if (gridDim.x < GridThreshold) __threadfence_block();
    else __nanosleep(Delay);
  }

BI-V100: 16 SMs × ~10 CTAs/SM = ~160 CTAs. Always < 500.
Therefore ALL delay strategies collapse to __threadfence_block().
The ns/dcid/l2w parameters are architectural no-ops on BI-V100.

This explains bench_bi100.py finding no_delay optimal — not a lucky
guess but a hard gate in CCCL's tile synchronization code. The
'ns×0.5, l2w×0.6' scaling was always computing values that would
never be used (delay() never reaches the __nanosleep branch).

Source: single_pass_scan_operators.cuh (full read, 200 lines)
2026-08-06 02:22:13 +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%