diff --git a/.github/workflows/nightly-test-amd-rocm720.yml b/.github/workflows/nightly-test-amd-rocm720.yml index 6b8622c8d..3c3983115 100644 --- a/.github/workflows/nightly-test-amd-rocm720.yml +++ b/.github/workflows/nightly-test-amd-rocm720.yml @@ -79,6 +79,7 @@ on: # 8-GPU Qwen 3.5 (MI30x + MI35x) - nightly-8-gpu-qwen35-rocm720 - nightly-8-gpu-mi35x-qwen35-rocm720 + - nightly-8-gpu-mi35x-qwen35-triton-dcp-rocm720 # 8-GPU GLM-5.1 (MI30x + MI35x) - nightly-8-gpu-glm51-rocm720 - nightly-8-gpu-mi35x-glm51-rocm720 @@ -1660,6 +1661,40 @@ jobs: echo "$(> $GITHUB_STEP_SUMMARY || true exit ${TEST_EXIT_CODE:-0} + nightly-8-gpu-mi35x-qwen35-triton-dcp-rocm720: + if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (!(inputs.job_filter || inputs.job_select) || (inputs.job_filter || inputs.job_select) == 'all' || contains(format(',{0},', inputs.job_filter || inputs.job_select), ',nightly-8-gpu-mi35x-qwen35-triton-dcp-rocm720,')) + runs-on: linux-mi35x-gpu-8 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + ref: ${{ inputs.ref || github.sha }} + + - name: Ensure VRAM is clear + run: bash scripts/ci/amd/ensure_vram_clear.sh rocm + + - 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-aiter-build --skip-test-time-deps + bash scripts/ci/amd/amd_ci_exec.sh pip install tabulate + + - name: Accuracy Test MI35x ROCm 7.2 (8-GPU Qwen 3.5 Triton DCP) + 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-accuracy-8-gpu-mi35x-qwen35-triton-dcp --nightly --timeout-per-file 7200 ${{ (github.event_name == 'schedule' || inputs.continue_on_error) && '--continue-on-error' || '' }} || TEST_EXIT_CODE=$? + echo "$(> $GITHUB_STEP_SUMMARY || true + exit ${TEST_EXIT_CODE:-0} + # ============================================================================== # 8-GPU GLM-5.1 (MI30x + MI35x) # ============================================================================== @@ -1991,6 +2026,7 @@ jobs: # 8-GPU Qwen 3.5 (MI30x + MI35x) - nightly-8-gpu-qwen35-rocm720 - nightly-8-gpu-mi35x-qwen35-rocm720 + - nightly-8-gpu-mi35x-qwen35-triton-dcp-rocm720 # 8-GPU GLM-5.1 (MI30x + MI35x) - nightly-8-gpu-glm51-rocm720 - nightly-8-gpu-mi35x-glm51-rocm720 diff --git a/.github/workflows/nightly-test-amd.yml b/.github/workflows/nightly-test-amd.yml index ce39c91cd..74737886b 100644 --- a/.github/workflows/nightly-test-amd.yml +++ b/.github/workflows/nightly-test-amd.yml @@ -75,6 +75,7 @@ on: # 8-GPU Qwen 3.5 (MI30x + MI35x) - nightly-8-gpu-qwen35 - nightly-8-gpu-mi35x-qwen35 + - nightly-8-gpu-mi35x-qwen35-triton-dcp # 8-GPU GLM-5.1 (MI30x + MI35x) - nightly-8-gpu-glm51 - nightly-8-gpu-mi35x-glm51 @@ -1514,6 +1515,40 @@ jobs: echo "$(> $GITHUB_STEP_SUMMARY || true exit ${TEST_EXIT_CODE:-0} + nightly-8-gpu-mi35x-qwen35-triton-dcp: + if: (github.repository == 'sgl-project/sglang' || github.event_name == 'pull_request') && (!(inputs.job_filter || inputs.job_select) || (inputs.job_filter || inputs.job_select) == 'all' || contains(format(',{0},', inputs.job_filter || inputs.job_select), ',nightly-8-gpu-mi35x-qwen35-triton-dcp,')) + runs-on: linux-mi35x-gpu-8 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + ref: ${{ inputs.ref || github.sha }} + + - name: Ensure VRAM is clear + run: bash scripts/ci/amd/ensure_vram_clear.sh rocm + + - name: Setup docker + run: | + touch github_summary.md + 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 + bash scripts/ci/amd/amd_ci_exec.sh pip install tabulate + + - name: Accuracy Test MI35x (8-GPU Qwen 3.5 Triton DCP) + 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-accuracy-8-gpu-mi35x-qwen35-triton-dcp --nightly --timeout-per-file 7200 ${{ (github.event_name == 'schedule' || inputs.continue_on_error) && '--continue-on-error' || '' }} || TEST_EXIT_CODE=$? + echo "$(> $GITHUB_STEP_SUMMARY || true + exit ${TEST_EXIT_CODE:-0} + # ============================================================================== # 8-GPU GLM-5.1 (MI30x + MI35x) # ============================================================================== @@ -1841,6 +1876,7 @@ jobs: # 8-GPU Qwen 3.5 (MI30x + MI35x) - nightly-8-gpu-qwen35 - nightly-8-gpu-mi35x-qwen35 + - nightly-8-gpu-mi35x-qwen35-triton-dcp # 8-GPU GLM-5.1 (MI30x + MI35x) - nightly-8-gpu-glm51 - nightly-8-gpu-mi35x-glm51 diff --git a/test/registered/amd/test_qwen3p5_triton_dcp.py b/test/registered/amd/test_qwen3p5_triton_dcp.py index ec2379b9c..4536dd012 100644 --- a/test/registered/amd/test_qwen3p5_triton_dcp.py +++ b/test/registered/amd/test_qwen3p5_triton_dcp.py @@ -14,7 +14,9 @@ from sglang.test.test_utils import ( ) register_amd_ci( - est_time=4800, suite="nightly-amd-accuracy-8-gpu-mi35x-qwen35", nightly=True + est_time=4800, + suite="nightly-amd-accuracy-8-gpu-mi35x-qwen35-triton-dcp", + nightly=True, ) QWEN35_MODEL_PATH = os.environ.get("QWEN3_5_MODEL_PATH", "Qwen/Qwen3.5-397B-A17B-FP8")