You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
let summary = "Iterative tiling and fusion for any tilable operation";
55
55
let description = [{
56
-
The pass tries to fuse any MLIR operation which can be tiled.Moreover,
57
-
this pass aims to
58
-
support: 1. Matmul fusion with element -
59
-
wise / reduce / broadcast ops.2. Pre - op and post -
60
-
op fusion.3. Multi - consumer and multi -
61
-
producer support.4. Multiple level of nest loops and candidates
62
-
.5. Flexible option to control the boundary of iterative
63
-
process.6. Cost -
64
-
model to determine whether to fuse or not.
56
+
The pass tries to fuse any MLIR operation which can be tiled. Moreover, this pass aims to support:
57
+
1. Matmul fusion with element-wise/reduce/broadcast ops.
58
+
2. Pre-op and post-op fusion.
59
+
3. Multi-consumer and multi-producer support.
60
+
4. Multiple level of nest loops and candidates.
61
+
5. Flexible option to control the boundary of iterative process.
62
+
6. Cost-model to determine whether to fuse or not.
65
63
66
-
It intends to control the granularity of fusion by `fusion -
67
-
level`,
68
-
E.g.* `0`: disable any fusion.* `1`:
69
-
[Default] enable both producer and consumer fusion,
70
-
covering any tilable operation including tensor.pack / tensor.fill /
71
-
linalg.reduce etc but excluding branches forked by multiple
72
-
uses.* `2`: `LEVEL 1` +
73
-
extend to any topology including branches.
64
+
It intends to control the granularity of fusion by `fusion-level`, E.g.
65
+
* `0`: disable any fusion.
66
+
* `1`:[Default] enable both producer and consumer fusion, covering any tilable operation including tensor.pack/tensor.fill/linalg.reduce etc but excluding branches forked by multiple uses.
67
+
* `2`: `LEVEL 1` + extend to any topology including branches.
0 commit comments