google / google/heir

Determine how to hoist layout conversions through bicyclic matmul

Open
#2,385 1 comment 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.