kernel.async.cluster.gather.mask
← kernel dialect
Predicated form of kernel.async.cluster.gather. False predicates perform no source or destination access for the current invocation but still produce a completed token, preserving a uniform async group shape for tails and guarded tiles. The cluster_mask remains the semantic participant set and is distinct from the scalar i1 predicate.
Operation contract
| Property |
Value |
| Semantic phase |
— |
| Target contracts |
kernel.async |
| Memory effects |
read source, write dest |
Signature
| Kind |
Name |
Type |
Cardinality |
Description |
| Operand |
source |
view |
required |
Global-like source fragment broadcast across the cluster. |
| Operand |
dest |
view |
required |
Workgroup/LDS destination fragment for this workgroup. |
| Operand |
cluster_mask |
integer |
required |
i32 set of participating flat workgroup-cluster ranks. |
| Operand |
predicate |
i1 |
required |
Scalar predicate controlling this invocation's cluster gather. |
| Result |
token |
any |
required |
Opaque async-copy token for the predicated cluster gather. |
| Attribute |
cache_scope |
enum CacheScope |
required |
Required cache/coherency scope for the transfer. |
| Attribute |
cache_temporal |
enum CacheTemporal |
required |
Required temporal cache hint for the transfer. |
Examples
%copy = kernel.async.cluster.gather.mask %src to %lds using %mask, %in_bounds {cache_scope = cu, cache_temporal = regular} : view<4xi8> to view<4xi8>, i32, i1 -> kernel.async.token