diff --git a/.github/workflows/ci-coverage-overview.yml b/.github/workflows/ci-coverage-overview.yml index d05eae40a..5ba709dad 100644 --- a/.github/workflows/ci-coverage-overview.yml +++ b/.github/workflows/ci-coverage-overview.yml @@ -71,7 +71,7 @@ jobs: unit-test-coverage: name: Unit Test Code Coverage if: github.event_name != 'pull_request' - runs-on: 1-gpu-runner + runs-on: 1-gpu-h100 timeout-minutes: 30 steps: - name: Checkout code diff --git a/.github/workflows/diffusion-ci-gt-gen.yml b/.github/workflows/diffusion-ci-gt-gen.yml index 6b6f898df..4bbac2c97 100644 --- a/.github/workflows/diffusion-ci-gt-gen.yml +++ b/.github/workflows/diffusion-ci-gt-gen.yml @@ -25,7 +25,7 @@ permissions: jobs: multimodal-diffusion-gen-1gpu: if: github.repository == 'sgl-project/sglang' - runs-on: 1-gpu-runner + runs-on: 1-gpu-h100 strategy: matrix: part: [0, 1] @@ -59,7 +59,7 @@ jobs: multimodal-diffusion-gen-2gpu: if: github.repository == 'sgl-project/sglang' - runs-on: 2-gpu-runner + runs-on: 2-gpu-h100 strategy: matrix: part: [0, 1] diff --git a/.github/workflows/execute-notebook.yml b/.github/workflows/execute-notebook.yml index b24fe8c81..e53c49a64 100644 --- a/.github/workflows/execute-notebook.yml +++ b/.github/workflows/execute-notebook.yml @@ -28,7 +28,7 @@ jobs: run-all-notebooks: needs: [call-gate] - runs-on: 1-gpu-runner + runs-on: 1-gpu-h100 if: github.event_name != 'pull_request' || needs.call-gate.result == 'success' steps: - name: Checkout code diff --git a/.github/workflows/nightly-test-nvidia.yml b/.github/workflows/nightly-test-nvidia.yml index 8155b573a..98790d8b0 100644 --- a/.github/workflows/nightly-test-nvidia.yml +++ b/.github/workflows/nightly-test-nvidia.yml @@ -12,15 +12,15 @@ on: default: 'all' options: - 'all' - - 'nightly-test-general-1-gpu-runner' + - 'nightly-test-general-1-gpu-h100' - 'nightly-test-general-4-gpu-h100' - 'nightly-test-general-8-gpu-h200' - 'nightly-test-general-8-gpu-h20' - 'nightly-test-general-8-gpu-b200' - - 'nightly-test-text-accuracy-2-gpu-runner' - - 'nightly-test-text-perf-2-gpu-runner' - - 'nightly-test-vlm-accuracy-2-gpu-runner' - - 'nightly-test-vlm-perf-2-gpu-runner' + - 'nightly-test-text-accuracy-2-gpu-h100' + - 'nightly-test-text-perf-2-gpu-h100' + - 'nightly-test-vlm-accuracy-2-gpu-h100' + - 'nightly-test-vlm-perf-2-gpu-h100' - 'nightly-test-multimodal-server-1-gpu' - 'nightly-test-multimodal-server-2-gpu' - 'nightly-test-perf-4-gpu-b200' @@ -50,9 +50,9 @@ env: jobs: # General tests - 1 GPU - nightly-test-general-1-gpu-runner: - if: github.repository == 'sgl-project/sglang' && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-general-1-gpu-runner') - runs-on: 1-gpu-runner + nightly-test-general-1-gpu-h100: + if: github.repository == 'sgl-project/sglang' && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-general-1-gpu-h100') + runs-on: 1-gpu-h100 steps: - name: Checkout code uses: actions/checkout@v4 @@ -280,9 +280,9 @@ jobs: artifact-suffix: ${{ matrix.partition }} # Text model accuracy tests - nightly-test-text-accuracy-2-gpu-runner: - if: github.repository == 'sgl-project/sglang' && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-text-accuracy-2-gpu-runner') - runs-on: 2-gpu-runner + nightly-test-text-accuracy-2-gpu-h100: + if: github.repository == 'sgl-project/sglang' && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-text-accuracy-2-gpu-h100') + runs-on: 2-gpu-h100 steps: - name: Checkout code uses: actions/checkout@v4 @@ -303,9 +303,9 @@ jobs: if: always() # Text model performance tests - nightly-test-text-perf-2-gpu-runner: - if: github.repository == 'sgl-project/sglang' && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-text-perf-2-gpu-runner') - runs-on: 2-gpu-runner + nightly-test-text-perf-2-gpu-h100: + if: github.repository == 'sgl-project/sglang' && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-text-perf-2-gpu-h100') + runs-on: 2-gpu-h100 steps: - name: Checkout code uses: actions/checkout@v4 @@ -321,7 +321,7 @@ jobs: env: TRACE_BASE_URL: https://raw.githubusercontent.com/sglang-bot/sglang-ci-data/main/traces/${{ github.run_id }} PERFETTO_RELAY_URL: ${{ vars.PERFETTO_RELAY_URL }} - GPU_CONFIG: "2-gpu-runner" + GPU_CONFIG: "2-gpu-h100" run: | cd test rm -rf performance_profiles_text_models/ @@ -339,9 +339,9 @@ jobs: if: always() # VLM accuracy tests - nightly-test-vlm-accuracy-2-gpu-runner: - if: github.repository == 'sgl-project/sglang' && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-vlm-accuracy-2-gpu-runner') - runs-on: 2-gpu-runner + nightly-test-vlm-accuracy-2-gpu-h100: + if: github.repository == 'sgl-project/sglang' && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-vlm-accuracy-2-gpu-h100') + runs-on: 2-gpu-h100 steps: - name: Checkout code uses: actions/checkout@v4 @@ -362,9 +362,9 @@ jobs: if: always() # VLM performance tests - nightly-test-vlm-perf-2-gpu-runner: - if: github.repository == 'sgl-project/sglang' && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-vlm-perf-2-gpu-runner') - runs-on: 2-gpu-runner + nightly-test-vlm-perf-2-gpu-h100: + if: github.repository == 'sgl-project/sglang' && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-vlm-perf-2-gpu-h100') + runs-on: 2-gpu-h100 steps: - name: Checkout code uses: actions/checkout@v4 @@ -380,7 +380,7 @@ jobs: env: TRACE_BASE_URL: https://raw.githubusercontent.com/sglang-bot/sglang-ci-data/main/traces/${{ github.run_id }} PERFETTO_RELAY_URL: ${{ vars.PERFETTO_RELAY_URL }} - GPU_CONFIG: "2-gpu-runner" + GPU_CONFIG: "2-gpu-h100" run: | cd test rm -rf performance_profiles_vlms/ @@ -400,7 +400,7 @@ jobs: # diffusion performance tests nightly-test-multimodal-server-1-gpu: if: github.repository == 'sgl-project/sglang' && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-multimodal-server-1-gpu') - runs-on: 1-gpu-runner + runs-on: 1-gpu-h100 strategy: fail-fast: false max-parallel: 5 @@ -421,7 +421,7 @@ jobs: env: SGLANG_DIFFUSION_SLACK_TOKEN: ${{ secrets.SGLANG_DIFFUSION_SLACK_TOKEN }} GITHUB_RUN_ID: ${{ github.run_id }} - GPU_CONFIG: "1-gpu-runner" + GPU_CONFIG: "1-gpu-h100" timeout-minutes: 60 run: | @@ -435,7 +435,7 @@ jobs: if: always() run: | python3 scripts/ci/utils/save_diffusion_metrics.py \ - --gpu-config 1-gpu-runner \ + --gpu-config 1-gpu-h100 \ --run-id ${{ github.run_id }} \ --output python/diffusion-metrics-1gpu-partition-${{ matrix.part }}.json \ --results-json python/diffusion-results.json @@ -456,7 +456,7 @@ jobs: nightly-test-multimodal-server-2-gpu: if: github.repository == 'sgl-project/sglang' && (inputs.job_filter == '' || inputs.job_filter == 'all' || inputs.job_filter == 'nightly-test-multimodal-server-2-gpu') - runs-on: 2-gpu-runner + runs-on: 2-gpu-h100 strategy: fail-fast: false max-parallel: 5 @@ -477,7 +477,7 @@ jobs: env: SGLANG_DIFFUSION_SLACK_TOKEN: ${{ secrets.SGLANG_DIFFUSION_SLACK_TOKEN }} GITHUB_RUN_ID: ${{ github.run_id }} - GPU_CONFIG: "2-gpu-runner" + GPU_CONFIG: "2-gpu-h100" timeout-minutes: 60 run: | @@ -491,7 +491,7 @@ jobs: if: always() run: | python3 scripts/ci/utils/save_diffusion_metrics.py \ - --gpu-config 2-gpu-runner \ + --gpu-config 2-gpu-h100 \ --run-id ${{ github.run_id }} \ --output python/diffusion-metrics-2gpu-partition-${{ matrix.part }}.json \ --results-json python/diffusion-results.json @@ -608,15 +608,15 @@ jobs: check-all-jobs: if: github.repository == 'sgl-project/sglang' && always() needs: - - nightly-test-general-1-gpu-runner + - nightly-test-general-1-gpu-h100 - nightly-test-general-4-gpu-h100 - nightly-test-general-8-gpu-h200 - nightly-test-general-8-gpu-h20 - nightly-test-general-8-gpu-b200 - - nightly-test-text-accuracy-2-gpu-runner - - nightly-test-text-perf-2-gpu-runner - - nightly-test-vlm-accuracy-2-gpu-runner - - nightly-test-vlm-perf-2-gpu-runner + - nightly-test-text-accuracy-2-gpu-h100 + - nightly-test-text-perf-2-gpu-h100 + - nightly-test-vlm-accuracy-2-gpu-h100 + - nightly-test-vlm-perf-2-gpu-h100 - nightly-test-multimodal-server-1-gpu - nightly-test-multimodal-server-2-gpu - nightly-test-perf-4-gpu-b200 diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index 18102043d..4af20e1ab 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -493,7 +493,7 @@ jobs: inputs.test_parallel_dispatch != true && !inputs.target_stage && needs.check-changes.outputs.sgl_kernel == 'true' - runs-on: 1-gpu-runner + runs-on: 1-gpu-h100 timeout-minutes: 240 steps: - uses: actions/checkout@v4 @@ -531,7 +531,7 @@ jobs: inputs.test_parallel_dispatch != true && !inputs.target_stage && needs.check-changes.outputs.sgl_kernel == 'true' - runs-on: 1-gpu-runner + runs-on: 1-gpu-h100 timeout-minutes: 240 steps: - uses: actions/checkout@v4 @@ -569,7 +569,7 @@ jobs: inputs.test_parallel_dispatch != true && !inputs.target_stage && needs.check-changes.outputs.sgl_kernel == 'true' - runs-on: 1-gpu-runner + runs-on: 1-gpu-h100 timeout-minutes: 240 env: CI: true @@ -692,7 +692,7 @@ jobs: inputs.test_parallel_dispatch != true && !inputs.target_stage && needs.check-changes.outputs.jit_kernel == 'true' - runs-on: 1-gpu-runner + runs-on: 1-gpu-h100 timeout-minutes: 240 steps: - uses: actions/checkout@v4 @@ -715,7 +715,7 @@ jobs: if: | github.event_name == 'schedule' && needs.check-changes.outputs.jit_kernel == 'true' - runs-on: 1-gpu-runner + runs-on: 1-gpu-h100 timeout-minutes: 240 env: SGLANG_JIT_KERNEL_RUN_FULL_TESTS: "1" @@ -743,7 +743,7 @@ jobs: inputs.test_parallel_dispatch != true && !inputs.target_stage && needs.check-changes.outputs.jit_kernel == 'true' - runs-on: 1-gpu-runner + runs-on: 1-gpu-h100 timeout-minutes: 240 env: CI: true @@ -945,7 +945,7 @@ jobs: ((needs.check-changes.outputs.main_package == 'true') || (needs.check-changes.outputs.sgl_kernel == 'true')) ) ) - runs-on: 1-gpu-runner + runs-on: 1-gpu-h100 timeout-minutes: 240 strategy: fail-fast: false @@ -996,7 +996,7 @@ jobs: ((needs.check-changes.outputs.main_package == 'true') || (needs.check-changes.outputs.sgl_kernel == 'true')) ) ) - runs-on: 2-gpu-runner + runs-on: 2-gpu-h100 timeout-minutes: 240 strategy: fail-fast: false @@ -1101,7 +1101,7 @@ jobs: needs.check-changes.outputs.multimodal_gen == 'true' ) ) - runs-on: 1-gpu-runner + runs-on: 1-gpu-h100 timeout-minutes: 240 strategy: fail-fast: false @@ -1155,7 +1155,7 @@ jobs: needs.check-changes.outputs.multimodal_gen == 'true' ) ) - runs-on: 2-gpu-runner + runs-on: 2-gpu-h100 timeout-minutes: 240 strategy: fail-fast: false @@ -1210,7 +1210,7 @@ jobs: needs.check-changes.outputs.multimodal_gen == 'true' ) ) - runs-on: 1-gpu-runner + runs-on: 1-gpu-h100 timeout-minutes: 120 steps: - name: Checkout code diff --git a/.github/workflows/release-docs.yml b/.github/workflows/release-docs.yml index 18fa650f4..eefd15cd0 100644 --- a/.github/workflows/release-docs.yml +++ b/.github/workflows/release-docs.yml @@ -21,7 +21,7 @@ env: jobs: execute-and-deploy: - runs-on: 1-gpu-runner + runs-on: 1-gpu-h100 if: github.repository == 'sgl-project/sglang' steps: - name: Checkout code diff --git a/.github/workflows/rerun-ut.yml b/.github/workflows/rerun-ut.yml index ac48cb817..dd544b509 100644 --- a/.github/workflows/rerun-ut.yml +++ b/.github/workflows/rerun-ut.yml @@ -13,9 +13,9 @@ on: required: true type: choice options: - - 1-gpu-runner + - 1-gpu-h100 - 1-gpu-5090 - - 2-gpu-runner + - 2-gpu-h100 - 4-gpu-h100 - 4-gpu-a10 - 4-gpu-b200 diff --git a/docs/developer_guide/setup_github_runner.md b/docs/developer_guide/setup_github_runner.md index 6a0e92cdc..36342c8a6 100644 --- a/docs/developer_guide/setup_github_runner.md +++ b/docs/developer_guide/setup_github_runner.md @@ -31,7 +31,7 @@ Then follow https://github.com/sgl-project/sglang/settings/actions/runners/new?a **Notes** - Do not need to specify the runner group -- Give it a name (e.g., `test-sgl-gpu-0`) and some labels (e.g., `1-gpu-runner`). The labels can be edited later in Github Settings. +- Give it a name (e.g., `test-sgl-gpu-0`) and some labels (e.g., `1-gpu-h100`). The labels can be edited later in Github Settings. - Do not need to change the work folder. ### Step 3: Run the runner by `run.sh` diff --git a/scripts/ci/utils/save_diffusion_metrics.py b/scripts/ci/utils/save_diffusion_metrics.py index 3e9c979e7..6df70c732 100755 --- a/scripts/ci/utils/save_diffusion_metrics.py +++ b/scripts/ci/utils/save_diffusion_metrics.py @@ -6,7 +6,7 @@ with metadata for the performance dashboard. Usage: python3 scripts/ci/utils/save_diffusion_metrics.py \ - --gpu-config 1-gpu-runner \ + --gpu-config 1-gpu-h100 \ --run-id 12345678 \ --output test/diffusion-metrics-1gpu.json \ --results-json test/diffusion-results.json @@ -129,7 +129,7 @@ def main(): parser.add_argument( "--gpu-config", required=True, - help="GPU configuration (e.g., 1-gpu-runner, 2-gpu-runner)", + help="GPU configuration (e.g., 1-gpu-h100, 2-gpu-h100)", ) parser.add_argument( "--run-id", diff --git a/scripts/ci/utils/slash_command_handler.py b/scripts/ci/utils/slash_command_handler.py index 65c44ccf9..ea1c8f4a4 100644 --- a/scripts/ci/utils/slash_command_handler.py +++ b/scripts/ci/utils/slash_command_handler.py @@ -416,8 +416,8 @@ CUDA_SUITE_TO_RUNNER = { "stage-a-test-small-1-gpu": "1-gpu-5090", "stage-a-cpu-only": "ubuntu-latest", "stage-b-test-small-1-gpu": "1-gpu-5090", - "stage-b-test-large-1-gpu": "1-gpu-runner", - "stage-b-test-large-2-gpu": "2-gpu-runner", + "stage-b-test-large-1-gpu": "1-gpu-h100", + "stage-b-test-large-2-gpu": "2-gpu-h100", "stage-b-test-4-gpu-b200": "4-gpu-b200", "stage-c-test-4-gpu-h100": "4-gpu-h100", "stage-c-test-8-gpu-h200": "8-gpu-h200", diff --git a/test/README.md b/test/README.md index e7621d194..09805d3c2 100644 --- a/test/README.md +++ b/test/README.md @@ -75,7 +75,7 @@ When adding 1-GPU tests, choose the appropriate suite based on hardware compatib | `stage-a-test-small-1-gpu` | `1-gpu-5090` | RTX 5090 (32GB, SM120) | Stage A per-commit smoke on 5090 (CUDA) | | `stage-a-test-small-1-gpu-amd` | AMD CI runners | ROCm | Stage A per-commit smoke (AMD) | | `stage-b-test-small-1-gpu` | `1-gpu-5090` | RTX 5090 (32GB, SM120) | 5090-compatible tests (preferred) | -| `stage-b-test-large-1-gpu` | `1-gpu-runner` | H100 (80GB, SM90) | Large models or 5090-incompatible tests | +| `stage-b-test-large-1-gpu` | `1-gpu-h100` | H100 (80GB, SM90) | Large models or 5090-incompatible tests | **Use `stage-b-test-small-1-gpu` (5090) whenever possible** - this is the preferred suite for most 1-GPU tests.