[CI] Rename basic CI stage-a/b/c -> base-a/b/c for symmetry with extra CI (#25420)

This commit is contained in:
Liangsheng Yin
2026-05-15 18:26:55 -07:00
committed by GitHub
parent d0c38329b2
commit b7d62bd724
473 changed files with 745 additions and 746 deletions
+12 -12
View File
@@ -48,14 +48,14 @@ python3 test/registered/core/test_srt_endpoint.py TestSRTEndpoint.test_simple_de
python3 python/sglang/jit_kernel/tests/test_add_constant.py
# Run a suite
python3 test/run_suite.py --hw cpu --suite stage-a-test-cpu
python3 test/run_suite.py --hw cuda --suite stage-a-test-1-gpu-small
python3 test/run_suite.py --hw cpu --suite base-a-test-cpu
python3 test/run_suite.py --hw cuda --suite base-a-test-1-gpu-small
# Nightly tests
python3 test/run_suite.py --hw cuda --suite nightly-1-gpu --nightly
# With auto-partitioning (for parallel CI jobs)
python3 test/run_suite.py --hw cuda --suite stage-b-test-1-gpu-small \
python3 test/run_suite.py --hw cuda --suite base-b-test-1-gpu-small \
--auto-partition-id 0 --auto-partition-size 4
```
@@ -66,7 +66,7 @@ Every CI-discovered test file must call a registration function at module level:
```python
from sglang.test.ci.ci_register import register_cuda_ci
register_cuda_ci(est_time=80, stage="stage-b", runner_config="1-gpu-small")
register_cuda_ci(est_time=80, stage="base-b", runner_config="1-gpu-small")
```
Parameters: `est_time` (seconds), `stage` + `runner_config` (target stage and runner pool from `scripts/ci/runner_configs.yml`), `nightly=True` (nightly-only), `disabled="reason"` (temporarily disable).
@@ -74,8 +74,8 @@ Parameters: `est_time` (seconds), `stage` + `runner_config` (target stage and ru
Keep `est_time`, `stage`, `runner_config` as **literal values** — `run_suite.py` collects them by AST parsing.
JIT kernel files live outside `test/registered/` but still use registration:
- Correctness tests: `python/sglang/jit_kernel/tests/test_*.py` → `stage-b-kernel-unit-1-gpu-large`
- Benchmarks: `python/sglang/jit_kernel/benchmark/bench_*.py` → `stage-b-kernel-benchmark-1-gpu-large`
- Correctness tests: `python/sglang/jit_kernel/tests/test_*.py` → `base-b-kernel-unit-1-gpu-large`
- Benchmarks: `python/sglang/jit_kernel/benchmark/bench_*.py` → `base-b-kernel-benchmark-1-gpu-large`
## Choosing a Suite
@@ -83,12 +83,12 @@ Use the lightest suite that meets your test's needs. Full suite tables are in th
| Need | Suite |
|------|-------|
| No GPU required | `stage-a-test-cpu` |
| Small GPU (fits 5090, 32GB) | `stage-b-test-1-gpu-small` (most tests go here) |
| Large GPU memory or Hopper features | `stage-b-test-1-gpu-large` |
| JIT kernel correctness | `stage-b-kernel-unit-1-gpu-large` |
| JIT kernel benchmarks | `stage-b-kernel-benchmark-1-gpu-large` |
| Multi-GPU (2/4/8) | `stage-b-test-2-gpu-large`, `stage-c-test-*` |
| No GPU required | `base-a-test-cpu` |
| Small GPU (fits 5090, 32GB) | `base-b-test-1-gpu-small` (most tests go here) |
| Large GPU memory or Hopper features | `base-b-test-1-gpu-large` |
| JIT kernel correctness | `base-b-kernel-unit-1-gpu-large` |
| JIT kernel benchmarks | `base-b-kernel-benchmark-1-gpu-large` |
| Multi-GPU (2/4/8) | `base-b-test-2-gpu-large`, `base-c-test-*` |
| Long-running or experimental | `nightly-*` suites |
## Steps for Adding a Test
@@ -14,7 +14,7 @@ from sglang.test.test_utils import (
try_cached_model,
)
register_cuda_ci(est_time=1800, stage="stage-c", runner_config="4-gpu-gb200")
register_cuda_ci(est_time=1800, stage="base-c", runner_config="4-gpu-gb200")
class TestDeepseekR1Nvfp4CuteDSLDeepEP(CustomTestCase):
@@ -3,8 +3,8 @@ import unittest
from sglang.test.ci.ci_register import register_cuda_ci
from sglang.test.gpt_oss_common import BaseTestGptOss
register_cuda_ci(est_time=392, stage="stage-c", runner_config="4-gpu-h100")
register_cuda_ci(est_time=350, stage="stage-c", runner_config="4-gpu-b200")
register_cuda_ci(est_time=392, stage="base-c", runner_config="4-gpu-h100")
register_cuda_ci(est_time=350, stage="base-c", runner_config="4-gpu-b200")
class TestGptOss4Gpu(BaseTestGptOss):
@@ -15,7 +15,7 @@ from sglang.test.test_utils import (
popen_launch_server,
)
register_cuda_ci(est_time=340, stage="stage-c", runner_config="4-gpu-b200")
register_cuda_ci(est_time=340, stage="base-c", runner_config="4-gpu-b200")
QWEN35_FP4_MODEL = "nvidia/Qwen3.5-397B-A17B-NVFP4"
ACC_THRESHOLDS = {QWEN35_FP4_MODEL: {"gsm8k": 0.95}}
@@ -17,7 +17,7 @@ from sglang.test.test_utils import (
popen_launch_server,
)
register_cuda_ci(est_time=370, stage="stage-c", runner_config="4-gpu-b200")
register_cuda_ci(est_time=370, stage="base-c", runner_config="4-gpu-b200")
QWEN35_FP4_MODEL = "nvidia/Qwen3.5-397B-A17B-NVFP4"
ACC_THRESHOLDS = {QWEN35_FP4_MODEL: {"gsm8k": 0.95}}
@@ -11,7 +11,7 @@ from sglang.test.test_utils import (
popen_launch_server,
)
register_cuda_ci(est_time=261, stage="stage-c", runner_config="4-gpu-h100")
register_cuda_ci(est_time=261, stage="base-c", runner_config="4-gpu-h100")
QWEN3_30B_MODEL_PATH = "Qwen/Qwen3-30B-A3B-FP8"
@@ -6,7 +6,7 @@ from sglang.test.kits.kl_divergence_kit import KLDivergenceMixin
from sglang.test.kits.prefix_cache_branching_kit import PrefixCacheBranchingMixin
from sglang.test.server_fixtures.default_fixture import DefaultServerBase
register_cuda_ci(est_time=290, stage="stage-c", runner_config="4-gpu-h100")
register_cuda_ci(est_time=290, stage="base-c", runner_config="4-gpu-h100")
QWEN3_NEXT_MODEL = "Qwen/Qwen3-Next-80B-A3B-Instruct"
@@ -17,7 +17,7 @@ from sglang.test.test_utils import (
write_github_step_summary,
)
register_cuda_ci(est_time=300, stage="stage-c", runner_config="8-gpu-h200")
register_cuda_ci(est_time=300, stage="base-c", runner_config="8-gpu-h200")
FULL_DEEPSEEK_V3_MODEL_PATH = "deepseek-ai/DeepSeek-V3-0324"
@@ -12,9 +12,7 @@ from sglang.test.test_utils import (
write_github_step_summary,
)
register_cuda_ci(
est_time=720, stage="stage-c", runner_config="8-gpu-h200", nightly=True
)
register_cuda_ci(est_time=720, stage="base-c", runner_config="8-gpu-h200", nightly=True)
GLM5_MODEL_PATH = "zai-org/GLM-5-FP8"
@@ -6,7 +6,7 @@ from sglang.test.kits.spec_decoding_kit import SpecDecodingMixin
from sglang.test.server_fixtures.default_fixture import DefaultServerBase
from sglang.test.server_fixtures.mmmu_fixture import MMMUServerBase
register_cuda_ci(est_time=500, stage="stage-c", runner_config="8-gpu-h200")
register_cuda_ci(est_time=500, stage="base-c", runner_config="8-gpu-h200")
class TestMiMoV2Flash(GSM8KMixin, SpecDecodingMixin, DefaultServerBase):
@@ -14,7 +14,7 @@ from sglang.test.test_utils import (
write_github_step_summary,
)
register_cuda_ci(est_time=290, stage="stage-c", runner_config="8-gpu-h200")
register_cuda_ci(est_time=290, stage="base-c", runner_config="8-gpu-h200")
MINIMAX_M25_MODEL_PATH = "MiniMaxAI/MiniMax-M2.5"
@@ -8,7 +8,7 @@ from sglang.srt.layers.attention.fla.fused_recurrent import (
)
from sglang.test.ci.ci_register import register_cuda_ci
register_cuda_ci(est_time=11, stage="stage-b", runner_config="1-gpu-large")
register_cuda_ci(est_time=11, stage="base-b", runner_config="1-gpu-large")
@unittest.skipIf(not torch.cuda.is_available(), "Test requires CUDA")
@@ -9,7 +9,7 @@ from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
from sglang.test.test_utils import CustomTestCase
# Triton kernel unit test for KV indices creation
register_cuda_ci(est_time=7, stage="stage-b", runner_config="1-gpu-small")
register_cuda_ci(est_time=7, stage="base-b", runner_config="1-gpu-small")
register_amd_ci(est_time=10, suite="stage-b-test-1-gpu-small-amd")
@@ -13,7 +13,7 @@ from sglang.test.test_utils import (
)
# FlashAttention4 integration test (requires SM 100+ / Blackwell B200)
register_cuda_ci(est_time=260, stage="stage-b", runner_config="4-gpu-b200")
register_cuda_ci(est_time=260, stage="base-b", runner_config="4-gpu-b200")
@unittest.skipIf(get_device_sm() < 100, "Test requires CUDA SM 100 or higher")
@@ -14,7 +14,7 @@ from sglang.srt.layers.attention.fla.fused_sigmoid_gating_recurrent import (
)
from sglang.test.ci.ci_register import register_cuda_ci
register_cuda_ci(est_time=7, stage="stage-b", runner_config="1-gpu-large")
register_cuda_ci(est_time=7, stage="base-b", runner_config="1-gpu-large")
def _make_noncontiguous_ab(batch, num_heads, dtype=torch.bfloat16, device="cuda"):
@@ -14,7 +14,7 @@ from sglang.srt.layers.attention.fla.kda import (
from sglang.srt.utils.common import get_device
from sglang.test.ci.ci_register import register_cuda_ci
register_cuda_ci(est_time=12, stage="stage-b", runner_config="1-gpu-large")
register_cuda_ci(est_time=12, stage="base-b", runner_config="1-gpu-large")
@unittest.skipIf(
@@ -20,8 +20,8 @@ from sglang.srt.mem_cache.swa_memory_pool import SWAKVPool
from sglang.test.ci.ci_register import register_cuda_ci
from sglang.test.test_utils import CustomTestCase
# Register this test for CUDA CI in stage-b (fast attention/kernel tests)
register_cuda_ci(est_time=11, stage="stage-b", runner_config="1-gpu-large")
# Register this test for CUDA CI in base-b (fast attention/kernel tests)
register_cuda_ci(est_time=11, stage="base-b", runner_config="1-gpu-large")
def reference_normal_decode_set_metadata(
@@ -20,7 +20,7 @@ from sglang.test.test_utils import (
)
# Triton attention backend integration test with latency benchmark and MMLU eval
register_cuda_ci(est_time=177, stage="stage-b", runner_config="1-gpu-large")
register_cuda_ci(est_time=177, stage="base-b", runner_config="1-gpu-large")
register_amd_ci(est_time=1400, suite="stage-b-test-1-gpu-small-amd")
@@ -23,7 +23,7 @@ from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
from sglang.test.test_utils import CustomTestCase, is_in_amd_ci
# Triton attention kernel unit tests (decode, extend, prefill)
register_cuda_ci(est_time=19, stage="stage-b", runner_config="1-gpu-large")
register_cuda_ci(est_time=19, stage="base-b", runner_config="1-gpu-large")
register_amd_ci(est_time=30, suite="stage-b-test-1-gpu-small-amd")
@@ -24,7 +24,7 @@ from sglang.bench_serving import (
from sglang.test.ci.ci_register import register_cpu_ci
from sglang.test.test_utils import CustomTestCase
register_cpu_ci(est_time=10, suite="stage-a-test-cpu")
register_cpu_ci(est_time=10, suite="base-a-test-cpu")
def _free_port() -> int:
@@ -26,7 +26,7 @@ from sglang.benchmark.datasets.random import sample_random_requests
from sglang.benchmark.datasets.sharegpt import sample_sharegpt_requests
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=6, suite="stage-a-test-cpu")
register_cpu_ci(est_time=6, suite="base-a-test-cpu")
class _DummyTokenTensor:
@@ -23,7 +23,7 @@ from sglang.test.test_utils import (
)
# CI Registration — large suite to fit the integration test's server startup.
register_cuda_ci(est_time=79, stage="stage-b", runner_config="1-gpu-large")
register_cuda_ci(est_time=79, stage="base-b", runner_config="1-gpu-large")
def _skip_if_no_cuda(test_func):
@@ -13,7 +13,7 @@ from sglang.test.test_utils import (
popen_launch_server,
)
register_cuda_ci(est_time=120, stage="stage-b", runner_config="1-gpu-small")
register_cuda_ci(est_time=120, stage="base-b", runner_config="1-gpu-small")
register_amd_ci(est_time=179, suite="stage-b-test-1-gpu-small-amd")
+1 -1
View File
@@ -16,7 +16,7 @@ from sglang.test.test_deterministic_utils import (
)
from sglang.test.test_utils import is_in_amd_ci
register_cuda_ci(est_time=207, stage="stage-b", runner_config="1-gpu-large")
register_cuda_ci(est_time=207, stage="base-b", runner_config="1-gpu-large")
register_amd_ci(est_time=278, suite="stage-b-test-1-gpu-small-amd")
@@ -20,7 +20,7 @@ from sglang.test.test_utils import (
CustomTestCase,
)
register_cuda_ci(est_time=77, stage="stage-b", runner_config="1-gpu-small")
register_cuda_ci(est_time=77, stage="base-b", runner_config="1-gpu-small")
class TestEngineChildPids(CustomTestCase):
@@ -23,7 +23,7 @@ from sglang.test.test_utils import (
popen_launch_server,
)
register_cuda_ci(est_time=107, stage="stage-b", runner_config="2-gpu-large")
register_cuda_ci(est_time=107, stage="base-b", runner_config="2-gpu-large")
PROMPT = (
+1 -1
View File
@@ -8,7 +8,7 @@ from sglang.srt.utils import get_device, is_hip
from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
from sglang.test.test_utils import DEFAULT_SMALL_MODEL_NAME_FOR_TEST, CustomTestCase
register_cuda_ci(est_time=45, stage="stage-b", runner_config="1-gpu-small")
register_cuda_ci(est_time=45, stage="base-b", runner_config="1-gpu-small")
register_amd_ci(est_time=55, suite="stage-b-test-1-gpu-small-amd")
_is_hip = is_hip()
@@ -4,7 +4,7 @@ from unittest.mock import MagicMock, patch
from sglang.srt.server_args import ServerArgs
from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
register_cuda_ci(est_time=9, stage="stage-b", runner_config="1-gpu-small")
register_cuda_ci(est_time=9, stage="base-b", runner_config="1-gpu-small")
register_amd_ci(est_time=1, suite="stage-b-test-1-gpu-small-amd")
@@ -17,7 +17,7 @@ from sglang.test.test_utils import (
send_generate_requests,
)
register_cuda_ci(est_time=53, stage="stage-b", runner_config="1-gpu-small")
register_cuda_ci(est_time=53, stage="base-b", runner_config="1-gpu-small")
register_amd_ci(est_time=70, suite="stage-b-test-1-gpu-small-amd")
+1 -1
View File
@@ -28,7 +28,7 @@ from sglang.test.test_utils import (
run_logprob_check,
)
register_cuda_ci(est_time=134, stage="stage-b", runner_config="1-gpu-small")
register_cuda_ci(est_time=134, stage="base-b", runner_config="1-gpu-small")
register_amd_ci(est_time=130, suite="stage-b-test-1-gpu-small-amd")
+1 -1
View File
@@ -22,7 +22,7 @@ from sglang.test.test_utils import (
CustomTestCase,
)
register_cuda_ci(est_time=387, stage="stage-b", runner_config="1-gpu-large")
register_cuda_ci(est_time=387, stage="base-b", runner_config="1-gpu-large")
register_amd_ci(est_time=261, suite="stage-b-test-1-gpu-small-amd")
+1 -1
View File
@@ -8,7 +8,7 @@ from sglang.srt.server_args import ServerArgs, set_global_server_args_for_schedu
from sglang.test.ci.ci_register import register_cpu_ci
from sglang.test.test_utils import CustomTestCase
register_cpu_ci(est_time=10, suite="stage-b-test-cpu")
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
torch.manual_seed(1234)
+1 -1
View File
@@ -8,7 +8,7 @@ kernel = torch.ops.sgl_kernel
from sglang.test.ci.ci_register import register_cpu_ci
from sglang.test.test_utils import CustomTestCase
register_cpu_ci(est_time=10, suite="stage-b-test-cpu")
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
class TestBinding(CustomTestCase):
+1 -1
View File
@@ -10,7 +10,7 @@ from sglang.srt.layers.quantization.fp8_utils import input_to_float8
from sglang.test.ci.ci_register import register_cpu_ci
from sglang.test.test_utils import CustomTestCase
register_cpu_ci(est_time=10, suite="stage-b-test-cpu")
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
torch.manual_seed(1234)
+1 -1
View File
@@ -9,7 +9,7 @@ from utils import parametrize, precision
from sglang.test.ci.ci_register import register_cpu_ci
from sglang.test.test_utils import CustomTestCase
register_cpu_ci(est_time=10, suite="stage-b-test-cpu")
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
causal_conv1d_weight_pack = torch.ops.sgl_kernel.causal_conv1d_weight_pack
causal_conv1d_fwd = torch.ops.sgl_kernel.causal_conv1d_fwd_cpu
+1 -1
View File
@@ -21,7 +21,7 @@ from sglang.test.test_utils import (
popen_launch_server,
)
register_cpu_ci(est_time=10, suite="stage-b-test-cpu")
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
class TestCPUGraph(CustomTestCase):
+1 -1
View File
@@ -6,7 +6,7 @@ from torch.nn.functional import scaled_dot_product_attention
from sglang.test.ci.ci_register import register_cpu_ci
from sglang.test.test_utils import CustomTestCase
register_cpu_ci(est_time=10, suite="stage-b-test-cpu")
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
torch.manual_seed(1234)
+1 -1
View File
@@ -6,7 +6,7 @@ from torch.nn.functional import scaled_dot_product_attention
from sglang.test.ci.ci_register import register_cpu_ci
from sglang.test.test_utils import CustomTestCase
register_cpu_ci(est_time=10, suite="stage-b-test-cpu")
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
torch.manual_seed(1234)
+1 -1
View File
@@ -8,7 +8,7 @@ from utils import parametrize, precision
from sglang.test.ci.ci_register import register_cpu_ci
from sglang.test.test_utils import CustomTestCase
register_cpu_ci(est_time=10, suite="stage-b-test-cpu")
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
flash_attn_varlen_func = torch.ops.sgl_kernel.flash_attn_varlen_func
+1 -1
View File
@@ -16,7 +16,7 @@ from utils import (
from sglang.test.ci.ci_register import register_cpu_ci
from sglang.test.test_utils import CustomTestCase
register_cpu_ci(est_time=10, suite="stage-b-test-cpu")
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
torch.manual_seed(1234)
@@ -20,7 +20,7 @@ from sglang.test.test_utils import (
popen_launch_server,
)
register_cpu_ci(est_time=10, suite="stage-b-test-cpu")
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
class TestIntelAMXAttnBackend(CustomTestCase):
@@ -14,7 +14,7 @@ from sglang.test.test_utils import (
intel_amx_benchmark,
)
register_cpu_ci(est_time=10, suite="stage-b-test-cpu")
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
class TestIntelAMXAttnBackendQuant(CustomTestCase):
@@ -14,7 +14,7 @@ from sglang.test.test_utils import (
intel_amx_benchmark,
)
register_cpu_ci(est_time=10, suite="stage-b-test-cpu")
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
class TestIntelAMXAttnBackendQuant(CustomTestCase):
+1 -1
View File
@@ -8,7 +8,7 @@ from utils import precision
from sglang.test.ci.ci_register import register_cpu_ci
from sglang.test.test_utils import CustomTestCase
register_cpu_ci(est_time=10, suite="stage-b-test-cpu")
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
torch.manual_seed(1234)
+1 -1
View File
@@ -7,7 +7,7 @@ from utils import precision
from sglang.test.ci.ci_register import register_cpu_ci
from sglang.test.test_utils import CustomTestCase
register_cpu_ci(est_time=10, suite="stage-b-test-cpu")
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
torch.manual_seed(1234)
+1 -1
View File
@@ -28,7 +28,7 @@ from utils import (
from sglang.test.ci.ci_register import register_cpu_ci
from sglang.test.test_utils import CustomTestCase
register_cpu_ci(est_time=10, suite="stage-b-test-cpu")
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
def fused_moe(a, w1, w2, score, topk, renormalize, prepack):
+1 -1
View File
@@ -8,7 +8,7 @@ from utils import make_non_contiguous, parametrize, precision
from sglang.test.ci.ci_register import register_cpu_ci
from sglang.test.test_utils import CustomTestCase
register_cpu_ci(est_time=10, suite="stage-b-test-cpu")
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
torch.manual_seed(1234)
@@ -13,7 +13,7 @@ from sglang.srt.layers.rotary_embedding.utils import apply_rotary_emb
from sglang.test.ci.ci_register import register_cpu_ci
from sglang.test.test_utils import CustomTestCase
register_cpu_ci(est_time=10, suite="stage-b-test-cpu")
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
convert_weight_packed = torch.ops.sgl_kernel.convert_weight_packed
qkv_proj_with_rope = torch.ops.sgl_kernel.qkv_proj_with_rope
+1 -1
View File
@@ -6,7 +6,7 @@ from utils import precision
from sglang.test.ci.ci_register import register_cpu_ci
from sglang.test.test_utils import CustomTestCase
register_cpu_ci(est_time=10, suite="stage-b-test-cpu")
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
torch.manual_seed(1234)
+1 -1
View File
@@ -15,7 +15,7 @@ from sglang.srt.server_args import ServerArgs, set_global_server_args_for_schedu
from sglang.test.ci.ci_register import register_cpu_ci
from sglang.test.test_utils import CustomTestCase
register_cpu_ci(est_time=10, suite="stage-b-test-cpu")
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
torch.manual_seed(1234)
@@ -4,7 +4,7 @@ from unittest.mock import patch
from sglang.srt.server_args import ServerArgs
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=10, suite="stage-b-test-cpu")
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
class TestServerArgsCPUBackend(unittest.TestCase):
+1 -1
View File
@@ -19,7 +19,7 @@ from utils import (
from sglang.test.ci.ci_register import register_cpu_ci
from sglang.test.test_utils import CustomTestCase
register_cpu_ci(est_time=10, suite="stage-b-test-cpu")
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
torch.manual_seed(1234)
+1 -1
View File
@@ -11,7 +11,7 @@ from sglang.srt.models.llama4 import Llama4MoE
from sglang.test.ci.ci_register import register_cpu_ci
from sglang.test.test_utils import CustomTestCase
register_cpu_ci(est_time=10, suite="stage-b-test-cpu")
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
torch.manual_seed(1234)
@@ -28,7 +28,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import ParallelAxis, TokenLayou
from sglang.srt.debug_utils.comparator.utils import Pair
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=15, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True)
class TestExecuteSubPlans:
@@ -25,7 +25,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import TokenLayout
from sglang.srt.debug_utils.comparator.utils import Pair
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=15, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True)
def _make_meta(
@@ -22,7 +22,7 @@ from sglang.srt.debug_utils.comparator.aligner.unsharder.types import (
from sglang.srt.debug_utils.comparator.dims_spec import ParallelAxis
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
def _zigzag_order(cp_size: int) -> list[int]:
@@ -24,7 +24,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import (
)
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
class TestComputeReordererPlans:
@@ -13,7 +13,7 @@ from sglang.srt.debug_utils.comparator.log_sink import log_sink
from sglang.srt.debug_utils.comparator.utils import Pair
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=15, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True)
class TestComputeAxisAlignerPlan:
@@ -19,7 +19,7 @@ from sglang.srt.debug_utils.comparator.log_sink import LogSink
from sglang.srt.debug_utils.comparator.output_types import ErrorLog, InfoLog
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=15, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True)
_sglang_plugin = _SGLangPlugin()
_megatron_plugin = _MegatronPlugin()
@@ -16,7 +16,7 @@ from sglang.srt.debug_utils.comparator.aligner.token_aligner.smart.types import
from sglang.srt.debug_utils.comparator.dims_spec import TokenLayout
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=15, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True)
_sglang_plugin = _SGLangPlugin()
_megatron_plugin = _MegatronPlugin()
@@ -9,7 +9,7 @@ from sglang.srt.debug_utils.comparator.aligner.token_aligner.concat_steps import
from sglang.srt.debug_utils.comparator.utils import Pair
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=15, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True)
class TestExecuteConcat:
@@ -25,7 +25,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import TokenLayout
from sglang.srt.debug_utils.comparator.utils import Pair
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=15, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True)
def _named(tensor: torch.Tensor, names: list[str]) -> torch.Tensor:
@@ -23,7 +23,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import TokenLayout
from sglang.srt.debug_utils.comparator.utils import Pair
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=30, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=30, suite="base-a-test-cpu", nightly=True)
class TestBuildTokenIndexSGLangThd:
@@ -14,7 +14,7 @@ from sglang.srt.debug_utils.comparator.aligner.token_aligner.smart.aux_plugins i
)
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=15, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True)
def _save_pt(
@@ -27,7 +27,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import (
from sglang.srt.debug_utils.comparator.output_types import ReplicatedCheckResult
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
def _name_tensors(
@@ -9,7 +9,7 @@ from sglang.srt.debug_utils.comparator.aligner.unsharder.types import AxisInfo
from sglang.srt.debug_utils.comparator.dims_spec import ParallelAxis
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
class TestNormalizeParallelInfo:
@@ -19,7 +19,7 @@ from sglang.srt.debug_utils.comparator.aligner.unsharder.types import (
from sglang.srt.debug_utils.comparator.dims_spec import ParallelAxis, parse_dims
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
class TestComputeUnsharderPlan:
@@ -12,7 +12,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import (
)
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=5, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=5, suite="base-a-test-cpu", nightly=True)
class TestParseDim:
@@ -15,7 +15,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import (
)
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=5, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=5, suite="base-a-test-cpu", nightly=True)
class TestSingletonDimUtilFilterOut:
@@ -13,7 +13,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import (
)
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=5, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=5, suite="base-a-test-cpu", nightly=True)
class TestFindDimIndex:
@@ -9,7 +9,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import (
)
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=5, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=5, suite="base-a-test-cpu", nightly=True)
class TestDimConstants:
@@ -14,7 +14,7 @@ from sglang.srt.debug_utils.comparator.tensor_comparator.comparator import (
from sglang.srt.debug_utils.comparator.tensor_comparator.types import DiffInfo
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=20, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=20, suite="base-a-test-cpu", nightly=True)
class TestComputeTensorInfo:
@@ -58,7 +58,7 @@ from sglang.srt.debug_utils.comparator.tensor_comparator.types import (
from sglang.srt.debug_utils.comparator.utils import Pair
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
_DEFAULT_PERCENTILE_LINES: list[str] = [
" [blue]p1 [/] -1.8000 -1.8000 [dim]+0.00e+00[/]",
@@ -21,7 +21,7 @@ from sglang.srt.debug_utils.comparator.tensor_comparator.types import (
)
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
def _make_stats(**overrides) -> TensorStats:
@@ -15,7 +15,7 @@ from sglang.srt.debug_utils.comparator.utils import Pair
from sglang.srt.debug_utils.dump_loader import ValueWithMeta
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=15, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True)
def _save_tensor(
@@ -13,7 +13,7 @@ from sglang.srt.debug_utils.comparator.bundle_matcher import (
from sglang.srt.debug_utils.comparator.utils import Pair
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=15, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True)
def _make_row(
@@ -21,7 +21,7 @@ from sglang.srt.debug_utils.comparator.output_types import (
)
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
def _render_rich(renderable: object) -> str:
@@ -12,7 +12,7 @@ from sglang.srt.debug_utils.comparator.dp_utils import (
from sglang.srt.debug_utils.dump_loader import ValueWithMeta
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=15, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True)
def _make_sglang_meta(
@@ -7,7 +7,7 @@ import torch
from sglang.srt.debug_utils.dump_loader import read_tokenizer_path
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
def _save_pt(
@@ -30,7 +30,7 @@ from sglang.srt.debug_utils.comparator.output_types import (
from sglang.srt.debug_utils.dumper import DumperConfig, _Dumper, _RecomputeStatus
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=30, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=30, suite="base-a-test-cpu", nightly=True)
_FIXED_EXP_NAME = "my_exp_name"
@@ -11,7 +11,7 @@ from sglang.srt.debug_utils.comparator.output_types import (
from sglang.srt.debug_utils.comparator.report_sink import report_sink
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
def _make_error_log(**overrides) -> ErrorLog:
@@ -23,7 +23,7 @@ import torch
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=60, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=60, suite="base-a-test-cpu", nightly=True)
_PUBLISH_DIR: Path = Path("/tmp/comparator_manual_verify")
_PNG_MAGIC: bytes = b"\x89PNG"
@@ -16,7 +16,7 @@ from sglang.srt.debug_utils.comparator.meta_overrider import (
)
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
# ───────────────────── Unit: MetaOverrideRule ─────────────────────
@@ -44,7 +44,7 @@ from sglang.srt.debug_utils.comparator.tensor_comparator.types import (
from sglang.srt.debug_utils.comparator.utils import Pair, _check_equal_lengths
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
class TestCheckEqualLengths:
@@ -55,7 +55,7 @@ from sglang.srt.debug_utils.comparator.output_types import (
from sglang.srt.debug_utils.comparator.utils import Pair
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
def _render_rich(renderable: object) -> str:
@@ -15,7 +15,7 @@ from sglang.srt.debug_utils.comparator.tensor_comparator.comparator import (
)
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=30, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=30, suite="base-a-test-cpu", nightly=True)
_PNG_MAGIC: bytes = b"\x89PNG"
@@ -3,7 +3,7 @@ import pytest
from sglang.srt.debug_utils.comparator.preset import PRESETS, expand_preset
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=5, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=5, suite="base-a-test-cpu", nightly=True)
class TestExpandPreset:
@@ -17,7 +17,7 @@ from sglang.srt.debug_utils.comparator.utils import (
)
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
class TestCalcRelDiff:
@@ -10,7 +10,7 @@ from sglang.srt.debug_utils.comparator.visualizer.preprocessing import (
)
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=30, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=30, suite="base-a-test-cpu", nightly=True)
class TestPreprocessTensor:
@@ -12,7 +12,7 @@ from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(
est_time=0,
suite="stage-a-test-cpu",
suite="base-a-test-cpu",
nightly=True,
disabled="helper module, no tests",
)
@@ -10,7 +10,7 @@ from sglang.srt.debug_utils.source_patcher.code_patcher import (
from sglang.srt.debug_utils.source_patcher.types import EditSpec, PatchSpec
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
SAMPLE_MODULE_NAME = "_source_patcher_test_fixtures.sample_module"
@@ -8,7 +8,7 @@ import yaml
from sglang.srt.debug_utils.dumper import DumperConfig, _Dumper
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
SAMPLE_MODULE_NAME = "_source_patcher_test_fixtures.sample_module"
@@ -5,7 +5,7 @@ from sglang.srt.debug_utils.source_patcher.source_editor import apply_edits
from sglang.srt.debug_utils.source_patcher.types import EditSpec, PatchApplicationError
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
class TestApplyEdits:
@@ -12,7 +12,7 @@ from sglang.test.ci.ci_register import register_cuda_ci
register_cuda_ci(
est_time=10,
stage="stage-a",
stage="base-a",
runner_config="1-gpu-small",
disabled="Manual only: triggers intentional CUDA crash for coredump verification",
)
@@ -9,7 +9,7 @@ from sglang.srt.debug_utils.dump_comparator import (
)
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=30, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=30, suite="base-a-test-cpu", nightly=True)
# ----------------------------- Unit tests -----------------------------
@@ -15,7 +15,7 @@ from sglang.srt.debug_utils.dump_loader import (
)
from sglang.test.ci.ci_register import register_cpu_ci
register_cpu_ci(est_time=30, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=30, suite="base-a-test-cpu", nightly=True)
class TestReadMeta:
@@ -25,7 +25,7 @@ from sglang.srt.debug_utils.schedule_simulator import (
from sglang.test.ci.ci_register import register_cpu_ci
from sglang.test.test_utils import CustomTestCase
register_cpu_ci(est_time=120, suite="stage-a-test-cpu", nightly=True)
register_cpu_ci(est_time=120, suite="base-a-test-cpu", nightly=True)
# ==================== Non-E2E Tests ====================
@@ -19,7 +19,7 @@ from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
register_cuda_ci(
est_time=9,
stage="stage-b",
stage="base-b",
runner_config="1-gpu-small",
disabled="Test uses pytest-style function without TestCase class - see #17145",
)
@@ -21,7 +21,7 @@ from sglang.test.test_utils import (
DEFAULT_TARGET_MODEL_EAGLE3,
)
register_cuda_ci(est_time=509, stage="stage-b", runner_config="2-gpu-large")
register_cuda_ci(est_time=509, stage="base-b", runner_config="2-gpu-large")
class TestDisaggregationAccuracy(PauseResumeInPlaceMixin, PDDisaggregationServerBase):
@@ -19,7 +19,7 @@ from sglang.test.test_utils import (
# Increasing estimated time since we run evaluation twice
register_cuda_ci(
est_time=600,
stage="stage-b",
stage="base-b",
runner_config="2-gpu-large",
disabled="Temporarily disable the flaky test.",
)

Some files were not shown because too many files have changed in this diff Show More