kernel.async.gather.mask
← kernel dialect
Predicated form of kernel.async.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.
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 |
Per-invocation global-like source fragment. |
| Operand |
dest |
view |
required |
Subgroup-uniform workgroup destination tile with a leading subgroup-lane axis. |
| Operand |
predicate |
i1 |
required |
Scalar predicate controlling this invocation's gather. |
| Result |
token |
any |
required |
Opaque async-copy token for the predicated 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.gather.mask %src_lane to %lds_tile, %in_bounds {cache_scope = cu, cache_temporal = regular} : view<4xi8> to view<[%wave]x4xi8>, i1 -> kernel.async.token