[AMD] add dedicated jit-kernel-benchmark-test-amd stage + register portable JIT benches (#30307)

This commit is contained in:
Michael
2026-07-08 18:09:05 -07:00
committed by GitHub
parent 074bb928f0
commit cf8f1df6e8
19 changed files with 110 additions and 16 deletions
+40
View File
@@ -39,6 +39,7 @@ on:
- sgl-kernel-unit-test-2-gpu-amd-rocm720
- stage-a-test-1-gpu-small-amd-rocm720
- jit-kernel-unit-test-amd-rocm720
- jit-kernel-benchmark-test-amd-rocm720
- stage-b-test-1-gpu-small-amd-rocm720
- stage-b-test-1-gpu-small-amd-nondeterministic-rocm720
- stage-b-test-1-gpu-small-amd-mi35x-rocm720
@@ -394,6 +395,44 @@ jobs:
run: |
bash scripts/ci/amd/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite jit-kernel-unit-test-amd ${{ inputs.continue_on_error && '--continue-on-error' || '' }}
jit-kernel-benchmark-test-amd-rocm720:
needs: [check-changes]
if: |
always() &&
(
(contains(format(',{0},', inputs.target_stage || inputs.target_stage_select), ',jit-kernel-benchmark-test-amd-rocm720,')) ||
(
!(inputs.target_stage || inputs.target_stage_select) &&
needs.check-changes.outputs.jit_kernel == 'true'
)
)
strategy:
fail-fast: false
matrix:
runner: [linux-mi325-1gpu-sglang]
runs-on: ${{matrix.runner}}
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ inputs.pr_head_sha || inputs.ref || github.sha }}
- name: Ensure VRAM is clear
run: bash scripts/ci/amd/ensure_vram_clear.sh rocm
- name: Start CI container
run: 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
- name: Run JIT kernel benchmarks
timeout-minutes: 30
run: |
bash scripts/ci/amd/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite jit-kernel-benchmark-test-amd ${{ inputs.continue_on_error && '--continue-on-error' || '' }}
stage-b-test-1-gpu-small-amd-rocm720:
needs: [check-changes]
if: |
@@ -1322,6 +1361,7 @@ jobs:
stage-a-test-1-gpu-small-amd-rocm720,
jit-kernel-unit-test-amd-rocm720,
jit-kernel-benchmark-test-amd-rocm720,
stage-b-test-1-gpu-small-amd-rocm720,
stage-b-test-1-gpu-small-amd-nondeterministic-rocm720,
stage-b-test-1-gpu-small-amd-mi35x-rocm720,
+39
View File
@@ -27,6 +27,7 @@ on:
- sgl-kernel-unit-test-2-gpu-amd
- stage-a-test-1-gpu-small-amd
- jit-kernel-unit-test-amd
- jit-kernel-benchmark-test-amd
- stage-b-test-1-gpu-small-amd
- stage-b-test-1-gpu-small-amd-nondeterministic
- stage-b-test-1-gpu-small-amd-mi35x
@@ -391,6 +392,43 @@ jobs:
run: |
bash scripts/ci/amd/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite jit-kernel-unit-test-amd ${{ needs.check-changes.outputs.continue_on_error == 'true' && '--continue-on-error' || '' }}
jit-kernel-benchmark-test-amd:
name: ${{ format('jit-kernel-benchmark-test-amd (linux-{0}-1gpu-sglang)', inputs.runner_arch || 'mi325') }}
needs: [check-changes, call-gate]
if: |
always() && !cancelled() &&
(
(contains(format(',{0},', inputs.target_stage || inputs.target_stage_select), ',jit-kernel-benchmark-test-amd,')) ||
(
!(inputs.target_stage || inputs.target_stage_select) &&
(needs.call-gate.result == 'success' || needs.call-gate.result == 'skipped') &&
needs.check-changes.outputs.jit_kernel == 'true'
)
)
runs-on: ${{ format('linux-{0}-1gpu-sglang', inputs.runner_arch || 'mi325') }}
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ inputs.pr_head_sha || inputs.ref || github.sha }}
- name: Ensure VRAM is clear
run: bash scripts/ci/amd/ensure_vram_clear.sh rocm
- name: Start CI container
run: bash scripts/ci/amd/amd_ci_start_container.sh
env:
GITHUB_WORKSPACE: ${{ github.workspace }}
- name: Install dependencies
run: |
bash scripts/ci/amd/amd_ci_install_dependency.sh
- name: Run JIT kernel benchmarks
timeout-minutes: 30
run: |
bash scripts/ci/amd/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite jit-kernel-benchmark-test-amd ${{ needs.check-changes.outputs.continue_on_error == 'true' && '--continue-on-error' || '' }}
# =============================================== Wait Jobs for Sequential PR Execution ====================================================
# These jobs poll GitHub API to wait for previous stages to complete.
# For PR runs: wait jobs run and enforce sequential execution via polling.
@@ -1270,6 +1308,7 @@ jobs:
wait-for-stage-a-amd,
stage-a-test-1-gpu-small-amd,
jit-kernel-unit-test-amd,
jit-kernel-benchmark-test-amd,
wait-for-stage-b-amd,
stage-b-test-1-gpu-small-amd,
stage-b-test-1-gpu-small-amd-nondeterministic,