Repository navigation
[Triton/Gluon] gemm_a16w16_atomic accumulate into an existing output buffer - #5895
Conversation
🏷️ CI GuideRuns automatically on every PR:
Extended tests (opt-in via labels):
One backend per PR: PR title tags & labels: |
010ec54 to
ce49a45
Compare
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Register the tuning harness and reset the accumulation buffer before each benchmark run.
Review effort: Lite
Findings: 1
Open (1)
What changed in this PR
Adds accumulate=True support to Triton atomic A16W16 GEMM, with split-K/strided-output tests and gfx950 tuning.
Changes:
- Adds in-place accumulation API and kernel behavior.
- Adds contiguous and strided accumulation tests.
- Adds tuning harness and gfx950 configuration.
| File | Description |
|---|---|
op_tests/triton_tests/gemm/basic/test_gemm_a16w16.py |
Adds accumulation tests. |
aiter/ops/triton/utils/_triton/tuning/harness_gemm_a16w16_atomic_accumulate.py |
Adds accumulation tuning harness. |
aiter/ops/triton/gemm/basic/gemm_a16w16_atomic.py |
Exposes accumulation support. |
aiter/ops/triton/configs/gfx950/triton/gemm/gemm_a16w16_atomic/GEMM-A16W16-ATOMIC-N=896-K=3584.json |
Adds tuned gfx950 configuration. |
aiter/ops/triton/_triton_kernels/gemm/basic/gemm_a16w16_atomic.py |
Implements accumulation in the kernel. |
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Boss2002n
left a comment
There was a problem hiding this comment.
Another Q is - should accumulate not be in the config json? (does it have any perf improvements on other models is another way to ask this question)
what do u think is better? config json or just let the caller pass an argument directly?
Signed-off-by: Nicholas Susanto <Nicholas.Susanto@amd.com>
91dfaf3 to
37b6d77
Compare
|
MI35X Test Failures are unrelated. Safe to merge. |

Motivation
Kimi K3 fuses the outputs of shared experts and routed experts. gemm_a16w16_atomic does not have a built in accumulate for an existing accumulator buffer.
Technical Details
accumulate=Trueongemm_a16w16_atomic, which requiresyand never zeroes it:y.y(a column slice) is updated in place.GEMM-A16W16-ATOMIC-N=896-K=3584.json: tuned gfx950 configs for the Kimi-K3 shape.Test Plan
Added test_gemm_a16_w16_atomic_accumulate
pytest op_tests/triton_tests/gemm/basic/test_gemm_a16w16.py -k atomicSubmission Checklist