Repository navigation
a16w16 gemm tuned dsv4 pro shapes - #4222
ahmed-bsod wants to merge 9 commits into
Conversation
🏷️ CI GuideRuns automatically on every PR:
Extended tests (opt-in via labels):
|
There was a problem hiding this comment.
Pull request overview
This PR adds tuned configuration coverage for A16W16 GEMM shapes used by DSv4/DSv4pro on gfx1250 (via Triton/Gluon configs), and tightens the default “skinny” fallback so it only applies on specific CDNA-class gfx targets.
Changes:
- Restricts the skinny default-shape fallback in
get_GEMM_A16W16_config()togfx90a/gfx942/gfx950only. - Adds gfx1250 GEMM-A16W16 (N,K-specialized) JSON configs for K=7168 across several N values, keyed by M-bounds.
- Adds gfx1250 DSv4/DSv4pro bf16 tuned GEMM CSV entries that route these shapes to the Triton backend.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| aiter/tuned_gemm.py | Restricts skinny fallback dispatch to specific gfx targets. |
| aiter/ops/triton/configs/gemm/gfx1250-GEMM-A16W16-N=64-K=7168.json | Adds gfx1250 (N=64,K=7168) Gluon tuning params by M bounds. |
| aiter/ops/triton/configs/gemm/gfx1250-GEMM-A16W16-N=384-K=7168.json | Adds gfx1250 (N=384,K=7168) Gluon tuning params by M bounds. |
| aiter/ops/triton/configs/gemm/gfx1250-GEMM-A16W16-N=512-K=7168.json | Adds gfx1250 (N=512,K=7168) Gluon tuning params by M bounds. |
| aiter/ops/triton/configs/gemm/gfx1250-GEMM-A16W16-N=1024-K=7168.json | Adds gfx1250 (N=1024,K=7168) Gluon tuning params by M bounds. |
| aiter/ops/triton/configs/gemm/gfx1250-GEMM-A16W16-N=2048-K=7168.json | Adds gfx1250 (N=2048,K=7168) Gluon tuning params by M bounds. |
| aiter/ops/triton/configs/gemm/gfx1250-GEMM-A16W16-N=32320-K=7168.json | Adds gfx1250 (N=32320,K=7168) Gluon tuning params by M bounds (DSv4pro). |
| aiter/configs/model_configs/dsv4pro_bf16_tuned_gemm.csv | New DSv4pro gfx1250 bf16 tuned GEMM shapes routed to Triton backend. |
| aiter/configs/model_configs/dsv4_bf16_tuned_gemm.csv | Adds DSv4 gfx1250 bf16 tuned GEMM shapes (multiple N values, K=7168) routed to Triton backend. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| elif ( | ||
| gfx in ("gfx90a", "gfx942", "gfx950") | ||
| and is_skinny_default_shape(M, N, K, dtype, cu_num) | ||
| ): |
| gfx,cu_num,M,N,K,bias,dtype,outdtype,scaleAB,bpreshuffle,libtype,solidx,splitK,us,kernelName,err_ratio,tflops,bw | ||
| gfx1250,256,1,32320,7168,False,torch.bfloat16,torch.bfloat16,False,False,triton,0,0,0.0,auto,0.0,0.0,0.0 | ||
| gfx1250,256,2,32320,7168,False,torch.bfloat16,torch.bfloat16,False,False,triton,0,0,0.0,auto,0.0,0.0,0.0 |
There was a problem hiding this comment.
python3 -m unittest op_tests.tuning_tests.test_config_shape_collision
----------------------------------------------------------------------
Ran 12 tests in 0.304s
OK
5d93596 to
11d7fa1
Compare
…e buffer as the ds_load without waiting for all the ds_loads to drain. we leave one buffer gap between tdm load and lds read now
| gfx1250,256,2,2048,7168,False,torch.bfloat16,torch.bfloat16,False,False,triton,0,0,0,auto,0.0,0.0,0.0 | ||
| gfx1250,256,1,2048,7168,False,torch.bfloat16,torch.bfloat16,False,False,triton,0,0,0,auto,0.0,0.0,0.0 |
There was a problem hiding this comment.
could you please add the actual op duration here ?
|
No activity for 15 days, so this is now labelled |
GEMM A16W16 tuned kernel time (µs), K=7168