[Mlir-commits] [mlir] [mlir][linalg] Implement Winograd Conv2D. (PR #94470)
Hsiangkai Wang
llvmlistbot at llvm.org
Mon Jun 17 11:58:28 PDT 2024
================
@@ -154,4 +154,96 @@ def Linalg_SoftmaxOp : Linalg_Op<"softmax",
let hasVerifier = 1;
}
+def Linalg_WinogradFilterTransformOp : Linalg_Op<"winograd_filter_transform",
+ [DeclareOpInterfaceMethods<TilingInterface,
+ ["getIterationDomain",
+ "getLoopIteratorTypes",
+ "getResultTilePosition",
+ "getTiledImplementation"]>]> {
+ let summary = "Winograd filter transform operator";
+ let description = [{
+ linalg.winograd_filter_transform transforms the filter of conv2D.
+ }];
+
+ let arguments = (ins AnyRankedTensor:$filter,
+ AnyRankedTensor:$output,
+ I64Attr:$output_height,
+ I64Attr:$output_width,
+ I64Attr:$m,
+ I64Attr:$r
----------------
Hsiangkai wrote:
`m` and `r` are variable names in the Winograd algorithm. I added more description for the operators.
https://github.com/llvm/llvm-project/pull/94470
More information about the Mlir-commits
mailing list