This is an archive of the discontinued LLVM Phabricator instance.

[mlir][linalg] Creating named 1D pooling ops
ClosedPublic

Authored by vmurali on Dec 15 2022, 9:08 PM.

Details

Summary

This is mostly going to be used for linalg transformations - to make pooling ops similar to convolution ops.

Diff Detail

Event Timeline

vmurali created this revision.Dec 15 2022, 9:08 PM
vmurali requested review of this revision.Dec 15 2022, 9:08 PM
rsuderman accepted this revision.Dec 16 2022, 10:57 AM
This revision is now accepted and ready to land.Dec 16 2022, 10:57 AM
hanchung accepted this revision.Dec 16 2022, 2:31 PM
This revision was automatically updated to reflect the committed changes.

Great! LGMT. Just a few minor comments.
Could you please also add a description to the diff and effectively to the commit?

Thanks!

mlir/test/Dialect/Linalg/generalize-named-polymorphic-ops.mlir
141
  • CHECK -> CHECK-SAME ?
  • Remove ^{{.*}} ?

Same below

mlir/test/Dialect/Linalg/named-ops.mlir
426

Remove %{{.+}} =

Same below

Wondering know if it would make sense to add a "combiner" kind to the pooling ops, similar to the one we have for vector.contract, for example. Is that something that has been considered?

Wondering know if it would make sense to add a "combiner" kind to the pooling ops, similar to the one we have for vector.contract, for example. Is that something that has been considered?

That is something I considered but would involve changing existing ops, so I deferred from doing that till this sequence of PRs land. Both layout and operations should be parameters to a more abstract op