This is an archive of the discontinued LLVM Phabricator instance.

[mlir][Linalg] Refactor conv vectorization to decouple memory from vector ops.
ClosedPublic

Authored by nicolasvasilache on Oct 29 2021, 3:18 AM.

Details

Summary

This refactoring prepares conv1d vectorization for a future integration into
the generic codegen path.
Once transfer_read / transfer_write vectorization also supports sliding windows,
the special pattern for conv can disappear.
This will also likely need a vector.conv operation.

Diff Detail

Event Timeline

nicolasvasilache requested review of this revision.Oct 29 2021, 3:18 AM
ThomasRaoux accepted this revision.Nov 1 2021, 3:29 PM
This revision is now accepted and ready to land.Nov 1 2021, 3:29 PM
antiagainst accepted this revision.Nov 2 2021, 6:35 AM

Nice, this makes it much easier to separate read/write and compute for scheduling. Thanks!

mlir/test/Dialect/Linalg/vectorize-convolution.mlir
32

Super nit: this comment should be ahead of L30?