Create general PoolingOp and decompose to MaxPool2d #1488
219 tests run, 167 passed, 47 skipped, 5 failed.
Annotations
Check failure on line 32 in ttmlir/Dialect/TTNN/convolution
github-actions / macos-latest MLIR Tests
ttmlir/Dialect/TTNN/convolution.complex_conv_channel_first.mlir
Exit Code: 2
Raw output
Exit Code: 2
Command Output (stderr):
--
RUN: at line 1: /Users/runner/work/tt-mlir/tt-mlir/build/bin/ttmlir-opt --ttir-to-ttnn-backend-pipeline /Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/convolution/complex_conv_channel_first.mlir | /opt/ttmlir-toolchain/bin/FileCheck /Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/convolution/complex_conv_channel_first.mlir
+ /Users/runner/work/tt-mlir/tt-mlir/build/bin/ttmlir-opt --ttir-to-ttnn-backend-pipeline /Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/convolution/complex_conv_channel_first.mlir
+ /opt/ttmlir-toolchain/bin/FileCheck /Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/convolution/complex_conv_channel_first.mlir
/Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/convolution/complex_conv_channel_first.mlir:9:10: error: failed to legalize unresolved materialization from ('tensor<1x100x7x100xbf16>') to 'tensor<1x7x100x100xbf16>' that remained live after conversion
%1 = "ttir.convolution"(%arg0, %arg1, %0) <{
^
/Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/convolution/complex_conv_channel_first.mlir:9:10: note: see current operation: %11 = "builtin.unrealized_conversion_cast"(%10) : (tensor<1x100x7x100xbf16>) -> tensor<1x7x100x100xbf16>
/Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/convolution/complex_conv_channel_first.mlir:32:5: note: see existing live user here: func.return %11 : tensor<1x7x100x100xbf16>
return %1 : tensor<1x7x100x100xbf16>
^
FileCheck error: '<stdin>' is empty.
FileCheck command line: /opt/ttmlir-toolchain/bin/FileCheck /Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/convolution/complex_conv_channel_first.mlir
--
Check failure on line 24 in ttmlir/Dialect/TTNN
github-actions / macos-latest MLIR Tests
ttmlir/Dialect/TTNN.simple_constant.mlir
Exit Code: 1
Raw output
Exit Code: 1
Command Output (stderr):
--
RUN: at line 1: /Users/runner/work/tt-mlir/tt-mlir/build/bin/ttmlir-opt --ttir-to-ttnn-backend-pipeline /Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/simple_constant.mlir | /opt/ttmlir-toolchain/bin/FileCheck /Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/simple_constant.mlir
+ /Users/runner/work/tt-mlir/tt-mlir/build/bin/ttmlir-opt --ttir-to-ttnn-backend-pipeline /Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/simple_constant.mlir
+ /opt/ttmlir-toolchain/bin/FileCheck /Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/simple_constant.mlir
/Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/simple_constant.mlir:24:12: error: CHECK: expected string not found in input
// CHECK: %[[C:.*]] = "ttnn.full"[[C:.*]]
^
<stdin>:19:112: note: scanning from here
%1 = "ttnn.full"(%0) <{fillValue = 1.000000e+00 : f32}> : (!tt.device<#device>) -> tensor<64x128xi32, #layout>
^
<stdin>:24:2: note: possible intended match here
%1 = "ttnn.empty"() <{dtype = #tt.supportedDataTypes<f32>, layout = #ttnn.layout<row_major>, shape = #ttnn.shape<64x128>}> : () -> tensor<64x128xf32, #layout1>
^
Input file: <stdin>
Check file: /Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/simple_constant.mlir
-dump-input=help explains the following input dump.
Input was:
<<<<<<
.
.
.
14: %1 = "ttnn.empty"() <{dtype = #tt.supportedDataTypes<f32>, layout = #ttnn.layout<row_major>, shape = #ttnn.shape<64x128>}> : () -> tensor<64x128xf32, #layout1>
15: return %1 : tensor<64x128xf32, #layout1>
16: }
17: func.func @test_full_int() -> tensor<64x128xi32, #layout> {
18: %0 = "ttnn.get_device"() <{mesh_shape = #ttnn<mesh_shape 1x1>}> : () -> !tt.device<#device>
19: %1 = "ttnn.full"(%0) <{fillValue = 1.000000e+00 : f32}> : (!tt.device<#device>) -> tensor<64x128xi32, #layout>
check:24'0 X error: no match found
20: return %1 : tensor<64x128xi32, #layout>
check:24'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21: }
check:24'0 ~~~
22: func.func @test_full_float() -> tensor<64x128xf32, #layout1> {
check:24'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23: %0 = "ttnn.get_device"() <{mesh_shape = #ttnn<mesh_shape 1x1>}> : () -> !tt.device<#device>
check:24'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24: %1 = "ttnn.empty"() <{dtype = #tt.supportedDataTypes<f32>, layout = #ttnn.layout<row_major>, shape = #ttnn.shape<64x128>}> : () -> tensor<64x128xf32, #layout1>
check:24'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:24'1 ? possible intended match
25: return %1 : tensor<64x128xf32, #layout1>
check:24'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26: }
check:24'0 ~~~
27: }
check:24'0 ~~
28:
check:24'0 ~
>>>>>>
--
Check failure on line 34 in ttmlir/Silicon/TTNN
github-actions / macos-latest MLIR Tests
ttmlir/Silicon/TTNN.complex_conv_channel_first.mlir
Exit Code: 1
Raw output
Exit Code: 1
Command Output (stderr):
--
RUN: at line 1: /Users/runner/work/tt-mlir/tt-mlir/build/bin/ttmlir-opt --ttir-to-ttnn-backend-pipeline="system-desc-path=" /Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/complex_conv_channel_first.mlir > /Users/runner/work/tt-mlir/tt-mlir/build/test/ttmlir/Silicon/TTNN/Output/complex_conv_channel_first.mlir.tmp.mlir
+ /Users/runner/work/tt-mlir/tt-mlir/build/bin/ttmlir-opt --ttir-to-ttnn-backend-pipeline=system-desc-path= /Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/complex_conv_channel_first.mlir
/Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/complex_conv_channel_first.mlir:11:10: error: failed to legalize unresolved materialization from ('tensor<1x100x7x100xbf16>') to 'tensor<1x7x100x100xbf16>' that remained live after conversion
%1 = "ttir.convolution"(%arg0, %arg1, %0) <{
^
/Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/complex_conv_channel_first.mlir:11:10: note: see current operation: %11 = "builtin.unrealized_conversion_cast"(%10) : (tensor<1x100x7x100xbf16>) -> tensor<1x7x100x100xbf16>
/Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/complex_conv_channel_first.mlir:34:5: note: see existing live user here: func.return %11 : tensor<1x7x100x100xbf16>
return %1 : tensor<1x7x100x100xbf16>
^
--
Check failure on line 1 in ttmlir/Silicon/TTNN/pooling
github-actions / macos-latest MLIR Tests
ttmlir/Silicon/TTNN/pooling.simple_pooling.mlir
Exit Code: 2
Raw output
Exit Code: 2
Command Output (stderr):
--
RUN: at line 1: /Users/runner/work/tt-mlir/tt-mlir/build/bin/ttmlir-opt --ttir-to-ttnn-backend-pipeline="system-desc-path=" /Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/pooling/simple_pooling.mlir > /Users/runner/work/tt-mlir/tt-mlir/build/test/ttmlir/Silicon/TTNN/pooling/Output/simple_pooling.mlir.tmp.mlir
+ /Users/runner/work/tt-mlir/tt-mlir/build/bin/ttmlir-opt --ttir-to-ttnn-backend-pipeline=system-desc-path= /Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/pooling/simple_pooling.mlir
RUN: at line 2: /opt/ttmlir-toolchain/bin/FileCheck /Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/pooling/simple_pooling.mlir --input-file=/Users/runner/work/tt-mlir/tt-mlir/build/test/ttmlir/Silicon/TTNN/pooling/Output/simple_pooling.mlir.tmp.mlir
+ /opt/ttmlir-toolchain/bin/FileCheck /Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/pooling/simple_pooling.mlir --input-file=/Users/runner/work/tt-mlir/tt-mlir/build/test/ttmlir/Silicon/TTNN/pooling/Output/simple_pooling.mlir.tmp.mlir
error: no check strings found with prefix 'CHECK:'
--
Check failure on line 30 in ttmlir/Silicon/TTNN
github-actions / macos-latest MLIR Tests
ttmlir/Silicon/TTNN.simple_constant.mlir
Exit Code: 1
Raw output
Exit Code: 1
Command Output (stderr):
--
RUN: at line 1: /Users/runner/work/tt-mlir/tt-mlir/build/bin/ttmlir-opt --ttir-to-ttnn-backend-pipeline="system-desc-path=" /Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/simple_constant.mlir > /Users/runner/work/tt-mlir/tt-mlir/build/test/ttmlir/Silicon/TTNN/Output/simple_constant.mlir.tmp.mlir
+ /Users/runner/work/tt-mlir/tt-mlir/build/bin/ttmlir-opt --ttir-to-ttnn-backend-pipeline=system-desc-path= /Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/simple_constant.mlir
RUN: at line 2: /opt/ttmlir-toolchain/bin/FileCheck /Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/simple_constant.mlir --input-file=/Users/runner/work/tt-mlir/tt-mlir/build/test/ttmlir/Silicon/TTNN/Output/simple_constant.mlir.tmp.mlir
+ /opt/ttmlir-toolchain/bin/FileCheck /Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/simple_constant.mlir --input-file=/Users/runner/work/tt-mlir/tt-mlir/build/test/ttmlir/Silicon/TTNN/Output/simple_constant.mlir.tmp.mlir
/Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/simple_constant.mlir:32:12: error: CHECK: expected string not found in input
// CHECK: %[[C:.*]] = "ttnn.full"[[C:.*]]
^
/Users/runner/work/tt-mlir/tt-mlir/build/test/ttmlir/Silicon/TTNN/Output/simple_constant.mlir.tmp.mlir:25:112: note: scanning from here
%1 = "ttnn.full"(%0) <{fillValue = 1.000000e+00 : f32}> : (!tt.device<#device>) -> tensor<64x128xi32, #layout>
^
/Users/runner/work/tt-mlir/tt-mlir/build/test/ttmlir/Silicon/TTNN/Output/simple_constant.mlir.tmp.mlir:30:2: note: possible intended match here
%1 = "ttnn.empty"() <{dtype = #tt.supportedDataTypes<f32>, layout = #ttnn.layout<row_major>, shape = #ttnn.shape<64x128>}> : () -> tensor<64x128xf32, #layout1>
^
Input file: /Users/runner/work/tt-mlir/tt-mlir/build/test/ttmlir/Silicon/TTNN/Output/simple_constant.mlir.tmp.mlir
Check file: /Users/runner/work/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/simple_constant.mlir
-dump-input=help explains the following input dump.
Input was:
<<<<<<
.
.
.
20: %1 = "ttnn.empty"() <{dtype = #tt.supportedDataTypes<f32>, layout = #ttnn.layout<row_major>, shape = #ttnn.shape<1x1>}> : () -> tensor<1x1xf32, #layout2>
21: return %1 : tensor<1x1xf32, #layout2>
22: }
23: func.func @test_full_int() -> tensor<64x128xi32, #layout> {
24: %0 = "ttnn.get_device"() <{mesh_shape = #ttnn<mesh_shape 1x1>}> : () -> !tt.device<#device>
25: %1 = "ttnn.full"(%0) <{fillValue = 1.000000e+00 : f32}> : (!tt.device<#device>) -> tensor<64x128xi32, #layout>
check:32'0 X error: no match found
26: return %1 : tensor<64x128xi32, #layout>
check:32'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
27: }
check:32'0 ~~~
28: func.func @test_full_float() -> tensor<64x128xf32, #layout1> {
check:32'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
29: %0 = "ttnn.get_device"() <{mesh_shape = #ttnn<mesh_shape 1x1>}> : () -> !tt.device<#device>
check:32'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
30: %1 = "ttnn.empty"() <{dtype = #tt.supportedDataTypes<f32>, layout = #ttnn.layout<row_major>, shape = #ttnn.shape<64x128>}> : () -> tensor<64x128xf32, #layout1>
check:32'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:32'1 ? possible intended match
31: return %1 : tensor<64x128xf32, #layout1>
check:32'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32: }
check:32'0 ~~~
33: func.func @test_full_scalar() -> tensor<1x1xf32, #layout2> {
check:32'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
34: %0 = "ttnn.get_device"() <{mesh_shape = #ttnn<mesh_shape 1x1>}> : () -> !tt.device<#device>
check:32'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
35: %1 = "ttnn.empty"() <{dtype = #tt.supportedDataTypes<f32>, layout = #ttnn.layout<row_major>, shape = #ttnn.shape<1x1>}> : () -> tensor<1x1xf32, #layout2>
check:32'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.
.
.
>>>>>>
--