-
Notifications
You must be signed in to change notification settings - Fork 31
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix bug in artifact creation of the LX6 instructions (#453)
There was a bug where were appending LX6 instructions to an existing vector for subsequent entry points rather than making a new vector for each entry point. This change fixes that and hence fixes #447 which was indeed a kernel time out due to bad artifacts. Also adds a multi-dispatch e2e test to CI.
- Loading branch information
1 parent
db0e636
commit 1ed8257
Showing
3 changed files
with
36 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
31 changes: 31 additions & 0 deletions
31
build_tools/ci/cpu_comparison/test_files/three_matmuls.mlir
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
// This test shows arbitrary matmuls that would have producer consumer relationships | ||
// across different dispatches running on CI. | ||
|
||
// These 4 lines are required by the script which generates input data: | ||
// | ||
// input 32x32xf32 | ||
// input 32x32xf32 | ||
// input 32x4xf32 | ||
// input 4x32xf32 | ||
|
||
!A_TYPE = tensor<32x32xf32> | ||
!B_TYPE = tensor<32x4xf32> | ||
!C_TYPE = tensor<4x32xf32> | ||
!D_TYPE = tensor<4x4xf32> | ||
func.func @two_mm(%lhs : !A_TYPE, | ||
%rhs : !A_TYPE, %rhs_2 : !B_TYPE, %lhs_2 : !C_TYPE) -> !D_TYPE { | ||
%empty = tensor.empty() : !A_TYPE | ||
%empty_2 = tensor.empty() : !B_TYPE | ||
%empty_3 = tensor.empty() : !D_TYPE | ||
%cst = arith.constant 0.0 : f32 | ||
%fill = linalg.fill ins(%cst : f32) outs(%empty : !A_TYPE) -> !A_TYPE | ||
%fill_2 = linalg.fill ins(%cst : f32) outs(%empty_2 : !B_TYPE) -> !B_TYPE | ||
%fill_3 = linalg.fill ins(%cst : f32) outs(%empty_3 : !D_TYPE) -> !D_TYPE | ||
%2 = linalg.matmul ins(%lhs, %rhs : !A_TYPE, !A_TYPE) | ||
outs(%fill : !A_TYPE) -> !A_TYPE | ||
%3 = linalg.matmul ins(%2, %rhs_2 : !A_TYPE, !B_TYPE) | ||
outs(%fill_2 : !B_TYPE) -> !B_TYPE | ||
%4 = linalg.matmul ins(%lhs_2, %3 : !C_TYPE, !B_TYPE) | ||
outs(%fill_3 : !D_TYPE) -> !D_TYPE | ||
return %4 : !D_TYPE | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters