reduction

reduction#

Covers sum, max, min (reduce over axes). All three operations register local and shared variants at priority 10, discriminated by operand storage scope. On CUDA SM100 or newer, sum additionally registers packed_add_sum and max / min register 3input_maxmin at priority 20. The implementation file and detailed page group those two names as the SM100 packed paths; sm100_packed is not itself a dispatch name.

Variant

Prio

Lowering

reduction → local

10

local-buffer src/dst; sequential thread reduction (+ optional warp shuffle)

reduction → shared

10

shared src/dst; adaptive group-size __shfl_xor tree

reduction → SM100 packed paths (packed_add_sum / 3input_maxmin)

20

CUDA SM100+ thread-scope fp32 ≥8: packed add.f32x2 / max3/min3