[Mlir-commits] [mlir] [mlir][linalg] Block pack matmul pass (PR #89782)

Adam Siemieniuk llvmlistbot at llvm.org
Tue May 7 07:08:45 PDT 2024


adam-smnk wrote:

Thanks for all the feedback everyone.
It allowed me to iterate on the design and create a more flexible transformation.

Changes:
- renamed to 'block pack matmul' to clarify the main intent and avoid confusion with the existing pack transform
- exposed transform's API outside of the pass
- added control function - allows to specify packing sizes and desired layout on per operation basis
- exposed more matmul packing options
- enabled padding which can be optionally disabled
- relaxed checks to allow dynamic shapes
- improved block packing controls to focus on the desired block layout - this bring to the front user's intention and allows the transformation to take care of the inner and outer blocks transposition regardless of data layout which bring support for (batch) matmul with transposed a/b operands
- defaulted transformation to mmt4d layout - it should make it easier to understand the transformation and available options
- added PoC pass support for simple generics - probably more variants can be handled but this can be tested and added later

https://github.com/llvm/llvm-project/pull/89782


More information about the Mlir-commits mailing list