This is an archive of the discontinued LLVM Phabricator instance.

[mlir][linalg] Extend scalable vectorisation support
ClosedPublic

Authored by awarzynski on Aug 21 2023, 7:41 AM.

Details

Summary

This patch simply removes one of the pre-conditions of scalable
vectorisation. Namely, that only the trailing vector dimension can be
scalable, e.g.

vector<2x4x[8]xi32>

This limitation can be lifted following the recent work to support
scalable vectorisation in Linalg, most notably:

A test is added that demonstrates scalable vectorisation of
linalg.matmul. This is simply a copy of a similar test for fixed-width
vectorisation. The latter is updated - check lines are simplified and
annotated with regex patterns. This in the spirit of [1]:

Tests should be minimal, and only check what is absolutely necessary.

Note that this is merely one step towards scalable vectorisation in
Linalg. This patch should allow us to exercise new code paths in the
context of scalable vectors in Linalg.

[1] https://mlir.llvm.org/getting_started/TestingGuide/#filecheck-best-practices

Diff Detail

Event Timeline

awarzynski created this revision.Aug 21 2023, 7:41 AM
Herald added a project: Restricted Project. · View Herald Transcript
awarzynski requested review of this revision.Aug 21 2023, 7:41 AM
dcaballe accepted this revision.Aug 21 2023, 10:26 PM

Nice! Thanks!

This revision is now accepted and ready to land.Aug 21 2023, 10:26 PM
This revision was automatically updated to reflect the committed changes.