Skip to content

kernel.subgroup.reduce

kernel dialect

Reduce a scalar or rank-1 vector value across the current subgroup.

Operation contract

Property Value
Semantic phase executable
Traits Convergent, HasAncestor(kernel.def)
Target contracts kernel.synchronization

Signature

Kind Name Type Cardinality Description
Operand value any required Per-invocation value to reduce.
Result result any required Reduced value.
Attribute kind enum CombiningKind required Combining operation.
Attribute cluster_size i64 optional Optional clustered subgroup size.
Attribute cluster_stride i64 optional Optional clustered subgroup stride.

Verification constraints

  • SameType(value, result)

Examples

%sum = kernel.subgroup.reduce<addf> %v : f32