[MLIR][Linalg] introduce batch-reduce GEMM
authorlorenzo chelini <l.chelini@icloud.com>
Mon, 19 Sep 2022 10:11:04 +0000 (12:11 +0200)
committerLorenzo Chelini <l.chelini@icloud.com>
Mon, 19 Sep 2022 10:11:54 +0000 (12:11 +0200)
commitf381768a8da6bd6bde8bdff34f080bf12bf20064
tree8f1c30aed7bb315433296acc8050f848413461ea
parent393cc6a354c625abadff1d45c53b847ba36b45f2
[MLIR][Linalg] introduce batch-reduce GEMM

The batch-reduce GEMM kernel essentially multiplies a sequence of input tensor
blocks (which form a batch) and the partial multiplication results are reduced
into a single output tensor block.

See: https://ieeexplore.ieee.org/document/9139809 for more details.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D134163
mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
mlir/test/Dialect/Linalg/generalize-named-ops.mlir
mlir/test/Dialect/Linalg/named-ops.mlir