tvm_tirx.ir.For#
- class tvm_tirx.ir.For(var, begin, end, step, kind, body, annotations=None, loc=UNKNOWN_LOC)#
Bases:
StmtIterate from
beginwhile belowend, incrementing bystep.- Parameters:
var (Var) – The loop variable.
begin (Expr) – The beginning value.
end (Expr) – The exclusive end of the loop.
step (Expr) – The required loop step, including a typed one for unit stride.
kind (ForKind) – Sequential, parallel, vectorized, or unrolled execution semantics.
annotations (Optional[Mapping[str, tvm_ffi.Object]]) – Additional loop annotations interpreted by the consuming dialect.
loc (Location, optional) – The location of the stmt in the source code.
- property var#
- property begin#
- property end#
- property step#
- property kind#
- property body#
- property annotations#
- For.script(*, name=None, show_meta=False, int_dtype='int32', float_dtype='void', verbose_expr=False, indent_spaces=4, print_line_numbers=False, num_context_lines=-1, path_to_underline=None, path_to_annotate=None, obj_to_underline=None, obj_to_annotate=None, extra_config=None)#
Print TVM IR into TVMScript text format
- Parameters:
name (Optional[str] = None) – The name of the object
show_meta (bool = False) – Whether to print the meta data of the object
int_dtype (str = "int32") – The default data type of integer
float_dtype (str = "void") – The default data type of float
verbose_expr (bool = False) – Whether to print the detailed definition of each variable in the expression
indent_spaces (int = 4) – The number of spaces for indentation
print_line_numbers (bool = False) – Whether to print line numbers
num_context_lines (int = -1) – The number of lines of context to print before and after the line to underline.
path_to_underline (Optional[List[AccessPath]] = None) – Object path to be underlined
path_to_annotate (Optional[Dict[AccessPath, str]] = None) – Object path to be annotated
obj_to_underline (Optional[List[tvm_ffi.Object]] = None) – Object to be underlined
obj_to_annotate (Optional[Dict[tvm_ffi.Object, str]] = None) – Object to be annotated
extra_config (Optional[dict] = None) – Dialect-specific configuration passed through to PrinterConfig.extra_config, including
ir.prefixfor the IR namespace alias (default"I"). Keys are conventionally namespaced as “<dialect>.<knob>”, e.g.{"tirx.prefix": "T"}.
- Returns:
script (str) – The TVM Script of the given TVM IR
- Return type:
str
- For.show(style=None, *, name=None, show_meta=False, int_dtype='int32', float_dtype='void', verbose_expr=False, indent_spaces=4, print_line_numbers=False, num_context_lines=-1, path_to_underline=None, path_to_annotate=None, obj_to_underline=None, obj_to_annotate=None, extra_config=None)#
Print highlighted TVMScript.
- Parameters:
style (str, optional) – Pygmentize printing style, auto-detected if None. See tvm_tirx.script.printer.highlight.cprint for more details.
name (Optional[str] = None) – The name of the object
show_meta (bool = False) – Whether to print the meta data of the object
int_dtype (str = "int32") – The default data type of integer
float_dtype (str = "void") – The default data type of float
verbose_expr (bool = False) – Whether to print the detailed definition of each variable in the expression
indent_spaces (int = 4) – The number of spaces for indentation
print_line_numbers (bool = False) – Whether to print line numbers
num_context_lines (int = -1) – The number of lines of context to print before and after the line to underline.
path_to_underline (Optional[List[AccessPath]] = None) – Object path to be underlined
path_to_annotate (Optional[Dict[AccessPath, str]] = None) – Object path to be annotated
obj_to_underline (Optional[List[tvm_ffi.Object]] = None) – Object to be underlined
obj_to_annotate (Optional[Dict[tvm_ffi.Object, str]] = None) – Object to be annotated
extra_config (Optional[dict] = None) – Dialect-specific configuration passed through to PrinterConfig.extra_config, including
ir.prefixfor the IR namespace alias (default"I").
- Return type:
None
ForKind#
- class tvm_tirx.ir.ForKind(*values)#
Bases:
IntEnumExecution semantics of a
Forloop.DEFAULTexecutes iterations in order, one after another.PARALLELallows different iterations to run concurrently.VECTORIZEDasks the compiler to combine iterations into vector operations that process multiple elements at once.UNROLLEDasks the compiler to expand the loop into repeated copies of its body.
Transformations must preserve the selected execution semantics.
- DEFAULT = 0#
- PARALLEL = 1#
- VECTORIZED = 2#
- UNROLLED = 3#