This is an archive of the discontinued LLVM Phabricator instance.

[mlir][memref] Fold subview into GPU subgroup MMA load/store ops
ClosedPublic

Authored by antiagainst on Mar 15 2023, 9:12 AM.

Details

Summary

This commits adds support for folding subview into GPU subgroup
MMA load/store ops.

Diff Detail

Event Timeline

antiagainst created this revision.Mar 15 2023, 9:12 AM
antiagainst requested review of this revision.Mar 15 2023, 9:12 AM
ThomasRaoux accepted this revision.Mar 15 2023, 9:15 AM

Thanks Lei!

This revision is now accepted and ready to land.Mar 15 2023, 9:15 AM
ThomasRaoux added inline comments.Mar 15 2023, 9:16 AM
mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
496

Why do we need this check specifically for this op?

antiagainst added inline comments.Mar 15 2023, 9:19 AM
mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
496

Explained in the commit message. Higher-D would require more complicated analysis involving rank reducing behavior, transpose semantics, etc. to adjust leading dimension size, no?

ThomasRaoux added inline comments.Mar 15 2023, 9:36 AM
mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
496

Is there some details somewhere for me to understand the problem? I would have assumed it worked like other load operations?

Address comments

antiagainst edited the summary of this revision. (Show Details)Mar 15 2023, 10:38 AM
antiagainst marked 2 inline comments as done.
antiagainst added inline comments.
mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
496

Discussed offline. It should work for high-D too. So removed the check here.

This revision was landed with ongoing or failed builds.Mar 15 2023, 10:58 AM
This revision was automatically updated to reflect the committed changes.
antiagainst marked an inline comment as done.