Determine how to hoist layout conversions through bicyclic matmul
- Dominant language
- MLIR
- Stars
- 906
- Forks
- 171
- Avg merge
- 4d 12h
- Merged PRs (30d)
- 32
Description
A continuation of https://github.com/google/heir/issues/1376
Comment from @asraa on https://github.com/google/heir/pull/2360:
> For some layouts there should be a hoister. if there's a result layout that happens to be a rotation of the bicyclic encoding, then I think that the inputs could also be rotated. but agree to file and we could work it out on paper.
but i also don't think that would happen organically, and it's more likely that we would be hoisting a row-major layout through a bicyclic encoding.
Comment from @jkun:
> It's not clear how to hoist a layout conversion through the bicyclic kernel in a meaningful way. So currently we have no hoister. Maybe it's worth just putting in a "trivial" hoister that results in new layout conversions for each operand back to bicyclic, since they may fold with the hoisted layout conversion to be simpler... but it seems unlikely.
Contributor guide
Assessment
This issue has not been assessed yet.