From 05c80480958b47bc5ae6c80ac3a83b1f32bc0efd Mon Sep 17 00:00:00 2001 From: amd-ruitang3 Date: Tue, 4 Nov 2025 23:33:53 +0800 Subject: [PATCH 1/3] fix_bf16gemm_asm --- .../bf16gemm/bf16gemm_outf32_tn_32x64_pf3.co | Bin 14264 -> 14416 bytes .../bf16gemm/bf16gemm_outf32_tn_48x64_pf3.co | Bin 15672 -> 15824 bytes .../bf16gemm/bf16gemm_outf32_tn_64x64_pf3.co | Bin 17072 -> 17224 bytes .../bf16gemm/bf16gemm_outf32_tn_96x64_pf3.co | Bin 19904 -> 20056 bytes .../bf16gemm/bf16gemm_outf32_tn_32x64_pf3.co | Bin 14416 -> 14416 bytes .../bf16gemm/bf16gemm_outf32_tn_48x64_pf3.co | Bin 15824 -> 15824 bytes .../bf16gemm/bf16gemm_outf32_tn_64x64_pf3.co | Bin 17224 -> 17224 bytes .../bf16gemm/bf16gemm_outf32_tn_96x64_pf3.co | Bin 20056 -> 20056 bytes op_tests/test_gemm_a16w16.py | 6 +++--- 9 files changed, 3 insertions(+), 3 deletions(-) diff --git a/hsa/gfx942/bf16gemm/bf16gemm_outf32_tn_32x64_pf3.co b/hsa/gfx942/bf16gemm/bf16gemm_outf32_tn_32x64_pf3.co index d0d0d7c53ac73db5fd79a6c0e6c978a15576a1fe..273e574e417fd83a652e5265128065373c640582 100755 GIT binary patch delta 341 zcmdmyf1!Z0-qpvAiILHPWg@3M8VBW1&JjYd5O8H@x}S^B^ik&@kIr>#qr6BdGW=i1qJy{oR5q=B@o z21Cn!h6av%{DH4Ax9GG?NDay|FCu diff --git a/hsa/gfx942/bf16gemm/bf16gemm_outf32_tn_48x64_pf3.co b/hsa/gfx942/bf16gemm/bf16gemm_outf32_tn_48x64_pf3.co index 4d707f91966647b5a5641db705fddcf89af404e1..cedc1e2455af6d3f46c2df7074caff265cbafff1 100755 GIT binary patch delta 391 zcmdl{b)lNG-qpvAiILHPWg@3MQ-IY*tu#{(MO~Ktkqj;SCr>byU<{hP(o|a38^~p7 zFuBVjC&0kMU~-Ygo`HdpL2)}ssmtVtrqYbIlm7xqv&oWX(z5z6)k>JEH6{m|Ni!-= z&IOWElRJT`g<-1IFjezRK4>OB`GMJrdLsipAXL!M&&khAPc4csNG!?7OUzA;FV2rI z$w(}TFDl3_j!#a^i!UxMD9A4=0jfyOPE60tO9#rQ#;2qvm8QpM=B4Gwr{x#LC+6hD z=NHEp6y>L7=A;(u7Z)Y#=j4>->Hnb5qMy!?d*2)zB3cwQUthpwCw~=IAFj>%69RQWBdYS+L delta 227 zcmcamy`ze=-qpvAiILHPc_ODg(+Ysbl9$p8jxCU3Ns2LNYsJaGU3 diff --git a/hsa/gfx942/bf16gemm/bf16gemm_outf32_tn_64x64_pf3.co b/hsa/gfx942/bf16gemm/bf16gemm_outf32_tn_64x64_pf3.co index f8a32f8131accefbfa67265e8fc3d1ee8373a360..ee41f2e493e4d015992c4e1cb1bd4eee82072814 100755 GIT binary patch delta 437 zcmZY5y-vbV6bJBL)1`}XF+nQqUjxy21h52C4_3?P>P}HTdG@1B+}yK zO1PN_*SRk-z9NW1ZYEX*0SSqZ`OSrwl8id=S(2lz&?Oh$8KAO^nh@oA3dOPT zwoQ5r`wkA;B*32A^D!kh_WQ2ucmWr*OU#aK@;k#iYxPasu?+_sj)#e5VaLa==NKJ} z`HJsR#j-AYX}&pUH253hs;-kP(T#i|rWFcIC4{QFn$2ig%Ji(3FS3kbFxsLictq>( f@q@95USW2qp$CxaRrCbM^{N!%pP$zVhPBu)L!*Lj delta 286 zcmX@n#<-!Ck+a^_$Bl`R(Sdm)r#z#}O~&xyzy`z`(*_ za*@TJfq{`hal4`}%l_=i7pdfv9Vb@; zRa?PSYhtQ4p1cvLPG|C2AgMa}B~Y~-OtmhiYVpa6Hqwj&lWlFpIY2Js1gf1JVzY+L z&_d5Z&tURGMybgkL|8ZPwO!4^C_ee2h{)txCuK&C$qSwAf!ZEA*>g77F@V7uur!Pr&ytTtp;uys)<$8#zfPw>0rw?)uu+Bq+`oTO*_`(>~cV5_kW3q zib66(QM0+Ql*>_(5Lr~jOiIegRLMx$JWZ)8mG|TY=%TrSxY_5?6O5}8>O-(rK(DY{ PD+FQ{?*H|myA}QgegK^p delta 378 zcmcaHhw;E{M$URyA2%jOMhE7Jobrqg8#UWqCU0;Q;ACV_+^(q0vVYy=i!RcP%O}4D zk_#qtx=PE=WN6vX&|q?xMMr>vg~8+^i#-DaO!cJ6j;_*--IHU1WXt4Apz2zfY6DEw zWs^4o)#Xn<3nVipzXYmIgsC>cR2?;0(M_5$c(N^!^qCy#CN1j7$`msSvgsk6sa#|xC39N>O{&Co*6K+jSH!YDrZp@_)jUSDNKiOCy%?HLs&fAqEIoZ!g-25Z2w=X|&r82}f+Xj=dP diff --git a/hsa/gfx950/bf16gemm/bf16gemm_outf32_tn_32x64_pf3.co b/hsa/gfx950/bf16gemm/bf16gemm_outf32_tn_32x64_pf3.co index 03a90dc538e2476a9e585dd9579946c872ceb8bd..e8b66a682a00f183844b334beb3f34f4932da4e1 100755 GIT binary patch delta 162 zcmcamaG_vBj{%3GF3WyvhL-)4dkiFGO@IuB29vuivH}b&3?>&@>=_ss85FmJ6zNVr zXdum~Hu)})l%M?5Kw4G;rdknGwcun!Lup2?$-ai-n{x~W88r=3QWA|5Q_@V$%+1VF p4H6TR4N?q@4b6>{Q&Wu1O)XOm)6!Ctlae(jFJzS3e86Y|D*)1QE+qf} delta 166 zcmcamaG_vBkHKUeeF08J2F2})x-9$6Ca*P+X4Id2(m+~PgP~P3@psk%#uuuEYb{8 p&C*QGO;eK+lPwZ063vZFQWBF4jf_(a%u+QcFJzS3e86Y|D*%D$EP((3 diff --git a/hsa/gfx950/bf16gemm/bf16gemm_outf32_tn_48x64_pf3.co b/hsa/gfx950/bf16gemm/bf16gemm_outf32_tn_48x64_pf3.co index ed67334c7bfa79410006a53bf7d41066d1ff4dcb..e80adfdd5f0278d42142a8abe078dc5537fe175e 100755 GIT binary patch delta 208 zcmcameW7~81XB)0U6%ck3@!U7PcW5W44S;sR9e;>$Yp3SxyvFaz`(*_a*@TJfq{`h zaXUz<%jAcq(u}r~{{l&~$&zN$vidO9N|>rOCI^~HGb&Eb1(H&eJAtZ&VXDay$)nY__dn$dUiSs>{)`K76}tUW`^euf5ZBu$aIK0N$oLIsgCw diff --git a/hsa/gfx950/bf16gemm/bf16gemm_outf32_tn_64x64_pf3.co b/hsa/gfx950/bf16gemm/bf16gemm_outf32_tn_64x64_pf3.co index fac6c76fcfc261a24d05febd6f1d65a675d85e3a..8920454b67781669fd7d986d33692e20650be33b 100755 GIT binary patch delta 276 zcmX@n#(1KQal;fVMMYhf{pAcT`xzQc?y@KdFt9L~Tx79lU|?iW+zyf}n7r0XnlW?o zNh@jDB$zs7Om)$d8Lg!mLng}tN#Dtq*3znb5qMy!?d*2}O~&xyzy`z`(*_a*@TJfq{`hal4`}%l_=i z7pdfv9Vb@;Ra?PSYhtQ4p1cvLPG|C2 zAgMa}B~Y~-OtmhiYVpa6Hqwj&lWlFpIY2Js1ghN}Vx!2YnPy^OVV-7|WMX8IW{_%@ sW@>Jlnv|Gqk!X=VoMK>>syTTfqtxUNBCMPD+IF)70K4NzbN~PV diff --git a/hsa/gfx950/bf16gemm/bf16gemm_outf32_tn_96x64_pf3.co b/hsa/gfx950/bf16gemm/bf16gemm_outf32_tn_96x64_pf3.co index 9da1a628135fa6be75e0f79c0ed88564c8db3f1c..2d1be397f6ee32463997a4cb4307f1eb987a1459 100755 GIT binary patch delta 352 zcmcaHhw;W7#tj=>I23hR_HSlr**|%Miv;7E$tPW;WtRfE3=JlCS+oQgSQtz$ve+{) zFfu4^2PvI5nbB36ar$IgAUR>OrK_}TCrq^-rs}52g+O)HlY4<=$>fzl)wwX$MwqJ8 zCO-tKi=X@#NJdPSbd#11gsC>eRP8l6&`p}rd2%k0w3*xqRBZ}VZH1{?Z}LH)I`zqS zfuzFZpFq`;Fx7ULs)Z&Sx{GfPa5rVtG)PHFG)_!OGc_|eGfOo{OiVUNF)%hXH%?AX fF*Y}~Of^hPOHEEn)||YMQEKuB5!TITJ-S%|Wxr&2 delta 356 zcmcaHhw;W7#tj=>CU0;Q;ACV_+^(q0vVYy=i!RcP%O}4Dk_#qtx=PE=WN6vX&|q?x zMMr>vg~8+^i#-DaO!cJ6j;_*--IHU1WXt4Apz2zfY6DEwWs^4o)#Xn<3nVipzXYmI zgsC>cR2?;0(M_5$c(N^!^qCy#CN1j7$`msSvgsk6sa#|xC(9N=!ssF`MBU}2tSmSkdNk!Fx;mS$>hnwpfDY>{Y@ hXl`VZl9*&@WSnAPmZ~{ Date: Wed, 5 Nov 2025 12:53:35 +0800 Subject: [PATCH 2/3] update --- op_tests/test_gemm_a16w16.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/op_tests/test_gemm_a16w16.py b/op_tests/test_gemm_a16w16.py index b1c54e5b988..c0a2d88a634 100755 --- a/op_tests/test_gemm_a16w16.py +++ b/op_tests/test_gemm_a16w16.py @@ -143,11 +143,11 @@ def test_gemm(dtype, m, n, k, bias=False, otype=None, scaleA=None, scaleB=None): dtype == dtypes.bf16 and otype == dtypes.fp32 and (k % 64 == 0) - # and (n % 64 == 0) + and (n % 64 == 0) # N % tileN == 0 # and (m in [64, 80, 128, 150, 192, 220, 256, 384, 448, 512]) # and (n == 256) # and (k == 5120 or k == 7168) - and bias == None + and bias is None ): # wshuffle = shuffle_weight(weight, layout=(16, 16)) # out_asm = torch.empty((m + 191) // 192 * 192, n, dtype=otype) From e0cc59f76e4f2d48d20b79455250a6e12681af82 Mon Sep 17 00:00:00 2001 From: amd-ruitang3 Date: Wed, 5 Nov 2025 14:44:50 +0800 Subject: [PATCH 3/3] update --- op_tests/test_gemm_a16w16.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/op_tests/test_gemm_a16w16.py b/op_tests/test_gemm_a16w16.py index c0a2d88a634..ed0d44a341d 100755 --- a/op_tests/test_gemm_a16w16.py +++ b/op_tests/test_gemm_a16w16.py @@ -143,7 +143,7 @@ def test_gemm(dtype, m, n, k, bias=False, otype=None, scaleA=None, scaleB=None): dtype == dtypes.bf16 and otype == dtypes.fp32 and (k % 64 == 0) - and (n % 64 == 0) # N % tileN == 0 + and (n % 64 == 0) # N % tileN == 0 # and (m in [64, 80, 128, 150, 192, 220, 256, 384, 448, 512]) # and (n == 256) # and (k == 5120 or k == 7168)