[Mlir-commits] [mlir] 3005ca2 - [mlir][linalg] Add a test for inferConvolutionDimsImpl (#90057)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Thu Apr 25 13:25:34 PDT 2024
Author: Andrzej WarzyĆski
Date: 2024-04-25T21:25:31+01:00
New Revision: 3005ca21596c4f4309a5692ffadc0db2b54c2055
URL: https://github.com/llvm/llvm-project/commit/3005ca21596c4f4309a5692ffadc0db2b54c2055
DIFF: https://github.com/llvm/llvm-project/commit/3005ca21596c4f4309a5692ffadc0db2b54c2055.diff
LOG: [mlir][linalg] Add a test for inferConvolutionDimsImpl (#90057)
Adds a test for `inferConvolutionDimsImpl` to exercise the logic for
depthwise convs.
Added:
Modified:
mlir/test/Dialect/Linalg/match-ops-interpreter.mlir
Removed:
################################################################################
diff --git a/mlir/test/Dialect/Linalg/match-ops-interpreter.mlir b/mlir/test/Dialect/Linalg/match-ops-interpreter.mlir
index 24c7bdd9e1050e..4bfed475d44f60 100644
--- a/mlir/test/Dialect/Linalg/match-ops-interpreter.mlir
+++ b/mlir/test/Dialect/Linalg/match-ops-interpreter.mlir
@@ -1062,6 +1062,28 @@ module attributes { transform.target_tag = "start_here" } {
return %result : tensor<10x18x15xf64>
}
+ func.func @convolution_depthwise(%input: tensor<1x10x196x48xf32>, %filter: tensor<1x4x48xf32>) -> tensor<1x10x191x48xf32> {
+ %cst = arith.constant 0.0 : f32
+ %empty = tensor.empty() : tensor<1x10x191x48xf32>
+ %fill = linalg.fill ins(%cst : f32) outs(%empty : tensor<1x10x191x48xf32>) -> tensor<1x10x191x48xf32>
+ // expected-remark @below {{convolution}}
+ // expected-remark @below {{batch dims 0}}
+ // expected-remark @below {{output image dims 1 : i64, 2 : i64}}
+ // expected-remark @below {{output channel dims}}
+ // expected-remark @below {{filter loop dims 4 : i64, 5 : i64}}
+ // expected-remark @below {{input channel dims}}
+ // expected-remark @below {{depth dims 3}}
+ // expected-remark @below {{strides 1 : i64, 1 : i64}}
+ // expected-remark @below {{dilations 1 : i64, 1 : i64}}
+ %result = linalg.depthwise_conv_2d_nhwc_hwc {
+ dilations = dense<1> : tensor<2xi64>,
+ strides = dense<1> : tensor<2xi64>}
+ ins(%input, %filter : tensor<1x10x196x48xf32>, tensor<1x4x48xf32>)
+ outs(%fill : tensor<1x10x191x48xf32>) -> tensor<1x10x191x48xf32>
+
+ return %result : tensor<1x10x191x48xf32>
+ }
+
func.func @convolution_multi_channel(%input: tensor<2x34x68x16xf32>, %filter: tensor<8x2x3x5x16x16xf32>) -> tensor<8x32x32x16xf32> {
%cst = arith.constant 0.0 : f32
%empty = tensor.empty() : tensor<8x32x32x16xf32>
More information about the Mlir-commits
mailing list