pub fn select_tokens(
gpu: &dyn GpuBackend,
kernels: &Glm5NextDsaKernels,
cfg: &Glm5NextDsaConfig,
geom: &DsaSelectGeometry,
inputs: &DsaSelectInputs,
scratch: &DsaSelectScratch,
launch: DsaSelectLaunch,
stream: u64,
) -> Result<()>Expand description
2026-09-25: Run the selection kernels, leaving [q_rows, out_width] token ids in
DsaSelectScratch::tokens.
Fails before any launch when scratch is too small for geom, or when a ceiling launch
has no geom_dev or has q_rows > 1. The kernels are enqueued on stream; nothing here
synchronises.