pipeline.def
← pipeline dialect
Persistent dataflow program. Leading specialization arguments remain ordinary SSA values and launch bindings are supplied when the materialized pipeline is issued. The optional scope fixes the artifact boundary that lowering must satisfy.
Operation contract
| Property |
Value |
| Semantic phase |
executable |
| Traits |
SymbolDefine, IsolatedFromAbove |
| Interfaces |
FuncLike |
Symbol contract
| Property |
Value |
| Kind |
pipeline |
| Defining field |
callee |
| Interfaces |
func_like, pipeline |
| Flags |
— |
Signature
| Kind |
Name |
Type |
Cardinality |
Description |
| Attribute |
callee |
symbol |
required |
— |
| Attribute |
scope |
enum PipelineScope |
optional |
— |
| Attribute |
visibility |
enum Visibility |
optional |
— |
| Attribute |
retain |
enum Retain |
optional |
— |
| Attribute |
target |
symbol (target) |
optional |
— |
| Attribute |
predicates |
predicate_list |
optional |
— |
| Attribute |
specialization_count |
i64 |
required |
Number of leading staged pipeline arguments. |
| Region |
body |
region |
required |
Portable scheduling groups, flows, and stage graph. (terminator pipeline.return.) |
Examples
pipeline.def<kernel> target(@array) @resident() launch(%input: buffer, %output: buffer) {
pipeline.return
}
pipeline.def @heterogeneous(%batch: index) launch(%input: buffer) {
pipeline.return
}