From 04a10c9bc2ef92708f34dc223bb68a9cec819acf Mon Sep 17 00:00:00 2001 From: YC Tseng Date: Fri, 23 Jan 2026 10:45:05 +0800 Subject: [PATCH] [AMD] CI - migrate perf test and fix stage-b-test-1-gpu-amd (#17340) Co-authored-by: Bingxu Chen Co-authored-by: bingxche Co-authored-by: michaelzhang-ai --- .github/workflows/pr-test-amd.yml | 191 +++--------------- scripts/ci/slash_command_handler.py | 6 +- .../eval/test_eval_accuracy_large.py | 3 +- .../eval/test_moe_eval_accuracy_large.py | 3 +- .../models/test_compressed_tensors_models.py | 8 +- .../function_call/test_tool_choice.py | 3 +- .../perf/test_bench_one_batch_1gpu.py | 3 +- .../perf/test_bench_one_batch_2gpu.py | 3 +- .../perf/test_bench_serving_1gpu_large.py | 5 +- .../perf/test_bench_serving_1gpu_part1.py | 3 +- .../perf/test_bench_serving_1gpu_part2.py | 3 +- .../perf/test_bench_serving_2gpu.py | 3 +- test/registered/perf/test_vlm_perf_5090.py | 3 +- test/run_suite.py | 5 + 14 files changed, 68 insertions(+), 174 deletions(-) diff --git a/.github/workflows/pr-test-amd.yml b/.github/workflows/pr-test-amd.yml index ca63b03bc..f59970f6c 100644 --- a/.github/workflows/pr-test-amd.yml +++ b/.github/workflows/pr-test-amd.yml @@ -639,12 +639,12 @@ jobs: run: | bash scripts/ci/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite stage-c-test-large-8-gpu-amd-mi35x --auto-partition-id ${{ matrix.part }} --auto-partition-size 2 --timeout-per-file 3600 - performance-test-1-gpu-part-1-amd: - needs: [check-changes, stage-a-test-1-amd] + stage-b-test-small-1-gpu-performance-amd: + needs: [check-changes, call-gate, stage-a-test-1-amd] if: | always() && ( - (inputs.target_stage == 'performance-test-1-gpu-part-1-amd') || + (inputs.target_stage == 'stage-b-test-small-1-gpu-performance-amd') || ( !inputs.target_stage && (!failure() && !cancelled()) && @@ -673,39 +673,17 @@ jobs: - name: Install dependencies run: bash scripts/ci/amd_ci_install_dependency.sh - - name: Benchmark single latency - timeout-minutes: 20 + - name: Run test + timeout-minutes: 30 run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test/registered/perf python3 -m unittest test_bench_one_batch_1gpu.TestBenchOneBatch1GPU.test_bs1_small - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test/registered/perf python3 -m unittest test_bench_one_batch_1gpu.TestBenchOneBatch1GPU.test_bs1_default + bash scripts/ci/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite stage-b-test-small-1-gpu-performance-amd --timeout-per-file 1200 - - name: Benchmark online latency - timeout-minutes: 15 - run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test/registered/perf python3 -m unittest test_bench_serving_1gpu_part1.TestBenchServing1GPUPart1.test_online_latency_default - - - name: Benchmark online latency (LoRA) - timeout-minutes: 10 - run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test/registered/perf python3 -m unittest test_bench_serving_1gpu_part1.TestBenchServing1GPUPart1.test_lora_online_latency - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test/registered/perf python3 -m unittest test_bench_serving_1gpu_part1.TestBenchServing1GPUPart1.test_lora_online_latency_with_concurrent_adapter_updates - - - name: Benchmark offline throughput - timeout-minutes: 15 - run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test/registered/perf python3 -m unittest test_bench_serving_1gpu_part1.TestBenchServing1GPUPart1.test_offline_throughput_default - - - name: Benchmark offline throughput (Non-streaming, small batch size) - timeout-minutes: 15 - run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test/registered/perf python3 -m unittest test_bench_serving_1gpu_part1.TestBenchServing1GPUPart1.test_offline_throughput_non_stream_small_batch_size - - performance-test-1-gpu-part-2-amd: - needs: [check-changes, stage-a-test-1-amd] + stage-b-test-large-1-gpu-performance-amd: + needs: [check-changes, call-gate, stage-a-test-1-amd] if: | always() && ( - (inputs.target_stage == 'performance-test-1-gpu-part-2-amd') || + (inputs.target_stage == 'stage-b-test-large-1-gpu-performance-amd') || ( !inputs.target_stage && (!failure() && !cancelled()) && @@ -716,6 +694,7 @@ jobs: fail-fast: false matrix: runner: [linux-mi325-gpu-1] + part: [0, 1] runs-on: ${{matrix.runner}} steps: - name: Checkout code @@ -734,91 +713,17 @@ jobs: - name: Install dependencies run: bash scripts/ci/amd_ci_install_dependency.sh - - name: Benchmark offline throughput (w/o RadixAttention) - timeout-minutes: 15 + - name: Run test + timeout-minutes: 30 run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test/registered/perf python3 -m unittest test_bench_serving_1gpu_part1.TestBenchServing1GPUPart1.test_offline_throughput_without_radix_cache + bash scripts/ci/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite stage-b-test-large-1-gpu-performance-amd --auto-partition-id ${{ matrix.part }} --auto-partition-size 2 --timeout-per-file 1200 - - name: Benchmark offline throughput (w/ Triton) - timeout-minutes: 15 - run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test/registered/perf python3 -m unittest test_bench_serving_1gpu_part1.TestBenchServing1GPUPart1.test_offline_throughput_with_triton_attention_backend - - - name: Benchmark offline throughput (w/ FP8) - timeout-minutes: 15 - run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test/registered/perf python3 -m unittest test_bench_serving_1gpu_large.TestBenchServing1GPULarge.test_offline_throughput_default_fp8 - - - name: Benchmark VLM offline throughput - timeout-minutes: 10 - run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test/registered/perf python3 -m unittest test_bench_serving_1gpu_part2.TestBenchServing1GPUPart2.test_vlm_offline_throughput - - - name: Benchmark VLM online latency - timeout-minutes: 10 - run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test/registered/perf python3 -m unittest test_bench_serving_1gpu_part2.TestBenchServing1GPUPart2.test_vlm_online_latency - - performance-test-1-gpu-part-3-amd: - needs: [check-changes, stage-a-test-1-amd] + stage-b-test-large-2-gpu-performance-amd: + needs: [check-changes, call-gate, stage-a-test-1-amd] if: | always() && ( - (inputs.target_stage == 'performance-test-1-gpu-part-3-amd') || - ( - !inputs.target_stage && - (!failure() && !cancelled()) && - ((needs.check-changes.outputs.main_package == 'true') || (needs.check-changes.outputs.sgl_kernel == 'true')) - ) - ) - strategy: - fail-fast: false - matrix: - runner: [linux-mi325-gpu-1] - 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/ensure_vram_clear.sh rocm - - - name: Start CI container - run: bash scripts/ci/amd_ci_start_container.sh - env: - GITHUB_WORKSPACE: ${{ github.workspace }} - - - name: Install dependencies - run: bash scripts/ci/amd_ci_install_dependency.sh - - - name: Benchmark Scores online latency and throughput - timeout-minutes: 10 - run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test/registered/perf python3 -m unittest test_bench_serving_1gpu_part2.TestBenchServing1GPUPart2.test_score_api_latency_throughput - - - name: Benchmark Scores online latency and throughput (batch size scaling) - timeout-minutes: 10 - run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test/registered/perf python3 -m unittest test_bench_serving_1gpu_part2.TestBenchServing1GPUPart2.test_score_api_batch_scaling - - - name: Benchmark Embeddings online latency and throughput - timeout-minutes: 10 - run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test/registered/perf python3 -m unittest test_bench_serving_1gpu_part2.TestBenchServing1GPUPart2.test_embeddings_api_latency_throughput - - - name: Benchmark Embeddings online latency and throughput (batch size scaling) - timeout-minutes: 10 - run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test/registered/perf python3 -m unittest test_bench_serving_1gpu_part2.TestBenchServing1GPUPart2.test_embeddings_api_batch_scaling - - performance-test-2-gpu-amd: - needs: [check-changes, stage-a-test-1-amd] - if: | - always() && - ( - (inputs.target_stage == 'performance-test-2-gpu-amd') || + (inputs.target_stage == 'stage-b-test-large-2-gpu-performance-amd') || ( !inputs.target_stage && (!failure() && !cancelled()) && @@ -847,47 +752,17 @@ jobs: - name: Install dependencies run: bash scripts/ci/amd_ci_install_dependency.sh - - name: Benchmark dummy grok (TP=2) + - name: Run test timeout-minutes: 30 run: | - bash scripts/ci/amd_ci_exec.sh python3 models/test_dummy_grok_models.py + bash scripts/ci/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite stage-b-test-large-2-gpu-performance-amd --timeout-per-file 1200 - - name: Benchmark single latency (TP=2) - timeout-minutes: 25 - run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test/registered/perf python3 -m unittest test_bench_one_batch_2gpu.TestBenchOneBatch2GPU.test_moe_tp2_bs1 - - - name: Benchmark single latency + torch.compile (TP=2) - timeout-minutes: 25 - run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test/registered/perf python3 -m unittest test_bench_one_batch_2gpu.TestBenchOneBatch2GPU.test_torch_compile_tp2_bs1 - - - name: Benchmark offline throughput (TP=2) - timeout-minutes: 25 - run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test/registered/perf python3 -m unittest test_bench_serving_2gpu.TestBenchServing2GPU.test_moe_offline_throughput_default - - - name: Benchmark offline throughput (w/o RadixAttention) (TP=2) - timeout-minutes: 25 - run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test/registered/perf python3 -m unittest test_bench_serving_2gpu.TestBenchServing2GPU.test_moe_offline_throughput_without_radix_cache - - - name: Benchmark offline PP decode throughput (PP=2) - timeout-minutes: 10 - run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test/registered/perf python3 -m unittest test_bench_serving_2gpu.TestBenchServing2GPU.test_pp_offline_throughput_default_decode - - - name: Benchmark offline PP prefill throughput (PP=2) - timeout-minutes: 10 - run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test/registered/perf python3 -m unittest test_bench_serving_2gpu.TestBenchServing2GPU.test_pp_long_context_prefill - - accuracy-test-1-gpu-amd: + stage-b-test-small-1-gpu-accuracy-amd: needs: [check-changes, stage-a-test-1-amd] if: | always() && ( - (inputs.target_stage == 'accuracy-test-1-gpu-amd') || + (inputs.target_stage == 'stage-b-test-small-1-gpu-accuracy-amd') || ( !inputs.target_stage && (!failure() && !cancelled()) && @@ -916,18 +791,17 @@ jobs: - name: Install dependencies run: bash scripts/ci/amd_ci_install_dependency.sh - - name: Evaluate Accuracy + - name: Run test timeout-minutes: 30 run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test/registered/eval -e SGLANG_USE_AITER=0 python3 test_eval_accuracy_large.py + bash scripts/ci/amd_ci_exec.sh -w "/sglang-checkout/test" -e SGLANG_USE_AITER=0 python3 run_suite.py --hw amd --suite stage-b-test-small-1-gpu-accuracy-amd --timeout-per-file 1800 - accuracy-test-2-gpu-amd: - needs: [check-changes, accuracy-test-1-gpu-amd] - # Temporarily disabled - uncomment when ready to re-enable (tracked here: https://github.com/sgl-project/sglang/issues/13107) + stage-b-test-large-2-gpu-accuracy-amd: + needs: [check-changes, stage-a-test-1-amd] if: | always() && ( - (inputs.target_stage == 'accuracy-test-2-gpu-amd') || + (inputs.target_stage == 'stage-b-test-large-2-gpu-accuracy-amd') || ( !inputs.target_stage && (!failure() && !cancelled()) && @@ -956,10 +830,10 @@ jobs: - name: Install dependencies run: bash scripts/ci/amd_ci_install_dependency.sh - - name: Evaluate accuracy (TP=2) + - name: Run test timeout-minutes: 30 run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test/registered/eval -e SGLANG_USE_AITER_AR=0 -e SGLANG_USE_AITER=0 -e HF_HUB_ENABLE_HF_TRANSFER=0 python3 test_moe_eval_accuracy_large.py + bash scripts/ci/amd_ci_exec.sh -w "/sglang-checkout/test" -e SGLANG_USE_AITER_AR=0 -e SGLANG_USE_AITER=0 -e HF_HUB_ENABLE_HF_TRANSFER=0 python3 run_suite.py --hw amd --suite stage-b-test-large-2-gpu-accuracy-amd --timeout-per-file 1800 pr-test-amd-finish: needs: @@ -975,14 +849,13 @@ jobs: stage-b-test-small-1-gpu-amd, stage-b-test-small-1-gpu-amd-mi35x, stage-b-test-large-2-gpu-amd, + stage-b-test-small-1-gpu-performance-amd, + stage-b-test-large-1-gpu-performance-amd, + stage-b-test-large-2-gpu-performance-amd, + stage-b-test-small-1-gpu-accuracy-amd, + stage-b-test-large-2-gpu-accuracy-amd, stage-c-test-large-8-gpu-amd, stage-c-test-large-8-gpu-amd-mi35x, - performance-test-1-gpu-part-1-amd, - performance-test-1-gpu-part-2-amd, - performance-test-1-gpu-part-3-amd, - performance-test-2-gpu-amd, - accuracy-test-1-gpu-amd, - accuracy-test-2-gpu-amd, ] if: always() runs-on: ubuntu-latest diff --git a/scripts/ci/slash_command_handler.py b/scripts/ci/slash_command_handler.py index 18b6e04f5..e787b35a9 100644 --- a/scripts/ci/slash_command_handler.py +++ b/scripts/ci/slash_command_handler.py @@ -257,13 +257,13 @@ def handle_rerun_stage( "stage-b-test-small-1-gpu-amd", "stage-b-test-small-1-gpu-amd-mi35x", "stage-b-test-large-2-gpu-amd", + "stage-b-test-small-1-gpu-performance-amd", + "stage-b-test-large-1-gpu-performance-amd", + "stage-b-test-large-2-gpu-performance-amd", "stage-c-test-large-8-gpu-amd-mi35x", "unit-test-backend-1-gpu-amd", "unit-test-backend-2-gpu-amd", "unit-test-backend-8-gpu-amd", - "performance-test-1-gpu-part-1-amd", - "performance-test-1-gpu-part-2-amd", - "performance-test-2-gpu-amd", "accuracy-test-1-gpu-amd", "accuracy-test-2-gpu-amd", ] diff --git a/test/registered/eval/test_eval_accuracy_large.py b/test/registered/eval/test_eval_accuracy_large.py index 4de8f61fa..901280b50 100644 --- a/test/registered/eval/test_eval_accuracy_large.py +++ b/test/registered/eval/test_eval_accuracy_large.py @@ -7,7 +7,7 @@ import unittest from types import SimpleNamespace from sglang.srt.utils import kill_process_tree -from sglang.test.ci.ci_register import register_cuda_ci +from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci from sglang.test.run_eval import run_eval from sglang.test.test_utils import ( DEFAULT_MODEL_NAME_FOR_TEST, @@ -20,6 +20,7 @@ from sglang.test.test_utils import ( ) register_cuda_ci(est_time=300, suite="stage-b-test-small-1-gpu-accuracy") +register_amd_ci(est_time=300, suite="stage-b-test-small-1-gpu-accuracy-amd") class TestEvalAccuracyLarge(CustomTestCase): diff --git a/test/registered/eval/test_moe_eval_accuracy_large.py b/test/registered/eval/test_moe_eval_accuracy_large.py index 76d1bf185..f6afaf090 100644 --- a/test/registered/eval/test_moe_eval_accuracy_large.py +++ b/test/registered/eval/test_moe_eval_accuracy_large.py @@ -7,7 +7,7 @@ import unittest from types import SimpleNamespace from sglang.srt.utils import kill_process_tree -from sglang.test.ci.ci_register import register_cuda_ci +from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci from sglang.test.run_eval import run_eval from sglang.test.test_utils import ( DEFAULT_MOE_MODEL_NAME_FOR_TEST, @@ -20,6 +20,7 @@ from sglang.test.test_utils import ( ) register_cuda_ci(est_time=500, suite="stage-b-test-large-2-gpu-accuracy") +register_amd_ci(est_time=500, suite="stage-b-test-large-2-gpu-accuracy-amd") class TestMoEEvalAccuracyLarge(CustomTestCase): diff --git a/test/registered/models/test_compressed_tensors_models.py b/test/registered/models/test_compressed_tensors_models.py index 7752d0741..c733530ab 100644 --- a/test/registered/models/test_compressed_tensors_models.py +++ b/test/registered/models/test_compressed_tensors_models.py @@ -3,7 +3,7 @@ import unittest from types import SimpleNamespace -from sglang.srt.utils import kill_process_tree +from sglang.srt.utils import is_hip, kill_process_tree from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci from sglang.test.few_shot_gsm8k import run_eval from sglang.test.test_utils import ( @@ -45,7 +45,11 @@ class TestCompressedTensorsLlama3FP8(CustomTestCase): ) metrics = run_eval(args) print(f"{metrics=}") - self.assertGreaterEqual(metrics["accuracy"], 0.45) + if is_hip(): + # Lower threshold for AMD because FP8 dtype differs (fp8_fnuz) + self.assertGreaterEqual(metrics["accuracy"], 0.40) + else: + self.assertGreaterEqual(metrics["accuracy"], 0.45) if __name__ == "__main__": diff --git a/test/registered/openai_server/function_call/test_tool_choice.py b/test/registered/openai_server/function_call/test_tool_choice.py index 6d05c0066..6f490ae53 100644 --- a/test/registered/openai_server/function_call/test_tool_choice.py +++ b/test/registered/openai_server/function_call/test_tool_choice.py @@ -12,7 +12,7 @@ import unittest import openai -from sglang.srt.utils import kill_process_tree +from sglang.srt.utils import is_hip, kill_process_tree from sglang.srt.utils.hf_transformers_utils import get_tokenizer from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci from sglang.test.test_utils import ( @@ -855,6 +855,7 @@ class TestToolChoiceMistral(TestToolChoiceLlama32): # cls.tokenizer = get_tokenizer(cls.model) +@unittest.skipIf(is_hip(), "Disabled for AMD") class TestToolChoiceLfm2(TestToolChoiceLlama32): """Test tool_choice functionality with LiquidAI LFM2 model""" diff --git a/test/registered/perf/test_bench_one_batch_1gpu.py b/test/registered/perf/test_bench_one_batch_1gpu.py index fbcc2ec05..cdb0d6a34 100644 --- a/test/registered/perf/test_bench_one_batch_1gpu.py +++ b/test/registered/perf/test_bench_one_batch_1gpu.py @@ -1,6 +1,6 @@ import unittest -from sglang.test.ci.ci_register import register_cuda_ci +from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci from sglang.test.test_utils import ( DEFAULT_MODEL_NAME_FOR_TEST, DEFAULT_SMALL_MODEL_NAME_FOR_TEST, @@ -12,6 +12,7 @@ from sglang.test.test_utils import ( ) register_cuda_ci(est_time=120, suite="stage-b-test-large-1-gpu-performance") +register_amd_ci(est_time=120, suite="stage-b-test-large-1-gpu-performance-amd") class TestBenchOneBatch1GPU(CustomTestCase): diff --git a/test/registered/perf/test_bench_one_batch_2gpu.py b/test/registered/perf/test_bench_one_batch_2gpu.py index 9af873bea..d6f1c2689 100644 --- a/test/registered/perf/test_bench_one_batch_2gpu.py +++ b/test/registered/perf/test_bench_one_batch_2gpu.py @@ -1,6 +1,6 @@ import unittest -from sglang.test.ci.ci_register import register_cuda_ci +from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci from sglang.test.test_utils import ( DEFAULT_MODEL_NAME_FOR_TEST, DEFAULT_MOE_MODEL_NAME_FOR_TEST, @@ -12,6 +12,7 @@ from sglang.test.test_utils import ( ) register_cuda_ci(est_time=180, suite="stage-b-test-large-2-gpu-performance") +register_amd_ci(est_time=630, suite="stage-b-test-large-2-gpu-performance-amd") class TestBenchOneBatch2GPU(CustomTestCase): diff --git a/test/registered/perf/test_bench_serving_1gpu_large.py b/test/registered/perf/test_bench_serving_1gpu_large.py index 68860a015..2671bde7e 100644 --- a/test/registered/perf/test_bench_serving_1gpu_large.py +++ b/test/registered/perf/test_bench_serving_1gpu_large.py @@ -4,7 +4,8 @@ Performance tests for single GPU that need H200 (80GB) - FP8 and EAGLE tests. import unittest -from sglang.test.ci.ci_register import register_cuda_ci +from sglang.srt.utils import is_hip +from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci from sglang.test.test_utils import ( DEFAULT_DRAFT_MODEL_EAGLE, DEFAULT_MODEL_NAME_FOR_TEST_FP8, @@ -17,6 +18,7 @@ from sglang.test.test_utils import ( ) register_cuda_ci(est_time=300, suite="stage-b-test-large-1-gpu-performance") +register_amd_ci(est_time=300, suite="stage-b-test-large-1-gpu-performance-amd") class TestBenchServing1GPULarge(CustomTestCase): @@ -38,6 +40,7 @@ class TestBenchServing1GPULarge(CustomTestCase): else: self.assertGreater(res["output_throughput"], 4300) + @unittest.skipIf(is_hip(), "Skip Eagle test for ROCm") def test_online_latency_eagle(self): res = run_bench_serving( model=DEFAULT_TARGET_MODEL_EAGLE, diff --git a/test/registered/perf/test_bench_serving_1gpu_part1.py b/test/registered/perf/test_bench_serving_1gpu_part1.py index 76c7e7e6b..aee04425f 100644 --- a/test/registered/perf/test_bench_serving_1gpu_part1.py +++ b/test/registered/perf/test_bench_serving_1gpu_part1.py @@ -9,7 +9,7 @@ import unittest import requests -from sglang.test.ci.ci_register import register_cuda_ci +from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci from sglang.test.test_utils import ( DEFAULT_MODEL_NAME_FOR_TEST, CustomTestCase, @@ -20,6 +20,7 @@ from sglang.test.test_utils import ( ) register_cuda_ci(est_time=1000, suite="stage-b-test-large-1-gpu-performance") +register_amd_ci(est_time=1100, suite="stage-b-test-large-1-gpu-performance-amd") class TestBenchServing1GPUPart1(CustomTestCase): diff --git a/test/registered/perf/test_bench_serving_1gpu_part2.py b/test/registered/perf/test_bench_serving_1gpu_part2.py index d33522233..24a02b3fd 100644 --- a/test/registered/perf/test_bench_serving_1gpu_part2.py +++ b/test/registered/perf/test_bench_serving_1gpu_part2.py @@ -5,7 +5,7 @@ Works on 5090 (32GB). import unittest -from sglang.test.ci.ci_register import register_cuda_ci +from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci from sglang.test.test_utils import ( DEFAULT_SMALL_EMBEDDING_MODEL_NAME_FOR_TEST, DEFAULT_SMALL_MODEL_NAME_FOR_TEST_SCORE, @@ -20,6 +20,7 @@ from sglang.test.test_utils import ( ) register_cuda_ci(est_time=900, suite="stage-b-test-large-1-gpu-performance") +register_amd_ci(est_time=900, suite="stage-b-test-large-1-gpu-performance-amd") class TestBenchServing1GPUPart2(CustomTestCase): diff --git a/test/registered/perf/test_bench_serving_2gpu.py b/test/registered/perf/test_bench_serving_2gpu.py index 51c7358f0..4c4bb8214 100644 --- a/test/registered/perf/test_bench_serving_2gpu.py +++ b/test/registered/perf/test_bench_serving_2gpu.py @@ -4,7 +4,7 @@ Performance tests for 2-GPU that need large GPUs (H200 80GB) - MoE and Pipeline import unittest -from sglang.test.ci.ci_register import register_cuda_ci +from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci from sglang.test.test_utils import ( DEFAULT_MOE_MODEL_NAME_FOR_TEST, CustomTestCase, @@ -15,6 +15,7 @@ from sglang.test.test_utils import ( ) register_cuda_ci(est_time=600, suite="stage-b-test-large-2-gpu-performance") +register_amd_ci(est_time=600, suite="stage-b-test-large-2-gpu-performance-amd") class TestBenchServing2GPU(CustomTestCase): diff --git a/test/registered/perf/test_vlm_perf_5090.py b/test/registered/perf/test_vlm_perf_5090.py index 772dc90d0..414329c95 100644 --- a/test/registered/perf/test_vlm_perf_5090.py +++ b/test/registered/perf/test_vlm_perf_5090.py @@ -4,7 +4,7 @@ VLM Performance tests that work on 5090 (32GB) - VLM offline throughput and onli import unittest -from sglang.test.ci.ci_register import register_cuda_ci +from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci from sglang.test.test_utils import ( DEFAULT_SMALL_VLM_MODEL_NAME_FOR_TEST, CustomTestCase, @@ -14,6 +14,7 @@ from sglang.test.test_utils import ( ) register_cuda_ci(est_time=600, suite="stage-b-test-small-1-gpu-performance") +register_amd_ci(est_time=500, suite="stage-b-test-small-1-gpu-performance-amd") class TestVLMPerf5090(CustomTestCase): diff --git a/test/run_suite.py b/test/run_suite.py index 6708bf14e..6c08f9ca9 100644 --- a/test/run_suite.py +++ b/test/run_suite.py @@ -23,6 +23,11 @@ PER_COMMIT_SUITES = { "stage-b-test-small-1-gpu-amd", "stage-b-test-small-1-gpu-amd-mi35x", "stage-b-test-large-2-gpu-amd", + "stage-b-test-small-1-gpu-performance-amd", + "stage-b-test-large-1-gpu-performance-amd", + "stage-b-test-large-2-gpu-performance-amd", + "stage-b-test-small-1-gpu-accuracy-amd", + "stage-b-test-large-2-gpu-accuracy-amd", "stage-c-test-large-8-gpu-amd-mi35x", ], HWBackend.CUDA: [