[AMD] CI - Add MI35x nightly/PR tests for kv-cache-fp8 and allreduce-fusion (DeepSeek) (#19834)

Co-authored-by: bingxche <Bingxu.Chen@amd.com>
This commit is contained in:
YC Tseng
2026-03-05 07:09:57 -08:00
committed by GitHub
co-authored by bingxche
parent 0de0d74195
commit b5edab57f2
13 changed files with 1614 additions and 177 deletions
+153 -68
View File
@@ -21,46 +21,10 @@ on:
type: boolean
default: true
job_filter:
description: 'Select which job to run (leave empty or "all" to run all jobs)'
description: 'Comma-separated list of jobs to run (e.g. "nightly-8-gpu-grok2-rocm720,nightly-8-gpu-deepseek-v31-rocm720"). Leave empty or "all" to run all jobs.'
required: false
type: choice
type: string
default: 'all'
options:
- 'all'
# MI30x ROCm 7.2 Unit Tests
- 'nightly-test-1-gpu-unit-rocm720'
# MI30x ROCm 7.2 Accuracy Tests (GSM8K / MMMU)
- 'nightly-accuracy-2-gpu-rocm720'
- 'nightly-accuracy-2-gpu-vlm-rocm720'
- 'nightly-perf-2-gpu-text-rocm720'
- 'nightly-perf-2-gpu-vlm-rocm720'
- 'nightly-accuracy-8-gpu-rocm720'
# MI30x ROCm 7.2 Accuracy + Performance Tests (combined)
- 'nightly-8-gpu-grok1-int4-rocm720'
- 'nightly-8-gpu-grok2-rocm720'
- 'nightly-8-gpu-deepseek-v31-rocm720'
- 'nightly-8-gpu-deepseek-v32-rocm720'
- 'nightly-8-gpu-deepseek-v32-mtp-rocm720'
- 'nightly-8-gpu-kimi-k25-rocm720'
- 'nightly-8-gpu-qwen3-235b-rocm720'
- 'nightly-8-gpu-qwen35-rocm720'
- 'nightly-8-gpu-glm5-rocm720'
- 'nightly-8-gpu-minimax-m25-rocm720'
# MI35x ROCm 7.2 jobs
- 'nightly-test-1-gpu-mi35x-rocm720'
- 'nightly-8-gpu-mi35x-qwen3-235b-mxfp4-rocm720'
- 'nightly-8-gpu-mi35x-qwen35-rocm720'
- 'nightly-accuracy-8-gpu-mi35x-rocm720'
- 'nightly-8-gpu-mi35x-grok1-int4-rocm720'
- 'nightly-8-gpu-mi35x-grok2-rocm720'
- 'nightly-8-gpu-mi35x-deepseek-r1-mxfp4-rocm720'
- 'nightly-accuracy-8-gpu-mi35x-deepseek-v32-rocm720'
- 'nightly-accuracy-8-gpu-mi35x-deepseek-v32-mtp-rocm720'
- 'nightly-perf-8-gpu-mi35x-deepseek-v32-basic-rocm720'
- 'nightly-perf-8-gpu-mi35x-deepseek-v32-mtp-rocm720'
- 'nightly-8-gpu-mi35x-kimi-k25-rocm720'
- 'nightly-8-gpu-mi35x-glm5-rocm720'
- 'nightly-8-gpu-mi35x-minimax-m25-rocm720'
workflow_call:
inputs:
ref:
@@ -98,7 +62,7 @@ jobs:
# ============================================== MI30x ROCm 7.2 Unit Tests ==============================================
# 1-GPU Unit Tests - LoRA, debug utils, scheduler, etc. (MI30x ROCm 7.2)
nightly-test-1-gpu-unit-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-1-gpu-unit-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-test-1-gpu-unit-rocm720,'))
runs-on: linux-mi325-1gpu-sglang
steps:
- name: Checkout code
@@ -127,7 +91,7 @@ jobs:
# ============================================== MI30x ROCm 7.2 Accuracy Tests ==============================================
# 2-GPU Accuracy Tests - GSM8K eval (MI30x ROCm 7.2)
nightly-accuracy-2-gpu-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-accuracy-2-gpu-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-accuracy-2-gpu-rocm720,'))
runs-on: linux-mi325-2gpu-sglang
steps:
- name: Checkout code
@@ -155,7 +119,7 @@ jobs:
# 2-GPU VLM Accuracy Tests - Vision-Language Models MMMU evaluation (ROCm 7.2)
nightly-accuracy-2-gpu-vlm-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-accuracy-2-gpu-vlm-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-accuracy-2-gpu-vlm-rocm720,'))
runs-on: linux-mi325-2gpu-sglang
steps:
- name: Checkout code
@@ -184,7 +148,7 @@ jobs:
# 2-GPU Text Models Performance Tests (ROCm 7.2)
nightly-perf-2-gpu-text-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-perf-2-gpu-text-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-perf-2-gpu-text-rocm720,'))
runs-on: linux-mi325-2gpu-sglang
steps:
- name: Checkout code
@@ -214,7 +178,7 @@ jobs:
# 2-GPU VLM Performance Tests (ROCm 7.2)
nightly-perf-2-gpu-vlm-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-perf-2-gpu-vlm-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-perf-2-gpu-vlm-rocm720,'))
runs-on: linux-mi325-2gpu-sglang
steps:
- name: Checkout code
@@ -244,7 +208,7 @@ jobs:
# 8-GPU Accuracy Tests - GPT-OSS, Grok1-FP8 (ROCm 7.2)
nightly-accuracy-8-gpu-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-accuracy-8-gpu-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-accuracy-8-gpu-rocm720,'))
runs-on: linux-mi325-8gpu-sglang
steps:
- name: Checkout code
@@ -284,7 +248,7 @@ jobs:
# ============================================== MI30x ROCm 7.2 Combined Accuracy + Performance Tests ==============================================
# 8-GPU Grok1-INT4 (Accuracy + Performance) ROCm 7.2
nightly-8-gpu-grok1-int4-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-grok1-int4-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-8-gpu-grok1-int4-rocm720,'))
runs-on: linux-mi325-8gpu-sglang
steps:
- name: Checkout code
@@ -327,7 +291,7 @@ jobs:
# 8-GPU Grok2 (Accuracy + Performance) ROCm 7.2
nightly-8-gpu-grok2-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-grok2-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-8-gpu-grok2-rocm720,'))
runs-on: linux-mi325-8gpu-sglang
steps:
- name: Checkout code
@@ -370,7 +334,7 @@ jobs:
# 8-GPU DeepSeek-V3.1 (Accuracy + Performance) ROCm 7.2
nightly-8-gpu-deepseek-v31-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-deepseek-v31-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-8-gpu-deepseek-v31-rocm720,'))
runs-on: linux-mi325-8gpu-sglang
steps:
- name: Checkout code
@@ -413,7 +377,7 @@ jobs:
# 8-GPU DeepSeek-V3.2 (Basic Accuracy + Perf) ROCm 7.2
nightly-8-gpu-deepseek-v32-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-deepseek-v32-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-8-gpu-deepseek-v32-rocm720,'))
runs-on: linux-mi325-8gpu-sglang
steps:
- name: Checkout code
@@ -454,7 +418,7 @@ jobs:
# 8-GPU DeepSeek-V3.2 MTP (MTP Accuracy + Perf) ROCm 7.2
nightly-8-gpu-deepseek-v32-mtp-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-deepseek-v32-mtp-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-8-gpu-deepseek-v32-mtp-rocm720,'))
runs-on: linux-mi325-8gpu-sglang
steps:
- name: Checkout code
@@ -493,9 +457,39 @@ jobs:
echo "$(<github_summary.md )" >> $GITHUB_STEP_SUMMARY || true
exit ${TEST_EXIT_CODE:-0}
# 8-GPU DeepSeek-V3 KV FP8 (Basic + MTP with --kv-cache-dtype fp8_e4m3) ROCm 7.2
nightly-8-gpu-deepseek-v3-kv-fp8-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-8-gpu-deepseek-v3-kv-fp8-rocm720,'))
runs-on: linux-mi325-8gpu-sglang
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ inputs.ref || github.ref }}
- name: Setup docker (ROCm 7.2)
run: |
touch github_summary.md
bash scripts/ci/amd/amd_ci_start_container.sh --rocm-version rocm720
env:
GITHUB_WORKSPACE: ${{ github.workspace }}
- name: Install dependencies
run: bash scripts/ci/amd/amd_ci_install_dependency.sh --skip-test-time-deps
- name: DeepSeek-V3 KV FP8 Test ROCm 7.2 (8-GPU Basic + MTP)
timeout-minutes: 120
run: |
> github_summary.md # Clear summary file
bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \
-e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \
python3 run_suite.py --hw amd --suite nightly-amd-8-gpu-deepseek-v3-kv-fp8 --nightly --timeout-per-file 3600 ${{ inputs.continue_on_error && '--continue-on-error' || '' }} || TEST_EXIT_CODE=$?
echo "$(<github_summary.md )" >> $GITHUB_STEP_SUMMARY || true
exit ${TEST_EXIT_CODE:-0}
# 8-GPU Kimi-K2.5 (Accuracy) ROCm 7.2
nightly-8-gpu-kimi-k25-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-kimi-k25-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-8-gpu-kimi-k25-rocm720,'))
runs-on: linux-mi325-8gpu-sglang
steps:
- name: Checkout code
@@ -525,7 +519,7 @@ jobs:
# 8-GPU Qwen3-235B (Accuracy + Performance) ROCm 7.2
nightly-8-gpu-qwen3-235b-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-qwen3-235b-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-8-gpu-qwen3-235b-rocm720,'))
runs-on: linux-mi325-8gpu-sglang
steps:
- name: Checkout code
@@ -555,7 +549,7 @@ jobs:
# 8-GPU Qwen 3.5 (Accuracy) ROCm 7.2
nightly-8-gpu-qwen35-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-qwen35-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-8-gpu-qwen35-rocm720,'))
runs-on: linux-mi325-8gpu-sglang
steps:
- name: Checkout code
@@ -587,7 +581,7 @@ jobs:
# 8-GPU GLM-5 (Accuracy) ROCm 7.2
nightly-8-gpu-glm5-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-glm5-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-8-gpu-glm5-rocm720,'))
runs-on: linux-mi325-8gpu-sglang
steps:
- name: Checkout code
@@ -620,7 +614,7 @@ jobs:
# 8-GPU MiniMax-M2.5 (Accuracy) ROCm 7.2
nightly-8-gpu-minimax-m25-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-minimax-m25-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-8-gpu-minimax-m25-rocm720,'))
runs-on: linux-mi325-8gpu-sglang
steps:
- name: Checkout code
@@ -652,7 +646,7 @@ jobs:
# ============================================== MI35x ROCm 7.2 Tests ==============================================
# MI35x 1-GPU ROCm 7.2 tests
nightly-test-1-gpu-mi35x-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-1-gpu-mi35x-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-test-1-gpu-mi35x-rocm720,'))
runs-on: linux-mi35x-gpu-1
steps:
- name: Checkout code
@@ -681,7 +675,7 @@ jobs:
# MI35x 8-GPU Accuracy Tests - GPT-OSS (ROCm 7.2)
nightly-accuracy-8-gpu-mi35x-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-accuracy-8-gpu-mi35x-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-accuracy-8-gpu-mi35x-rocm720,'))
runs-on: linux-mi35x-gpu-8
steps:
- name: Checkout code
@@ -713,7 +707,7 @@ jobs:
# MI35x 8-GPU Grok1-INT4 (Accuracy + Performance) ROCm 7.2
nightly-8-gpu-mi35x-grok1-int4-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-mi35x-grok1-int4-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-8-gpu-mi35x-grok1-int4-rocm720,'))
runs-on: linux-mi35x-gpu-8
steps:
- name: Checkout code
@@ -759,7 +753,7 @@ jobs:
# MI35x 8-GPU Grok2 (Accuracy + Performance) ROCm 7.2
nightly-8-gpu-mi35x-grok2-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-mi35x-grok2-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-8-gpu-mi35x-grok2-rocm720,'))
runs-on: linux-mi35x-gpu-8
steps:
- name: Checkout code
@@ -805,7 +799,7 @@ jobs:
# MI35x 8-GPU DeepSeek-R1-MXFP4 (Accuracy + Performance) ROCm 7.2
nightly-8-gpu-mi35x-deepseek-r1-mxfp4-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-mi35x-deepseek-r1-mxfp4-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-8-gpu-mi35x-deepseek-r1-mxfp4-rocm720,'))
runs-on: linux-mi35x-gpu-8
steps:
- name: Checkout code
@@ -847,9 +841,97 @@ jobs:
echo "$(<github_summary.md )" >> $GITHUB_STEP_SUMMARY || true
exit ${TEST_EXIT_CODE:-0}
# MI35x 8-GPU DeepSeek-R1-MXFP4 KV FP8 (Accuracy + Performance) ROCm 7.2
nightly-8-gpu-mi35x-deepseek-r1-mxfp4-kv-fp8-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-8-gpu-mi35x-deepseek-r1-mxfp4-kv-fp8-rocm720,'))
runs-on: linux-mi35x-gpu-8
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ inputs.ref || github.ref }}
- name: Setup docker (ROCm 7.2)
run: |
touch github_summary.md
bash scripts/ci/amd/amd_ci_start_container.sh --rocm-version rocm720
env:
GITHUB_WORKSPACE: ${{ github.workspace }}
- name: Install dependencies
run: |
bash scripts/ci/amd/amd_ci_install_dependency.sh --skip-test-time-deps
# Install tabulate for run_suite.py (missing in MI35x container)
bash scripts/ci/amd/amd_ci_exec.sh pip install tabulate
- name: Accuracy Test MI35x ROCm 7.2 (8-GPU DeepSeek-R1-MXFP4 KV FP8)
timeout-minutes: 180
run: |
> github_summary.md # Clear summary file
bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \
-e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \
python3 run_suite.py --hw amd --suite nightly-amd-8-gpu-mi35x-deepseek-r1-mxfp4-kv-fp8 --nightly --timeout-per-file 7200 ${{ inputs.continue_on_error && '--continue-on-error' || '' }} || TEST_EXIT_CODE=$?
echo "$(<github_summary.md )" >> $GITHUB_STEP_SUMMARY || true
exit ${TEST_EXIT_CODE:-0}
- name: Performance Test MI35x ROCm 7.2 (8-GPU DeepSeek-R1-MXFP4 KV FP8)
timeout-minutes: 300
continue-on-error: true
run: |
> github_summary.md # Clear summary file
bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \
-e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \
python3 registered/amd/perf/mi35x/test_deepseek_r1_mxfp4_kv_fp8_perf_mi35x.py || TEST_EXIT_CODE=$?
echo "$(<github_summary.md )" >> $GITHUB_STEP_SUMMARY || true
exit ${TEST_EXIT_CODE:-0}
# MI35x 8-GPU DeepSeek-R1-MXFP4 AllReduce Fusion (Accuracy + Performance) ROCm 7.2
nightly-8-gpu-mi35x-deepseek-r1-mxfp4-ar-fusion-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-8-gpu-mi35x-deepseek-r1-mxfp4-ar-fusion-rocm720,'))
runs-on: linux-mi35x-gpu-8
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ inputs.ref || github.ref }}
- name: Setup docker (ROCm 7.2)
run: |
touch github_summary.md
bash scripts/ci/amd/amd_ci_start_container.sh --rocm-version rocm720
env:
GITHUB_WORKSPACE: ${{ github.workspace }}
- name: Install dependencies
run: |
bash scripts/ci/amd/amd_ci_install_dependency.sh --skip-test-time-deps
# Install tabulate for run_suite.py (missing in MI35x container)
bash scripts/ci/amd/amd_ci_exec.sh pip install tabulate
- name: Accuracy Test MI35x ROCm 7.2 (8-GPU DeepSeek-R1-MXFP4 AllReduce Fusion)
timeout-minutes: 180
run: |
> github_summary.md # Clear summary file
bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \
-e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \
python3 run_suite.py --hw amd --suite nightly-amd-8-gpu-mi35x-deepseek-r1-mxfp4-ar-fusion --nightly --timeout-per-file 7200 ${{ inputs.continue_on_error && '--continue-on-error' || '' }} || TEST_EXIT_CODE=$?
echo "$(<github_summary.md )" >> $GITHUB_STEP_SUMMARY || true
exit ${TEST_EXIT_CODE:-0}
- name: Performance Test MI35x ROCm 7.2 (8-GPU DeepSeek-R1-MXFP4 AllReduce Fusion)
timeout-minutes: 300
continue-on-error: true
run: |
> github_summary.md # Clear summary file
bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \
-e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \
python3 registered/amd/perf/mi35x/test_deepseek_r1_mxfp4_ar_fusion_perf_mi35x.py || TEST_EXIT_CODE=$?
echo "$(<github_summary.md )" >> $GITHUB_STEP_SUMMARY || true
exit ${TEST_EXIT_CODE:-0}
# MI35x 8-GPU DeepSeek-V3.2 Accuracy Test (ROCm 7.2)
nightly-accuracy-8-gpu-mi35x-deepseek-v32-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-accuracy-8-gpu-mi35x-deepseek-v32-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-accuracy-8-gpu-mi35x-deepseek-v32-rocm720,'))
runs-on: linux-mi35x-gpu-8
steps:
- name: Checkout code
@@ -882,7 +964,7 @@ jobs:
# MI35x 8-GPU DeepSeek-V3.2 TP+MTP Accuracy Test (ROCm 7.2)
nightly-accuracy-8-gpu-mi35x-deepseek-v32-mtp-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-accuracy-8-gpu-mi35x-deepseek-v32-mtp-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-accuracy-8-gpu-mi35x-deepseek-v32-mtp-rocm720,'))
runs-on: linux-mi35x-gpu-8
steps:
- name: Checkout code
@@ -915,7 +997,7 @@ jobs:
# MI35x 8-GPU DeepSeek-V3.2 Performance Test (Basic) ROCm 7.2
nightly-perf-8-gpu-mi35x-deepseek-v32-basic-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-perf-8-gpu-mi35x-deepseek-v32-basic-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-perf-8-gpu-mi35x-deepseek-v32-basic-rocm720,'))
runs-on: linux-mi35x-gpu-8
steps:
- name: Checkout code
@@ -948,7 +1030,7 @@ jobs:
# MI35x 8-GPU Kimi-K2.5 (Accuracy) ROCm 7.2
nightly-8-gpu-mi35x-kimi-k25-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-mi35x-kimi-k25-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-8-gpu-mi35x-kimi-k25-rocm720,'))
runs-on: linux-mi35x-gpu-8
steps:
- name: Checkout code
@@ -981,7 +1063,7 @@ jobs:
# MI35x 8-GPU Qwen3-235B-MXFP4 (Accuracy + Performance) ROCm 7.2
nightly-8-gpu-mi35x-qwen3-235b-mxfp4-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-mi35x-qwen3-235b-mxfp4-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-8-gpu-mi35x-qwen3-235b-mxfp4-rocm720,'))
runs-on: linux-mi35x-gpu-8
steps:
- name: Checkout code
@@ -1014,7 +1096,7 @@ jobs:
# MI35x 8-GPU Qwen 3.5 (Accuracy) ROCm 7.2
nightly-8-gpu-mi35x-qwen35-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-mi35x-qwen35-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-8-gpu-mi35x-qwen35-rocm720,'))
runs-on: linux-mi35x-gpu-8
steps:
- name: Checkout code
@@ -1046,7 +1128,7 @@ jobs:
exit ${TEST_EXIT_CODE:-0}
nightly-8-gpu-mi35x-glm5-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-mi35x-glm5-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-8-gpu-mi35x-glm5-rocm720,'))
runs-on: linux-mi35x-gpu-8
steps:
- name: Checkout code
@@ -1081,7 +1163,7 @@ jobs:
# MI35x 8-GPU MiniMax-M2.5 (Accuracy) ROCm 7.2
nightly-8-gpu-mi35x-minimax-m25-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-8-gpu-mi35x-minimax-m25-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-8-gpu-mi35x-minimax-m25-rocm720,'))
runs-on: linux-mi35x-gpu-8
steps:
- name: Checkout code
@@ -1114,7 +1196,7 @@ jobs:
# MI35x 8-GPU DeepSeek-V3.2 Performance Test (MTP) ROCm 7.2
nightly-perf-8-gpu-mi35x-deepseek-v32-mtp-rocm720:
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-perf-8-gpu-mi35x-deepseek-v32-mtp-rocm720')
if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (inputs.job_filter == '' || inputs.job_filter == 'all' || contains(format(',{0},', inputs.job_filter), ',nightly-perf-8-gpu-mi35x-deepseek-v32-mtp-rocm720,'))
runs-on: linux-mi35x-gpu-8
steps:
- name: Checkout code
@@ -1163,6 +1245,7 @@ jobs:
- nightly-8-gpu-deepseek-v31-rocm720
- nightly-8-gpu-deepseek-v32-rocm720
- nightly-8-gpu-deepseek-v32-mtp-rocm720
- nightly-8-gpu-deepseek-v3-kv-fp8-rocm720
- nightly-8-gpu-kimi-k25-rocm720
- nightly-8-gpu-qwen3-235b-rocm720
- nightly-8-gpu-qwen35-rocm720
@@ -1174,6 +1257,8 @@ jobs:
- nightly-8-gpu-mi35x-grok1-int4-rocm720
- nightly-8-gpu-mi35x-grok2-rocm720
- nightly-8-gpu-mi35x-deepseek-r1-mxfp4-rocm720
- nightly-8-gpu-mi35x-deepseek-r1-mxfp4-kv-fp8-rocm720
- nightly-8-gpu-mi35x-deepseek-r1-mxfp4-ar-fusion-rocm720
- nightly-accuracy-8-gpu-mi35x-deepseek-v32-rocm720
- nightly-accuracy-8-gpu-mi35x-deepseek-v32-mtp-rocm720
- nightly-perf-8-gpu-mi35x-deepseek-v32-basic-rocm720