This is an archive of the discontinued LLVM Phabricator instance.

[mlir][linalg] Fix tensor tiling together with interchange
ClosedPublic

Authored by antiagainst on Jul 14 2022, 2:20 PM.

Details

Summary

In linalg::tileConsumerAndFuseProducers, there are two levels of
tiling and fusion; we partition the tile sizes and only use one
half for each of them. The partition is using the first non-parallel
dimension *after* interchange as the boundary. However, concrete
tiling happens *together with* loop interchange, so we still need
to provide the partial tile sizes *before* the interchange.
Otherwise, there will be inconsistency, which is what this patch
is to fix.

Diff Detail

Event Timeline

antiagainst created this revision.Jul 14 2022, 2:20 PM
antiagainst requested review of this revision.Jul 14 2022, 2:20 PM

Update to use transform dialect for testing

This revision is now accepted and ready to land.Jul 14 2022, 3:21 PM
This revision was landed with ongoing or failed builds.Jul 15 2022, 10:54 AM
This revision was automatically updated to reflect the committed changes.