Commit a97c1e4
committed
feat(ck_tile/fmha): add gfx1100 batch_prefill_gfx11 pipeline policy
gfx1100 had no batch_prefill pipeline: the arch supported qr, qr_pagedkv,
qr_nwarp_sshuffle, appendkv and bwd only. qr_async cannot be reused
because gfx11 has no parent async dwordx2 K copy, and the fallback gemm1
(ARegBSmem) cannot consume a gfx11 WMMA P tile.
Add BlockFmhaBatchPrefillPipelineQRKSVSAsyncGfx11Policy:
- synchronous K staging (kUseSyncKLoad) instead of async copy
- vec4 K packing on N0=32 / K0=32 linear tiles
- Independent-V gemm1 (ARegBReg plus a tiled V LDS layout)
- P permuted from WMMA C layout to A layout before gemm1
Enabled surface is deliberately narrow: block size 256, tile 128x32x32,
hdim 128, linear page KV and no dropout. All other tiles, head dims,
dtypes and architectures stay on the existing pipeline, unchanged.
Codegen emits exactly that set (192 instances), validation rejects
anything outside it with a named error, and the pipeline carries a
device-side static_assert so the two gates cannot drift apart.
The tile engine harness needed three fixes to exercise the path: the
ctypes runner zeroed the paged K/V buffers instead of copying the host
pages, it hardcoded window_size_right=-1 so causal masks did not mask,
and the Python side passed dense BHSD without the linear page pack or
the Q/O transpose. fmha_benchmark.py now also exits non-zero when
kernels fail to build or verification fails; previously both printed the
failure and exited 0.1 parent f585988 commit a97c1e4
13 files changed
Lines changed: 753 additions & 43 deletions
File tree
- projects/composablekernel
- dispatcher
- bindings/ctypes
- codegen/fmha
- python
- tests
- include/ck_tile/ops/fmha/pipeline
- tile_engine/ops/fmha
Lines changed: 19 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1552 | 1552 | | |
1553 | 1553 | | |
1554 | 1554 | | |
1555 | | - | |
1556 | | - | |
| 1555 | + | |
| 1556 | + | |
| 1557 | + | |
| 1558 | + | |
| 1559 | + | |
| 1560 | + | |
| 1561 | + | |
| 1562 | + | |
| 1563 | + | |
| 1564 | + | |
1557 | 1565 | | |
1558 | 1566 | | |
1559 | 1567 | | |
| |||
1613 | 1621 | | |
1614 | 1622 | | |
1615 | 1623 | | |
1616 | | - | |
1617 | | - | |
1618 | | - | |
1619 | | - | |
1620 | | - | |
1621 | | - | |
1622 | | - | |
1623 | | - | |
| 1624 | + | |
| 1625 | + | |
| 1626 | + | |
| 1627 | + | |
| 1628 | + | |
| 1629 | + | |
| 1630 | + | |
| 1631 | + | |
| 1632 | + | |
1624 | 1633 | | |
1625 | 1634 | | |
1626 | 1635 | | |
| |||
Lines changed: 12 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
753 | 753 | | |
754 | 754 | | |
755 | 755 | | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
756 | 766 | | |
757 | 767 | | |
758 | 768 | | |
| |||
808 | 818 | | |
809 | 819 | | |
810 | 820 | | |
811 | | - | |
| 821 | + | |
812 | 822 | | |
813 | 823 | | |
814 | 824 | | |
| |||
821 | 831 | | |
822 | 832 | | |
823 | 833 | | |
824 | | - | |
| 834 | + | |
825 | 835 | | |
826 | 836 | | |
827 | 837 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | | - | |
| 34 | + | |
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
| |||
Lines changed: 20 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1457 | 1457 | | |
1458 | 1458 | | |
1459 | 1459 | | |
| 1460 | + | |
| 1461 | + | |
1460 | 1462 | | |
1461 | 1463 | | |
1462 | 1464 | | |
| |||
2392 | 2394 | | |
2393 | 2395 | | |
2394 | 2396 | | |
| 2397 | + | |
| 2398 | + | |
| 2399 | + | |
| 2400 | + | |
2395 | 2401 | | |
2396 | 2402 | | |
2397 | 2403 | | |
2398 | 2404 | | |
| 2405 | + | |
| 2406 | + | |
| 2407 | + | |
| 2408 | + | |
| 2409 | + | |
| 2410 | + | |
| 2411 | + | |
2399 | 2412 | | |
2400 | 2413 | | |
2401 | 2414 | | |
2402 | 2415 | | |
2403 | 2416 | | |
2404 | 2417 | | |
2405 | 2418 | | |
| 2419 | + | |
| 2420 | + | |
| 2421 | + | |
| 2422 | + | |
2406 | 2423 | | |
2407 | 2424 | | |
2408 | 2425 | | |
| |||
2421 | 2438 | | |
2422 | 2439 | | |
2423 | 2440 | | |
2424 | | - | |
| 2441 | + | |
| 2442 | + | |
| 2443 | + | |
2425 | 2444 | | |
2426 | 2445 | | |
2427 | 2446 | | |
| |||
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
240 | 240 | | |
241 | 241 | | |
242 | 242 | | |
| 243 | + | |
243 | 244 | | |
244 | 245 | | |
245 | 246 | | |
| |||
254 | 255 | | |
255 | 256 | | |
256 | 257 | | |
| 258 | + | |
257 | 259 | | |
258 | 260 | | |
259 | 261 | | |
| |||
Lines changed: 28 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
881 | 881 | | |
882 | 882 | | |
883 | 883 | | |
884 | | - | |
885 | | - | |
| 884 | + | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
886 | 912 | | |
887 | 913 | | |
888 | 914 | | |
| |||
Lines changed: 73 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
840 | 840 | | |
841 | 841 | | |
842 | 842 | | |
| 843 | + | |
| 844 | + | |
| 845 | + | |
| 846 | + | |
| 847 | + | |
| 848 | + | |
| 849 | + | |
| 850 | + | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
| 854 | + | |
| 855 | + | |
| 856 | + | |
| 857 | + | |
| 858 | + | |
| 859 | + | |
| 860 | + | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
| 875 | + | |
| 876 | + | |
| 877 | + | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
| 881 | + | |
| 882 | + | |
| 883 | + | |
| 884 | + | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
| 913 | + | |
| 914 | + | |
| 915 | + | |
843 | 916 | | |
844 | 917 | | |
845 | 918 | | |
| |||
Lines changed: 46 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
158 | 158 | | |
159 | 159 | | |
160 | 160 | | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
161 | 207 | | |
162 | 208 | | |
163 | 209 | | |
| |||
Lines changed: 46 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
159 | 159 | | |
160 | 160 | | |
161 | 161 | | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
162 | 208 | | |
163 | 209 | | |
164 | 210 | | |
| |||
0 commit comments