This is an archive of the discontinued LLVM Phabricator instance.

[mlir][linalg] Support for vectorization for pooling ops
AbandonedPublic

Authored by vmurali on Dec 15 2022, 5:35 PM.

Details

Summary

Added support to vectorize pooling ops, piggybacking on vectorization for convolution.

Diff Detail

Event Timeline

vmurali created this revision.Dec 15 2022, 5:35 PM
Herald added a reviewer: hanchung. · View Herald Transcript
Herald added a project: Restricted Project. · View Herald Transcript
vmurali requested review of this revision.Dec 15 2022, 5:35 PM
vmurali updated this revision to Diff 483401.Dec 15 2022, 5:36 PM

Clang format

vmurali edited the summary of this revision. (Show Details)Dec 15 2022, 5:42 PM
vmurali edited the summary of this revision. (Show Details)

Can you split it into 3 patches? I think they can be

  1. Add pooling named ops changes.
  2. DownscaleSizeOneWindowed2DConvolution for pooling ops changes.
  3. Add vectorization support for pooling ops.

Also, are the changes about convolution indexing maps needed...?

Can you split it into 3 patches? I think they can be

  1. Add pooling named ops changes.
  2. DownscaleSizeOneWindowed2DConvolution for pooling ops changes.
  3. Add vectorization support for pooling ops.

Yes.

Also, are the changes about convolution indexing maps needed...?

Those got changed when I auto generated the yaml file from the python script. My guess is someone manually edited the yaml file at some point instead of using the python script. I can revert those changes in convolution ops if you want me to.

This differential can be replaced by the following 3 chained differentials (descendent first) as per @hanchung 's suggestion:

https://reviews.llvm.org/D140188
https://reviews.llvm.org/D140187
https://reviews.llvm.org/D140186

Not sure which of the two options for differentials is easier to review, so not retiring this differential yet.

vmurali abandoned this revision.Jan 17 2023, 6:07 PM