pub fn select_tokens(
gpu: &dyn GpuBackend,
kernels: &Glm5NextDsaKernels,
cfg: &Glm5NextDsaConfig,
geom: &DsaSelectGeometry,
inputs: &DsaSelectInputs,
scratch: &DsaSelectScratch,
launch: DsaSelectLaunch,
stream: u64,
) -> Result<()>Expand description
Run the four selection kernels, leaving [q_rows, out_width] token ids in
DsaSelectScratch::tokens.
Launch geometry and argument order are transcribed from the GATE-4 arm of
examples/dsa_indexer_microtest.rs, which is the numerically-proven reference.
The pass is enqueued on stream and not synchronised — the caller sequences it
with the attention that consumes the selection.