tvm_tirx::sym

Module iter_affine_map

Source
Expand description

Iterator maps: index expressions decomposed into splits of iterators.

The objects python/tvm_tirx/sym/iter_affine_map.py defines. An IterMark is an iterator source with its extent; an IterSplitExpr is (source // lower_factor) % extent * scale; an IterSumExpr is a sum of splits plus base_. An IterMapResult holds the detected indices, the errors and the padding_predicate. The functions of iter_affine_map.py, which detect, simplify, divide and invert iterator maps, are here too.

Structs§

Enums§

  • How strictly an iterator map is checked: sym::IterMapLevel.

Functions§

  • Detect indices as iterator maps of the iterators input_iters under predicate; the indices of the result are empty when they are not (sym.DetectIterMap).
  • The inputs of the bijective iterator map iter_map as expressions of its outputs (sym.InverseAffineIterMap).
  • Simplify indices through iterator map detection; they are returned unchanged when they are not iterator maps (sym.IterMapSimplify).
  • The plain expression of the iterator map expr (sym.NormalizeIterMapToExpr).
  • index as a sum of splits of the iterators input_iters, with what is not detected in its base (sym.NormalizeToIterSum).
  • Divide each binding into an outer map of the iterators not in sub_iters and an inner map of those in it: one [outer, inner] pair of marks per binding, then a pair whose extents are the outer and inner predicates, or empty when the bindings cannot be divided (sym.SubspaceDivide).