This is an archive of the discontinued LLVM Phabricator instance.

[mlir][gpu] Relax restriction on mma load/store op
ClosedPublic

Authored by ThomasRaoux on Mar 24 2022, 8:33 PM.

Details

Summary

Those ops can support more complex layout as long as the most inner
dimension is contiguous.

Diff Detail

Event Timeline

ThomasRaoux created this revision.Mar 24 2022, 8:33 PM
Herald added a project: Restricted Project. · View Herald Transcript
ThomasRaoux requested review of this revision.Mar 24 2022, 8:33 PM
mravishankar accepted this revision.Mar 24 2022, 8:43 PM
mravishankar added inline comments.
mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
1076

Nit:
Use

if (failed(getStridesAndOffset(...)) {
  return false;
}
return strides.empty() || strides.back() == 1);

Also not sure strides.empty() is a valid case. If it is a "normal memref with strides". You should always get back some strides?

This revision is now accepted and ready to land.Mar 24 2022, 8:43 PM

address review comment

ThomasRaoux marked an inline comment as done.Mar 24 2022, 9:00 PM
This revision was landed with ongoing or failed builds.Mar 24 2022, 9:04 PM
This revision was automatically updated to reflect the committed changes.