Repository navigation
[ROCm][DSv4.1][Perf] Run the delayed mHC seams through aiter's fused Triton kernel - #58655
Conversation
e0d9ce3 to
c2acf44
Compare
|
we need an UT for this new kernel. |
|
This pull request has merge conflicts that must be resolved before it can be |
84d009a to
e97404b
Compare
|
✅ @ahmed-bsod, CI is now available for this PR.
|
|
Hi @ahmed-bsod, the pre-commit checks have failed. Please run: uv pip install pre-commit>=4.5.1
pre-commit install
pre-commit run --all-filesThen, commit the changes and push to your branch. For future commits, |
|
/ci run |
|
❌ This PR is 5 commits behind upstream |
…on kernel Signed-off-by: Ahmed <Muhammad.Ahmed@amd.com>
Signed-off-by: Ahmed <Muhammad.Ahmed@amd.com>
Signed-off-by: Ahmed <Muhammad.Ahmed@amd.com>
f96efd8 to
980c3bf
Compare
|
/ci run |
shen-shanshan
left a comment
There was a problem hiding this comment.
Reviewed by @Fangzhou-Ai
vllm/vllm-openai-rocm:nightly-rocm100-36768d1bfd39094681cdbc8cb37d4b31c0729c89 is the first published ROCm nightly build whose underlying vLLM commit (36768d1bfd39094681cdbc8cb37d4b31c0729c89) includes all three PRs this recipe was waiting on: vllm-project/vllm#58655, #53492 and #58208. Signed-off-by: Fangzhou Ai <31551580+Fangzhou-Ai@users.noreply.github.com> Co-authored-by: Cursor <cursoragent@cursor.com>
…Triton kernel (vllm-project#58655) Signed-off-by: Ahmed <Muhammad.Ahmed@amd.com>

Purpose
On ROCm's DeepSeek-V4.1's path each mHC seam runs today as a chain of separate aiter kernels, with the RMSNorm as one more standalone pass over the collapse. Aiter ships a fused kernel for the whole seam now ROCm/aiter#5824, a split-K main kernel (post-mix, bf16 residual write, gate projection, square sums) plus a per-token reduce (gates including the Sinkhorn loop, RMSNorm applied in place to the collapse): two launches per seam. This PR wires vLLM to it on gfx950.
Test Plan
image used:
vllm/vllm-openai-rocm:nightly-rocm100serve command:
bench command:
vllm bench serve \ --model="$MODEL_PATH" \ --backend=vllm \ --tokenizer="$MODEL_PATH" \ --dataset-name=random \ --random-input-len=32768 \ --random-output-len=32 \ --random-range-ratio 0 \ --num-prompts=64 \ --max-concurrency=32 \ --ignore-eos \ --temperature=0 \ --save-result --result-dir . \ --metric-percentiles="50,90,99" \ --percentile-metrics="ttft,tpot,itl,e2el" 2>&1 | tee -a "$LOG_FILE"vllm bench serve \ --model="$MODEL_PATH" \ --backend=vllm \ --tokenizer="$MODEL_PATH" \ --dataset-name=random \ --random-input-len=350000 \ --random-output-len=350 \ --random-range-ratio 0 \ --num-prompts=128 \ --max-concurrency=32 \ --ignore-eos \ --temperature=0 \ --save-result --result-dir . \ --metric-percentiles="50,90,99" \ --percentile-metrics="ttft,tpot,itl,e2el" 2>&1 | tee -a "$LOG_FILE"lm-eval command:
Test Result
For ISL 32k/OSL 32/CONC 32 throughput improves by about 4.7%

For ISL 350k/OSL 350/CONC 32 throughput improves by about 2.94%

lmeval seems to be within range

Essential Elements of an Effective PR Description Checklist
supported_models.mdandexamplesfor a new model.