MLIR

Multi-Level IR Compiler Framework

source

transform.tune.knob ( mlir::transform::tune ::KnobOp) 

Represents a tunable parameter with a set of options

Syntax:

operation ::= `transform.tune.knob` `<` $name `>` (`=` $selected^ `from`)? `options` `=` $options attr-dict `->` type(results)

Provides a representation for “tunables” within schedules.

Each op represents a single tunable, which has a name and a set of valid options described by an attribute. Without a specified selected option, this op represents a non-deterministic choice that has yet to be resolved – as such, the interpreter runtime semantics is to raise a failure.

The non-deterministic choice is resolved through providing a selected attribute. When provided, the interpreter runtime semantics are to return the selected attribute as a param through the op’s result.


In case the options attribute is an ArrayAttr, the verifier checks that the provided selected attribute occurs in options.

Interfaces: MemoryEffectOpInterface, TransformOpInterface

Attributes: 

AttributeMLIR TypeDescription
name::mlir::StringAttr
An Attribute containing a string
Syntax:
string-attribute ::= string-literal (`:` type)?

A string attribute is an attribute that represents a string literal value.

Examples:

&quot;An important string&quot;
&quot;string with a type&quot; : !dialect.string

options::mlir::Attributeany attribute
selected::mlir::Attributeany attribute

Results: 

ResultDescription
resultTransformParamTypeInterface instance