forked from iree-org/iree
-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[CPU][SVE] Enable scalable vectorization and tiling for non-padded ma…
…tmuls (iree-org#15108) This patch implements a "vertical slice" that allows for the scalable vectorization of matmuls on AArch64 targets with SVE. This only updates lowerings along that path, so more is needed to enable scalable vectorization everywhere. This required a few changes: - The default vector sizes of matmuls on AArch64+SVE are now (8, [32], 16) * That is a middle scalable dimension (i.e. 32 x vscale) - `iree-llvmcpu-tile-and-fuse` now generates vscale bounded loops for scalable tiles - `TilingConfig` now returns a pair of tile sizes and scalable flags (`SizesAndScalableFlags`) for vector sizes * This allows connecting the scalable sizes to the generic vectorizer (which passes them down to the linalg vectorizer) A few unit tests have been added for this, but a complete e2e test is not possible without SVE testing infrastructure.
- Loading branch information
Showing
15 changed files
with
327 additions
and
79 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.