Updating mlir-air/mlir-aie leads to Lit test failure
Abhishek-Varma opened this issue · 6 comments
Updating mlir-air c1dc9a and mlir-aie 5164b3 submodules to latest : is leading to the failure of the following lit test for simple-pack
(already part of main
) :-
func.func @matmul_large(%lhs: tensor<2048x512xi32>, %rhs: tensor<512x2048xi32>) -> tensor<2048x2048xi32> {
%empty = tensor.empty() : tensor<2048x2048xi32>
%cst = arith.constant 0 : i32
%fill = linalg.fill ins(%cst : i32) outs(%empty : tensor<2048x2048xi32>) -> tensor<2048x2048xi32>
%res = linalg.matmul ins(%lhs, %rhs: tensor<2048x512xi32>, tensor<512x2048xi32>)
outs(%fill: tensor<2048x2048xi32>) -> tensor<2048x2048xi32>
return %res : tensor<2048x2048xi32>
}
I've added the failure e2e log and the successful e2e log here.
@erwei-xilinx this is failure of air-loop-fusion
/work/acdc/air/test.mlir:68:12: error: operand #1 does not dominate this use
%7 = air.channel.get async [%5, %async_token_22] @channel_4[] (%results_23[] [] []) {id = 4 : i32} : (memref<1x1x64x512xi32, 1 : i32>)
^
/work/acdc/air/test.mlir:68:12: note: see current operation: %13 = "air.channel.get"(%11, %22#0, %22#1) <{chan_name = @channel_4, operandSegmentSizes = array<i32: 2, 0, 1, 0, 0, 0>}> {id = 4 : i32} : (!air.async.token, !air.async.token, memref<1x1x64x512xi32, 1 : i32>) -> !air.async.token
/work/acdc/air/test.mlir:64:38: note: operand defined here (op in a child region)
%async_token_22, %results_23 = air.execute -> (memref<1x1x64x512xi32, 1 : i32>) {
^
here is the test extracted from the log above
Thanks for the bug report. Can you please check if this PR fixes the issue? Xilinx/mlir-air#478
Thanks for the bug report. Can you please check if this PR fixes the issue? Xilinx/mlir-air#478
yes, that PR fixes the pass failure
yes, that PR fixes the pass failure
Great. PR landed in AIR.
@Abhishek-Varma Can you double check if this is solved? If so please close the issue.
Aah yes! I forgot to close this issue - #203 is merged.
Thanks @erwei-xilinx !