Skip to content

Commit

Permalink
add matmul_transb linalg f32
Browse files Browse the repository at this point in the history
  • Loading branch information
superlopuh committed Oct 17, 2024
1 parent 8e1c83c commit 85869fa
Show file tree
Hide file tree
Showing 10 changed files with 16 additions and 14 deletions.
2 changes: 1 addition & 1 deletion Snakefile
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ TESTSET_FAST = [
# 3d templated kernels
*expand(
"matmul_transb/4x16x16xf32/{variant}",
variant=["baseline", "snrt", "snitch_stream"],
variant=["linalg", "baseline", "snrt", "snitch_stream"],
),
*expand(
"matmul_transb/4x16x16xf64/{variant}",
Expand Down
14 changes: 7 additions & 7 deletions kernels/matmul_transb/linalg.mlir.template
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
func.func public @matmul_transb(%X: tensor<{{M}}x{{K}}xf64> {"llvm.noalias"},
%Y: tensor<{{N}}x{{K}}xf64> {"llvm.noalias"},
%Z: tensor<{{M}}x{{N}}xf64> {"llvm.noalias"}) -> tensor<{{M}}x{{N}}xf64> {
%zero = arith.constant 0.0 : f64
%zeros = linalg.fill ins(%zero : f64) outs(%Z : tensor<{{M}}x{{N}}xf64>) -> tensor<{{M}}x{{N}}xf64>
%res = linalg.matmul_transpose_b ins(%X, %Y : tensor<{{M}}x{{K}}xf64>, tensor<{{N}}x{{K}}xf64>) outs(%zeros : tensor<{{M}}x{{N}}xf64>) -> tensor<{{M}}x{{N}}xf64>
func.return %res : tensor<{{M}}x{{N}}xf64>
func.func public @matmul_transb(%X: tensor<{{M}}x{{K}}xf{{precision}}> {"llvm.noalias"},
%Y: tensor<{{N}}x{{K}}xf{{precision}}> {"llvm.noalias"},
%Z: tensor<{{M}}x{{N}}xf{{precision}}> {"llvm.noalias"}) -> tensor<{{M}}x{{N}}xf{{precision}}> {
%zero = arith.constant 0.0 : f{{precision}}
%zeros = linalg.fill ins(%zero : f{{precision}}) outs(%Z : tensor<{{M}}x{{N}}xf{{precision}}>) -> tensor<{{M}}x{{N}}xf{{precision}}>
%res = linalg.matmul_transpose_b ins(%X, %Y : tensor<{{M}}x{{K}}xf{{precision}}>, tensor<{{N}}x{{K}}xf{{precision}}>) outs(%zeros : tensor<{{M}}x{{N}}xf{{precision}}>) -> tensor<{{M}}x{{N}}xf{{precision}}>
func.return %res : tensor<{{M}}x{{N}}xf{{precision}}>
}
1 change: 1 addition & 0 deletions results/kernels.csv
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ matmul,4x16x8xf64,baseline,2495,3293,3290,2.9941520467836256,1.4991334488734835,
matmul,4x16x8xf64,linalg,2694,3483,3480,2.9941520467836256,1.4745484400656814,512,513,1536,0.19042316258351893,0.44415584415584414,1155,898,609,0.4287305122494432,0,33,1.0,1.0,1,3.4,1155,0.73520050922979,416,17,5,0.1544172234595397,69,790,0.0,0.5831477357089829,0.0
matmul,4x16x8xf64,linalg_xdsl,708,1493,1490,2.811418685121107,0.0,512,578,1625,0.8163841807909604,0.996551724137931,580,0,0,0.8192090395480226,0,0,5.37037037037037,5.37037037037037,1,0.0,108,0.5869565217391305,76,0,0,0.10734463276836158,0,786,0.0,0.9265536723163842,0.0
matmul_transb,4x16x16xf32,baseline,3386,4184,4181,2.539660056657224,1.4921875,0,706,1793,0.20850561134081513,0.3935340022296544,1794,1528,1024,0.5298287064382753,0,64,1.0,1.0,1,0.0,1794,0.5561066336019839,1432,0,0,0.42291789722386297,0,799,0.0,0.9527466036621383,0.0
matmul_transb,4x16x16xf32,linalg,5038,5831,5828,2.9970731707317073,1.4995663486556807,0,1025,3072,0.203453751488686,0.4569772625947392,2243,1729,1153,0.44521635569670504,0,65,1.0,1.0,1,3.4,2243,0.8036546040845575,548,17,5,0.10877332274712187,69,794,0.0,0.553989678443827,0.0
matmul_transb,4x16x16xf32,snitch_stream,845,1636,1633,2.7429906542056073,0.0,0,642,1761,0.7597633136094675,0.9067796610169492,708,0,0,0.8378698224852071,0,64,2.0823529411764703,2.0823529411764707,1,0.0,340,0.7296137339055794,126,0,0,0.14911242603550295,0,792,0.0,0.98698224852071,0.0
matmul_transb,4x16x16xf32,snrt,849,1612,1609,2.648367952522255,0.0,0,674,1785,0.7938751472320377,0.9519774011299436,708,0,0,0.833922261484099,0,32,2.1325301204819276,2.1325301204819276,1,0.0,332,0.8924731182795699,40,0,0,0.04711425206124853,0,764,0.0,0.8810365135453475,0.0
matmul_transb,4x16x16xf64,linalg,5142,5967,5964,2.9970731707317073,1.4995663486556807,1024,1025,3072,0.19933877868533645,0.4569772625947392,2243,1729,1153,0.43621159082069233,0,65,1.0,1.0,1,3.4,2243,0.7769310703152061,644,17,5,0.12524309607156747,133,826,0.0,0.5614546868922599,0.0
Expand Down
1 change: 1 addition & 0 deletions results/kernels.fast.csv
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ matmul,4x16x8xf64,baseline,2495,3293,3290,2.9941520467836256,1.4991334488734835,
matmul,4x16x8xf64,linalg,2694,3483,3480,2.9941520467836256,1.4745484400656814,512,513,1536,0.19042316258351893,0.44415584415584414,1155,898,609,0.4287305122494432,0,33,1.0,1.0,1,3.4,1155,0.73520050922979,416,17,5,0.1544172234595397,69,790,0.0,0.5831477357089829,0.0
matmul,4x16x8xf64,linalg_xdsl,708,1493,1490,2.811418685121107,0.0,512,578,1625,0.8163841807909604,0.996551724137931,580,0,0,0.8192090395480226,0,0,5.37037037037037,5.37037037037037,1,0.0,108,0.5869565217391305,76,0,0,0.10734463276836158,0,786,0.0,0.9265536723163842,0.0
matmul_transb,4x16x16xf32,baseline,3386,4184,4181,2.539660056657224,1.4921875,0,706,1793,0.20850561134081513,0.3935340022296544,1794,1528,1024,0.5298287064382753,0,64,1.0,1.0,1,0.0,1794,0.5561066336019839,1432,0,0,0.42291789722386297,0,799,0.0,0.9527466036621383,0.0
matmul_transb,4x16x16xf32,linalg,5038,5831,5828,2.9970731707317073,1.4995663486556807,0,1025,3072,0.203453751488686,0.4569772625947392,2243,1729,1153,0.44521635569670504,0,65,1.0,1.0,1,3.4,2243,0.8036546040845575,548,17,5,0.10877332274712187,69,794,0.0,0.553989678443827,0.0
matmul_transb,4x16x16xf32,snitch_stream,845,1636,1633,2.7429906542056073,0.0,0,642,1761,0.7597633136094675,0.9067796610169492,708,0,0,0.8378698224852071,0,64,2.0823529411764703,2.0823529411764707,1,0.0,340,0.7296137339055794,126,0,0,0.14911242603550295,0,792,0.0,0.98698224852071,0.0
matmul_transb,4x16x16xf32,snrt,849,1612,1609,2.648367952522255,0.0,0,674,1785,0.7938751472320377,0.9519774011299436,708,0,0,0.833922261484099,0,32,2.1325301204819276,2.1325301204819276,1,0.0,332,0.8924731182795699,40,0,0,0.04711425206124853,0,764,0.0,0.8810365135453475,0.0
matmul_transb,4x16x16xf64,linalg,5142,5967,5964,2.9970731707317073,1.4995663486556807,1024,1025,3072,0.19933877868533645,0.4569772625947392,2243,1729,1153,0.43621159082069233,0,65,1.0,1.0,1,3.4,2243,0.7769310703152061,644,17,5,0.12524309607156747,133,826,0.0,0.5614546868922599,0.0
Expand Down
2 changes: 1 addition & 1 deletion results/pivoted.csv
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ ddot 128xf64,956,965,,213,577
dense 8x8xf64,3206,3530,,2741,2723
fill 4x4xf64,50,50,64,,
matmul 4x16x8xf64,2495,2694,708,,
matmul_transb 4x16x16xf32,3386,,,845,849
matmul_transb 4x16x16xf32,3386,5038,,845,849
matmul_transb 4x16x16xf64,,5142,1295,,
pooling_nchw_max_d1_s2_3x3 4x4xf64,584,484,275,,
pooling_nchw_sum_d1_s2_3x3 4x4xf64,902,832,271,,
Expand Down
2 changes: 1 addition & 1 deletion results/pivoted.fast.csv
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ ddot 128xf64,956,965,,213,577
dense 8x8xf64,3206,3530,,2741,2723
fill 4x4xf64,50,50,64,,
matmul 4x16x8xf64,2495,2694,708,,
matmul_transb 4x16x16xf32,3386,,,845,849
matmul_transb 4x16x16xf32,3386,5038,,845,849
matmul_transb 4x16x16xf64,,5142,1295,,
pooling_nchw_max_d1_s2_3x3 4x4xf64,584,484,275,,
pooling_nchw_sum_d1_s2_3x3 4x4xf64,902,832,271,,
Expand Down
2 changes: 1 addition & 1 deletion results/pivoted_fpu.csv
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ ddot 128xf64,0.13,0.13,,0.64,0.22
dense 8x8xf64,0.20,0.18,,0.26,0.26
fill 4x4xf64,0.02,0.02,0.28,,
matmul 4x16x8xf64,0.21,0.19,0.82,,
matmul_transb 4x16x16xf32,0.21,,,0.76,0.79
matmul_transb 4x16x16xf32,0.21,0.20,,0.76,0.79
matmul_transb 4x16x16xf64,,0.20,0.89,,
pooling_nchw_max_d1_s2_3x3 4x4xf64,0.39,0.30,0.65,,
pooling_nchw_sum_d1_s2_3x3 4x4xf64,0.22,0.17,0.66,,
Expand Down
2 changes: 1 addition & 1 deletion results/pivoted_fpu.fast.csv
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ ddot 128xf64,0.13,0.13,,0.64,0.22
dense 8x8xf64,0.20,0.18,,0.26,0.26
fill 4x4xf64,0.02,0.02,0.28,,
matmul 4x16x8xf64,0.21,0.19,0.82,,
matmul_transb 4x16x16xf32,0.21,,,0.76,0.79
matmul_transb 4x16x16xf32,0.21,0.20,,0.76,0.79
matmul_transb 4x16x16xf64,,0.20,0.89,,
pooling_nchw_max_d1_s2_3x3 4x4xf64,0.39,0.30,0.65,,
pooling_nchw_sum_d1_s2_3x3 4x4xf64,0.22,0.17,0.66,,
Expand Down
2 changes: 1 addition & 1 deletion results/pivoted_ipc.csv
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ ddot 128xf64,0.95,0.94,,0.74,0.25
dense 8x8xf64,0.51,0.55,,0.39,0.33
fill 4x4xf64,0.46,0.46,0.53,,
matmul 4x16x8xf64,0.56,0.58,0.93,,
matmul_transb 4x16x16xf32,0.95,,,0.99,0.88
matmul_transb 4x16x16xf32,0.95,0.55,,0.99,0.88
matmul_transb 4x16x16xf64,,0.56,0.97,,
pooling_nchw_max_d1_s2_3x3 4x4xf64,0.67,0.61,0.84,,
pooling_nchw_sum_d1_s2_3x3 4x4xf64,0.40,0.43,0.84,,
Expand Down
2 changes: 1 addition & 1 deletion results/pivoted_ipc.fast.csv
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ ddot 128xf64,0.95,0.94,,0.74,0.25
dense 8x8xf64,0.51,0.55,,0.39,0.33
fill 4x4xf64,0.46,0.46,0.53,,
matmul 4x16x8xf64,0.56,0.58,0.93,,
matmul_transb 4x16x16xf32,0.95,,,0.99,0.88
matmul_transb 4x16x16xf32,0.95,0.55,,0.99,0.88
matmul_transb 4x16x16xf64,,0.56,0.97,,
pooling_nchw_max_d1_s2_3x3 4x4xf64,0.67,0.61,0.84,,
pooling_nchw_sum_d1_s2_3x3 4x4xf64,0.40,0.43,0.84,,
Expand Down

0 comments on commit 85869fa

Please sign in to comment.