Skip to content

kernel.subgroup.scan

kernel dialect

Prefix-scan 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 scan.
Result result any required Scanned 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.
Attribute mode enum KernelScanMode required Inclusive or exclusive scan.
Attribute direction enum KernelScanDirection required Lane order to scan.

Verification constraints

  • SameType(value, result)

Examples

%prefix = kernel.subgroup.scan<addf> %v {mode = inclusive, direction = forward} : f32