[CI] Key scheduled CUDA suites by runner_config instead of hand-written jobs (#34186)
This commit is contained in:
+2
-2
@@ -50,8 +50,8 @@ python3 test/registered/jit/test_add_constant.py
|
||||
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
|
||||
# Nightly tests (CUDA nightly suites take no --nightly; the stage is in the name)
|
||||
python3 test/run_suite.py --hw cuda --suite nightly-test-1-gpu-large
|
||||
|
||||
# With auto-partitioning (for parallel CI jobs)
|
||||
python3 test/run_suite.py --hw cuda --suite base-b-test-1-gpu-small \
|
||||
|
||||
@@ -12,7 +12,7 @@ from sglang.test.test_utils import (
|
||||
popen_launch_server,
|
||||
)
|
||||
|
||||
register_cuda_ci(est_time=810, suite="nightly-4-gpu-b200", nightly=True)
|
||||
register_cuda_ci(est_time=1200, stage="nightly", runner_config="4-gpu-b200")
|
||||
|
||||
NEMOTRON_3_SUPER_NVFP4_MODEL = "nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4"
|
||||
|
||||
|
||||
@@ -6,8 +6,9 @@ from sglang.test.performance_test_runner import PerformanceTestParams
|
||||
from sglang.test.run_combined_tests import run_combined_tests
|
||||
from sglang.test.test_utils import ModelLaunchSettings
|
||||
|
||||
# Runs on both H200 and B200 via nightly-8-gpu-common suite
|
||||
register_cuda_ci(est_time=1800, suite="nightly-8-gpu-common", nightly=True)
|
||||
# Runs on both H200 and B200: registered once per runner_config below
|
||||
register_cuda_ci(est_time=2880, stage="nightly", runner_config="8-gpu-h200")
|
||||
register_cuda_ci(est_time=2880, stage="nightly", runner_config="8-gpu-b200")
|
||||
|
||||
GLM_52_FP8_MODEL_PATH = "zai-org/GLM-5.2-FP8"
|
||||
|
||||
|
||||
@@ -6,8 +6,9 @@ from sglang.test.performance_test_runner import PerformanceTestParams
|
||||
from sglang.test.run_combined_tests import run_combined_tests
|
||||
from sglang.test.test_utils import ModelLaunchSettings
|
||||
|
||||
# Runs on both H200 and B200 via nightly-8-gpu-common suite
|
||||
register_cuda_ci(est_time=1800, suite="nightly-8-gpu-common", nightly=True)
|
||||
# Runs on both H200 and B200: registered once per runner_config below
|
||||
register_cuda_ci(est_time=1320, stage="nightly", runner_config="8-gpu-h200")
|
||||
register_cuda_ci(est_time=1320, stage="nightly", runner_config="8-gpu-b200")
|
||||
|
||||
GLM_4_6_MODEL_PATH = "zai-org/GLM-4.6"
|
||||
|
||||
|
||||
@@ -5,9 +5,10 @@ from sglang.test.performance_test_runner import PerformanceTestParams
|
||||
from sglang.test.run_combined_tests import run_combined_tests
|
||||
from sglang.test.test_utils import ModelLaunchSettings
|
||||
|
||||
# Runs on both H200 and B200 via nightly-8-gpu-common suite
|
||||
# Runs on both H200 and B200: registered once per runner_config below
|
||||
# Higher est_time due to 6 variants with both performance and accuracy tests
|
||||
register_cuda_ci(est_time=1800, suite="nightly-8-gpu-common", nightly=True)
|
||||
register_cuda_ci(est_time=690, stage="nightly", runner_config="8-gpu-h200")
|
||||
register_cuda_ci(est_time=690, stage="nightly", runner_config="8-gpu-b200")
|
||||
|
||||
GPT_OSS_120B_MXFP4_MODEL_PATH = "openai/gpt-oss-120b"
|
||||
GPT_OSS_120B_EAGLE3_DRAFT_MODEL_PATH = "lmsys/EAGLE3-gpt-oss-120b-bf16"
|
||||
|
||||
@@ -10,7 +10,8 @@ from sglang.test.test_utils import ModelLaunchSettings, is_blackwell_system
|
||||
|
||||
# NVFP4 needs Blackwell FP4 kernels, so this runs on the Blackwell leg of the
|
||||
# common 8-GPU suite (Hopper is skipped below).
|
||||
register_cuda_ci(est_time=3600, suite="nightly-8-gpu-common", nightly=True)
|
||||
register_cuda_ci(est_time=3600, stage="nightly", runner_config="8-gpu-h200")
|
||||
register_cuda_ci(est_time=3600, stage="nightly", runner_config="8-gpu-b200")
|
||||
|
||||
INKLING_NVFP4_MODEL = "thinkingmachines/Inkling-NVFP4"
|
||||
INKLING_SMALL_NVFP4_MODEL = "thinkingmachines/Inkling-Small-NVFP4"
|
||||
|
||||
@@ -6,8 +6,9 @@ from sglang.test.performance_test_runner import PerformanceTestParams
|
||||
from sglang.test.run_combined_tests import run_combined_tests
|
||||
from sglang.test.test_utils import ModelLaunchSettings
|
||||
|
||||
# Runs on both H200 and B200 via nightly-8-gpu-common suite
|
||||
register_cuda_ci(est_time=3600, suite="nightly-8-gpu-common", nightly=True)
|
||||
# Runs on both H200 and B200: registered once per runner_config below
|
||||
register_cuda_ci(est_time=2820, stage="nightly", runner_config="8-gpu-h200")
|
||||
register_cuda_ci(est_time=2820, stage="nightly", runner_config="8-gpu-b200")
|
||||
|
||||
KIMI_K25_MODEL_PATH = "moonshotai/Kimi-K2.5"
|
||||
|
||||
|
||||
@@ -12,7 +12,8 @@ from sglang.test.ci.ci_register import register_cuda_ci
|
||||
from sglang.test.kits.eval_accuracy_kit import GSM8KMixin
|
||||
from sglang.test.server_fixtures.default_fixture import DefaultServerBase
|
||||
|
||||
register_cuda_ci(est_time=600, suite="nightly-8-gpu-common", nightly=True)
|
||||
register_cuda_ci(est_time=300, stage="nightly", runner_config="8-gpu-h200")
|
||||
register_cuda_ci(est_time=300, stage="nightly", runner_config="8-gpu-b200")
|
||||
|
||||
|
||||
class TestLing26Flash(GSM8KMixin, DefaultServerBase):
|
||||
|
||||
@@ -6,8 +6,9 @@ from sglang.test.performance_test_runner import PerformanceTestParams
|
||||
from sglang.test.run_combined_tests import run_combined_tests
|
||||
from sglang.test.test_utils import ModelLaunchSettings
|
||||
|
||||
# Runs on both H200 and B200 via nightly-8-gpu-common suite
|
||||
register_cuda_ci(est_time=1800, suite="nightly-8-gpu-common", nightly=True)
|
||||
# Runs on both H200 and B200: registered once per runner_config below
|
||||
register_cuda_ci(est_time=1800, stage="nightly", runner_config="8-gpu-h200")
|
||||
register_cuda_ci(est_time=1800, stage="nightly", runner_config="8-gpu-b200")
|
||||
|
||||
LLAMA4_MODEL_PATH = "meta-llama/Llama-4-Scout-17B-16E-Instruct"
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ from sglang.test.performance_test_runner import PerformanceTestParams
|
||||
from sglang.test.run_combined_tests import run_combined_tests
|
||||
from sglang.test.test_utils import ModelLaunchSettings
|
||||
|
||||
register_cuda_ci(est_time=1200, suite="nightly-8-gpu-h200", nightly=True)
|
||||
register_cuda_ci(est_time=1200, stage="nightly", runner_config="8-gpu-h200")
|
||||
|
||||
# LongCat-Flash-Lite-FP8 is the smallest member of the LongCat family
|
||||
# (~138 GB FP8 weights, hidden=3072, 14 layers, 256 routed + 128 zero
|
||||
|
||||
@@ -6,8 +6,9 @@ from sglang.test.performance_test_runner import PerformanceTestParams
|
||||
from sglang.test.run_combined_tests import run_combined_tests
|
||||
from sglang.test.test_utils import ModelLaunchSettings
|
||||
|
||||
# Runs on both H200 and B200 via nightly-8-gpu-common suite
|
||||
register_cuda_ci(est_time=1800, suite="nightly-8-gpu-common", nightly=True)
|
||||
# Runs on both H200 and B200: registered once per runner_config below
|
||||
register_cuda_ci(est_time=1860, stage="nightly", runner_config="8-gpu-h200")
|
||||
register_cuda_ci(est_time=1860, stage="nightly", runner_config="8-gpu-b200")
|
||||
|
||||
MINIMAX_M25_MODEL_PATH = "MiniMaxAI/MiniMax-M2.5"
|
||||
|
||||
|
||||
@@ -8,9 +8,10 @@ from sglang.test.performance_test_runner import PerformanceTestParams
|
||||
from sglang.test.run_combined_tests import run_combined_tests
|
||||
from sglang.test.test_utils import ModelLaunchSettings, is_blackwell_system
|
||||
|
||||
# Runs on both H200 and B200 via nightly-8-gpu-common suite
|
||||
# Runs on both H200 and B200: registered once per runner_config below
|
||||
# Note: trtllm_mla backend may have hardware-specific behavior
|
||||
register_cuda_ci(est_time=3000, suite="nightly-8-gpu-common", nightly=True)
|
||||
register_cuda_ci(est_time=3000, stage="nightly", runner_config="8-gpu-h200")
|
||||
register_cuda_ci(est_time=3000, stage="nightly", runner_config="8-gpu-b200")
|
||||
|
||||
MISTRAL_LARGE3_FP8_MODEL_PATH = "mistralai/Mistral-Large-3-675B-Instruct-2512"
|
||||
MISTRAL_LARGE3_NVFP4_MODEL_PATH = "mistralai/Mistral-Large-3-675B-Instruct-2512-NVFP4"
|
||||
|
||||
@@ -7,8 +7,9 @@ from sglang.test.performance_test_runner import PerformanceTestParams
|
||||
from sglang.test.run_combined_tests import run_combined_tests
|
||||
from sglang.test.test_utils import ModelLaunchSettings, is_blackwell_system
|
||||
|
||||
# Runs on both Hopper and Blackwell via nightly-8-gpu-common suite
|
||||
register_cuda_ci(est_time=5400, suite="nightly-8-gpu-common", nightly=True)
|
||||
# Runs on both Hopper and Blackwell: registered once per runner_config below
|
||||
register_cuda_ci(est_time=3360, stage="nightly", runner_config="8-gpu-h200")
|
||||
register_cuda_ci(est_time=3360, stage="nightly", runner_config="8-gpu-b200")
|
||||
|
||||
NEMOTRON_3_SUPER_BF16_MODEL = "nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-BF16"
|
||||
NEMOTRON_3_SUPER_NVFP4_MODEL = "nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4"
|
||||
|
||||
@@ -6,8 +6,9 @@ from sglang.test.performance_test_runner import PerformanceTestParams
|
||||
from sglang.test.run_combined_tests import run_combined_tests
|
||||
from sglang.test.test_utils import ModelLaunchSettings
|
||||
|
||||
# Runs on both H200 and B200 via nightly-8-gpu-common suite
|
||||
register_cuda_ci(est_time=1800, suite="nightly-8-gpu-common", nightly=True)
|
||||
# Runs on both H200 and B200: registered once per runner_config below
|
||||
register_cuda_ci(est_time=3000, stage="nightly", runner_config="8-gpu-h200")
|
||||
register_cuda_ci(est_time=3000, stage="nightly", runner_config="8-gpu-b200")
|
||||
|
||||
QWEN35_MODEL_PATH = "Qwen/Qwen3.5-397B-A17B-FP8"
|
||||
|
||||
|
||||
@@ -5,7 +5,8 @@ from sglang.test.ci.ci_register import register_cuda_ci
|
||||
from sglang.test.run_combined_tests import run_combined_tests
|
||||
from sglang.test.test_utils import ModelLaunchSettings
|
||||
|
||||
register_cuda_ci(est_time=510, suite="nightly-8-gpu-common", nightly=True)
|
||||
register_cuda_ci(est_time=1680, stage="nightly", runner_config="8-gpu-h200")
|
||||
register_cuda_ci(est_time=1680, stage="nightly", runner_config="8-gpu-b200")
|
||||
|
||||
RING_2_5_1T_MODEL_PATH = "inclusionAI/Ring-2.5-1T"
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ from sglang.test.test_deterministic_utils import (
|
||||
TestDeterministicBase,
|
||||
)
|
||||
|
||||
register_cuda_ci(est_time=240, suite="nightly-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=240, stage="nightly", runner_config="1-gpu-large")
|
||||
|
||||
DEEPSEEK_MODEL = "lmsys/sglang-ci-dsv3-test"
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ from sglang.test.test_deterministic_utils import (
|
||||
TestDeterministicBase,
|
||||
)
|
||||
|
||||
register_cuda_ci(est_time=200, suite="nightly-4-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=200, stage="nightly", runner_config="4-gpu-h100")
|
||||
|
||||
QWEN3_NEXT = "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=450, suite="nightly-4-gpu-b200", nightly=True)
|
||||
register_cuda_ci(est_time=900, stage="nightly", runner_config="4-gpu-b200")
|
||||
|
||||
FULL_DEEPSEEK_V3_FP4_MODEL_PATH = "nvidia/DeepSeek-V3-0324-FP4"
|
||||
SERVER_LAUNCH_TIMEOUT = 1000
|
||||
|
||||
@@ -12,7 +12,7 @@ from sglang.test.test_utils import (
|
||||
popen_launch_server,
|
||||
)
|
||||
|
||||
register_cuda_ci(est_time=800, suite="nightly-4-gpu-b200", nightly=True)
|
||||
register_cuda_ci(est_time=1770, stage="nightly", runner_config="4-gpu-b200")
|
||||
|
||||
|
||||
class FlashinferTrtllmGenMoeBackendFP8Base:
|
||||
|
||||
@@ -11,7 +11,7 @@ import unittest
|
||||
from sglang.test.ci.ci_register import register_cuda_ci
|
||||
from sglang.test.server_fixtures.pcg_spec_fixture import PCGSpecBase
|
||||
|
||||
register_cuda_ci(est_time=531, suite="nightly-4-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=130, stage="nightly", runner_config="4-gpu-h100")
|
||||
|
||||
|
||||
class TestPCGWithEAGLE3(PCGSpecBase, unittest.TestCase):
|
||||
|
||||
@@ -15,7 +15,7 @@ from sglang.test.test_utils import (
|
||||
CustomTestCase,
|
||||
)
|
||||
|
||||
register_cuda_ci(est_time=531, suite="nightly-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=110, stage="nightly", runner_config="1-gpu-large")
|
||||
|
||||
|
||||
class TestPCGWithDFlash(PCGSpecBase, CustomTestCase):
|
||||
|
||||
@@ -8,7 +8,7 @@ import unittest
|
||||
from sglang.test.ci.ci_register import register_cuda_ci
|
||||
from sglang.test.server_fixtures.pcg_spec_fixture import PCGSpecBase
|
||||
|
||||
register_cuda_ci(est_time=531, suite="nightly-4-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=450, stage="nightly", runner_config="4-gpu-h100")
|
||||
|
||||
|
||||
class TestPCGWithMTP(PCGSpecBase, unittest.TestCase):
|
||||
|
||||
@@ -19,7 +19,7 @@ from sglang.test.test_utils import (
|
||||
)
|
||||
|
||||
# CI Registration
|
||||
register_cuda_ci(est_time=180, suite="nightly-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=250, stage="nightly", runner_config="1-gpu-large")
|
||||
register_amd_ci(est_time=180, suite="stage-b-test-1-gpu-large-amd")
|
||||
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ register_amd_ci(
|
||||
suite="nightly-amd-accuracy-8-gpu-mi35x-qwen35-triton-dcp",
|
||||
nightly=True,
|
||||
)
|
||||
register_cuda_ci(est_time=4800, suite="nightly-4-gpu-b200", nightly=True)
|
||||
register_cuda_ci(est_time=4800, stage="nightly", runner_config="4-gpu-b200")
|
||||
|
||||
QWEN35_MODEL_PATH = os.environ.get("QWEN3_5_MODEL_PATH", "Qwen/Qwen3.5-397B-A17B-FP8")
|
||||
SERVER_LAUNCH_TIMEOUT = 4800
|
||||
|
||||
@@ -21,7 +21,7 @@ from sglang.test.test_utils import (
|
||||
popen_launch_server,
|
||||
)
|
||||
|
||||
register_cuda_ci(est_time=40, suite="nightly-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=70, stage="nightly", runner_config="1-gpu-large")
|
||||
register_amd_ci(est_time=40, suite="nightly-amd-1-gpu", nightly=True)
|
||||
register_cpu_ci(est_time=225, suite="base-c-test-cpu")
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ from sglang.test.test_utils import (
|
||||
run_distributed_test,
|
||||
)
|
||||
|
||||
register_cuda_ci(est_time=30, suite="nightly-2-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=30, stage="nightly", runner_config="2-gpu-large")
|
||||
register_amd_ci(est_time=60, suite="nightly-amd", nightly=True)
|
||||
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ from sglang.test.test_utils import (
|
||||
popen_launch_server,
|
||||
)
|
||||
|
||||
register_cuda_ci(est_time=300, suite="nightly-4-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=290, stage="nightly", runner_config="4-gpu-h100")
|
||||
register_amd_ci(
|
||||
est_time=300,
|
||||
suite="nightly-amd-4-gpu",
|
||||
|
||||
@@ -9,6 +9,8 @@ Env knobs:
|
||||
SGLANG_PRECISION_COMMIT override sglang sha (7-40 hex) tagged on push
|
||||
SGLANG_PRECISION_HF_REPO required HF dataset repo for cross-runner
|
||||
baseline storage; see precision_baseline_store
|
||||
SGLANG_PRECISION_HF_TOKEN write token for that repo (not HF_TOKEN, which
|
||||
carries the runner's gated-model read token)
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
@@ -47,7 +49,7 @@ try:
|
||||
except Exception: # pragma: no cover
|
||||
_hfs = None
|
||||
|
||||
register_cuda_ci(est_time=3600, suite="nightly-precision-8-gpu-h200", nightly=True)
|
||||
register_cuda_ci(est_time=3600, stage="nightly", runner_config="8-gpu-h200")
|
||||
|
||||
DEFAULT_MODELS_FOR_NIGHTLY_PRECISION = "zai-org/GLM-5.2-FP8"
|
||||
DEFAULT_DIFF_THRESHOLD = 1e-3
|
||||
|
||||
@@ -17,7 +17,7 @@ from sglang.test.test_utils import (
|
||||
popen_launch_server,
|
||||
)
|
||||
|
||||
register_cuda_ci(est_time=120, suite="nightly-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=240, stage="nightly", runner_config="1-gpu-large")
|
||||
register_amd_ci(est_time=120, suite="nightly-amd-1-gpu", nightly=True)
|
||||
register_cpu_ci(est_time=622, suite="base-c-test-cpu")
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ from sglang.test.test_utils import (
|
||||
popen_launch_server,
|
||||
)
|
||||
|
||||
register_cuda_ci(est_time=1200, suite="nightly-8-gpu-b200", nightly=True)
|
||||
register_cuda_ci(est_time=450, stage="nightly", runner_config="8-gpu-b200")
|
||||
|
||||
KIMI_LINEAR_MODEL = "moonshotai/Kimi-Linear-48B-A3B-Instruct"
|
||||
PHYSICAL_PAGE_SIZE = 64
|
||||
|
||||
@@ -23,7 +23,7 @@ from sglang.test.test_utils import (
|
||||
try_cached_model,
|
||||
)
|
||||
|
||||
register_cuda_ci(est_time=420, suite="nightly-eval-text-2-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=200, stage="nightly", runner_config="2-gpu-large")
|
||||
|
||||
# 72 routed experts + 48 replicas = 120 physical, 60 per rank, so two thirds of
|
||||
# the routed (token, expert) pairs get double-counted when ranks disagree. At 24
|
||||
|
||||
@@ -23,7 +23,7 @@ from sglang.test.test_utils import (
|
||||
# downloading on cache miss. Use a longer timeout than the default 600s.
|
||||
NIGHTLY_EVAL_SERVER_TIMEOUT = 1800
|
||||
|
||||
register_cuda_ci(est_time=3600, suite="nightly-eval-text-2-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=2880, stage="nightly", runner_config="2-gpu-large")
|
||||
|
||||
MODEL_SCORE_THRESHOLDS = {
|
||||
# sgl-eval (zero-shot chat, \boxed{}, math_verify grading). Thresholds are
|
||||
|
||||
@@ -19,7 +19,7 @@ from sglang.test.test_utils import (
|
||||
# Use a longer timeout than the default 600s.
|
||||
NIGHTLY_EVAL_SERVER_TIMEOUT = 1800
|
||||
|
||||
register_cuda_ci(est_time=7200, suite="nightly-eval-vlm-2-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=7200, stage="nightly", runner_config="2-gpu-large")
|
||||
|
||||
MODEL_THRESHOLDS = {
|
||||
# Conservative thresholds on 100 MMMU samples, especially for latency thresholds
|
||||
|
||||
@@ -6,9 +6,7 @@ from sglang.test.performance_test_runner import PerformanceTestParams
|
||||
from sglang.test.run_combined_tests import run_combined_tests
|
||||
from sglang.test.test_utils import ModelLaunchSettings
|
||||
|
||||
register_cuda_ci(
|
||||
est_time=7200, suite="nightly-4-gpu-gb300-deepseek-v4-pro-fp4", nightly=True
|
||||
)
|
||||
register_cuda_ci(est_time=7200, stage="nightly", runner_config="4-gpu-gb300")
|
||||
|
||||
MODEL_PATH = "deepseek-ai/DeepSeek-V4-Pro"
|
||||
SERVER_LAUNCH_TIMEOUT = 3600
|
||||
|
||||
@@ -6,7 +6,7 @@ from sglang.test.performance_test_runner import PerformanceTestParams
|
||||
from sglang.test.run_combined_tests import run_combined_tests
|
||||
from sglang.test.test_utils import ModelLaunchSettings
|
||||
|
||||
register_cuda_ci(est_time=7200, suite="nightly-4-gpu-gb300-glm5-nvfp4", nightly=True)
|
||||
register_cuda_ci(est_time=2280, stage="nightly", runner_config="4-gpu-gb300")
|
||||
|
||||
MODEL_PATH = "nvidia/GLM-5.2-NVFP4"
|
||||
|
||||
|
||||
@@ -6,9 +6,7 @@ from sglang.test.performance_test_runner import PerformanceTestParams
|
||||
from sglang.test.run_combined_tests import run_combined_tests
|
||||
from sglang.test.test_utils import ModelLaunchSettings
|
||||
|
||||
register_cuda_ci(
|
||||
est_time=7200, suite="nightly-4-gpu-gb300-kimi-k25-nvfp4", nightly=True
|
||||
)
|
||||
register_cuda_ci(est_time=7200, stage="nightly", runner_config="4-gpu-gb300")
|
||||
|
||||
MODEL_PATH = "nvidia/Kimi-K2.5-NVFP4"
|
||||
DRAFT_MODEL_PATH = "lightseekorg/kimi-k2.5-eagle3-mla"
|
||||
|
||||
@@ -6,7 +6,7 @@ from sglang.test.performance_test_runner import PerformanceTestParams
|
||||
from sglang.test.run_combined_tests import run_combined_tests
|
||||
from sglang.test.test_utils import ModelLaunchSettings
|
||||
|
||||
register_cuda_ci(est_time=7200, suite="nightly-4-gpu-gb300-qwen35-fp8", nightly=True)
|
||||
register_cuda_ci(est_time=7200, stage="nightly", runner_config="4-gpu-gb300")
|
||||
|
||||
MODEL_PATH = "Qwen/Qwen3.5-397B-A17B-FP8"
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ from sglang.kernels.ops.kv_canary.verify import VerifyPlan
|
||||
from sglang.kernels.ops.kv_canary.write import WritePlan
|
||||
from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
|
||||
|
||||
register_cuda_ci(est_time=900, suite="nightly-kernel-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=40, stage="nightly", runner_config="1-gpu-large")
|
||||
# AMD mirrors the CUDA nightly registration (nightly-only, no per-PR suite).
|
||||
register_amd_ci(est_time=900, suite="nightly-amd-kernel-1-gpu", nightly=True)
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ from sglang.kernels.ops.kv_canary.scatter_req_token_ids import (
|
||||
)
|
||||
from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
|
||||
|
||||
register_cuda_ci(est_time=180, suite="nightly-kernel-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=20, stage="nightly", runner_config="1-gpu-large")
|
||||
# AMD mirrors the CUDA nightly registration (nightly-only, no per-PR suite).
|
||||
# Note: amd_ci_exec.sh sets SGLANG_IS_IN_CI, so this runs the CI-reduced range
|
||||
# (_BS_AXIS_CI/_SEQ_LEN_AXIS_CI via get_benchmark_range), same as CUDA nightly.
|
||||
|
||||
@@ -32,7 +32,7 @@ from sglang.kernels.ops.kv_canary.verify import (
|
||||
)
|
||||
from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
|
||||
|
||||
register_cuda_ci(est_time=900, suite="nightly-kernel-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=20, stage="nightly", runner_config="1-gpu-large")
|
||||
# AMD mirrors the CUDA nightly registration (nightly-only, no per-PR suite).
|
||||
# Note: amd_ci_exec.sh sets SGLANG_IS_IN_CI, so this runs the CI-reduced range
|
||||
# (build_fast_matrix_cases via get_benchmark_range), same as CUDA nightly.
|
||||
|
||||
@@ -30,7 +30,7 @@ from sglang.kernels.ops.kv_canary.verify import (
|
||||
from sglang.kernels.ops.kv_canary.write import WritePlan, launch_canary_write_kernel
|
||||
from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
|
||||
|
||||
register_cuda_ci(est_time=900, suite="nightly-kernel-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=20, stage="nightly", runner_config="1-gpu-large")
|
||||
# AMD mirrors the CUDA nightly registration (nightly-only, no per-PR suite).
|
||||
# Note: amd_ci_exec.sh sets SGLANG_IS_IN_CI, so this runs the CI-reduced range
|
||||
# (build_fast_matrix_cases via get_benchmark_range), same as CUDA nightly.
|
||||
|
||||
@@ -14,7 +14,7 @@ from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
|
||||
|
||||
register_cuda_ci(est_time=20, stage="base-b-kernel-unit", runner_config="1-gpu-large")
|
||||
# Nightly is not redundant here: it sets SGLANG_JIT_KERNEL_RUN_FULL_TESTS=1 to expand get_ci_test_range sweeps.
|
||||
register_cuda_ci(est_time=30, suite="nightly-kernel-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=20, stage="nightly", runner_config="1-gpu-large")
|
||||
register_amd_ci(est_time=20, stage="jit-kernel-unit", runner_config="amd")
|
||||
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ from sglang.srt.layers.attention.dsa.utils import (
|
||||
from sglang.srt.utils import is_sm100_supported
|
||||
from sglang.test.ci.ci_register import register_cuda_ci
|
||||
|
||||
register_cuda_ci(est_time=180, suite="nightly-4-gpu-b200", nightly=True)
|
||||
register_cuda_ci(est_time=180, stage="nightly", runner_config="4-gpu-b200")
|
||||
|
||||
BLOCK_KV = 64
|
||||
HEAD_DIM = 128
|
||||
|
||||
@@ -17,7 +17,7 @@ from sglang.srt.layers.attention.dsa.utils import (
|
||||
from sglang.srt.utils import is_sm90_supported, is_sm100_supported
|
||||
from sglang.test.ci.ci_register import register_cuda_ci
|
||||
|
||||
register_cuda_ci(est_time=40, suite="nightly-4-gpu-b200", nightly=True)
|
||||
register_cuda_ci(est_time=40, stage="nightly", runner_config="4-gpu-b200")
|
||||
|
||||
BLOCK_KV = 64
|
||||
HEAD_DIM = 128
|
||||
|
||||
@@ -10,7 +10,7 @@ from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
|
||||
|
||||
register_cuda_ci(est_time=64, stage="base-b-kernel-unit", runner_config="1-gpu-large")
|
||||
# Nightly is not redundant here: it sets SGLANG_JIT_KERNEL_RUN_FULL_TESTS=1 to expand get_ci_test_range sweeps.
|
||||
register_cuda_ci(est_time=256, suite="nightly-kernel-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=390, stage="nightly", runner_config="1-gpu-large")
|
||||
register_amd_ci(est_time=64, suite="jit-kernel-unit-test-amd")
|
||||
|
||||
DEVICE = "cuda"
|
||||
|
||||
@@ -46,11 +46,7 @@ register_cuda_ci(
|
||||
runner_config="8-gpu-h200",
|
||||
)
|
||||
# Nightly is not redundant here: it sets SGLANG_JIT_KERNEL_RUN_FULL_TESTS=1 to expand get_ci_test_range sweeps.
|
||||
register_cuda_ci(
|
||||
est_time=300,
|
||||
suite="nightly-kernel-8-gpu-h200",
|
||||
nightly=True,
|
||||
)
|
||||
register_cuda_ci(est_time=110, stage="nightly", runner_config="8-gpu-h200")
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Test parameters
|
||||
|
||||
@@ -36,7 +36,7 @@ from sglang.test.kernels.utils import multigpu_pytest_main
|
||||
|
||||
register_cuda_ci(est_time=240, stage="extra-b", runner_config="8-gpu-h200")
|
||||
# Nightly is not redundant here: it sets SGLANG_JIT_KERNEL_RUN_FULL_TESTS=1 to expand get_ci_test_range sweeps.
|
||||
register_cuda_ci(est_time=240, suite="nightly-kernel-8-gpu-h200", nightly=True)
|
||||
register_cuda_ci(est_time=70, stage="nightly", runner_config="8-gpu-h200")
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Test parameters
|
||||
|
||||
@@ -10,7 +10,7 @@ from sglang.test.ci.ci_register import register_cuda_ci
|
||||
|
||||
register_cuda_ci(est_time=44, stage="base-b-kernel-unit", runner_config="1-gpu-large")
|
||||
# Nightly is not redundant here: it sets SGLANG_JIT_KERNEL_RUN_FULL_TESTS=1 to expand get_ci_test_range sweeps.
|
||||
register_cuda_ci(est_time=176, suite="nightly-kernel-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=220, stage="nightly", runner_config="1-gpu-large")
|
||||
|
||||
DEVICE = "cuda"
|
||||
DTYPE = torch.bfloat16
|
||||
|
||||
@@ -14,7 +14,7 @@ from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
|
||||
|
||||
register_cuda_ci(est_time=15, stage="base-b-kernel-unit", runner_config="1-gpu-large")
|
||||
# Nightly is not redundant here: it sets SGLANG_JIT_KERNEL_RUN_FULL_TESTS=1 to expand get_ci_test_range sweeps.
|
||||
register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=30, stage="nightly", runner_config="1-gpu-large")
|
||||
register_amd_ci(est_time=30, suite="nightly-amd-kernel-1-gpu", nightly=True)
|
||||
|
||||
DEVICE = "cuda"
|
||||
|
||||
@@ -18,7 +18,7 @@ from sglang.test.ci.ci_register import register_cuda_ci
|
||||
|
||||
register_cuda_ci(est_time=16, stage="base-b-kernel-unit", runner_config="1-gpu-large")
|
||||
# Nightly is not redundant here: it sets SGLANG_JIT_KERNEL_RUN_FULL_TESTS=1 to expand get_ci_test_range sweeps.
|
||||
register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=20, stage="nightly", runner_config="1-gpu-large")
|
||||
|
||||
CORRECTNESS_BATCH_SIZES = get_ci_test_range(
|
||||
[1, 2, 8, 128, 256, 512, 1536, 2048, 4096, 11008, 16384],
|
||||
|
||||
@@ -17,7 +17,7 @@ from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
|
||||
|
||||
register_cuda_ci(est_time=10, stage="base-b-kernel-unit", runner_config="1-gpu-large")
|
||||
# Nightly is not redundant here: it sets SGLANG_JIT_KERNEL_RUN_FULL_TESTS=1 to expand get_ci_test_range sweeps.
|
||||
register_cuda_ci(est_time=60, suite="nightly-kernel-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=20, stage="nightly", runner_config="1-gpu-large")
|
||||
register_amd_ci(est_time=15, suite="nightly-amd-kernel-1-gpu", nightly=True)
|
||||
|
||||
DEVICE = "cuda"
|
||||
|
||||
@@ -31,7 +31,7 @@ from sglang.test.ci.ci_register import register_cuda_ci
|
||||
|
||||
register_cuda_ci(est_time=15, stage="base-b-kernel-unit", runner_config="1-gpu-large")
|
||||
# Nightly is not redundant here: it sets SGLANG_JIT_KERNEL_RUN_FULL_TESTS=1 to expand get_ci_test_range sweeps.
|
||||
register_cuda_ci(est_time=60, suite="nightly-kernel-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=20, stage="nightly", runner_config="1-gpu-large")
|
||||
|
||||
DEVICE = "cuda"
|
||||
DTYPES = get_ci_test_range([torch.bfloat16, torch.float16], [torch.bfloat16])
|
||||
|
||||
@@ -16,7 +16,7 @@ from sglang.test.ci.ci_register import register_cuda_ci
|
||||
|
||||
register_cuda_ci(est_time=37, stage="base-b-kernel-unit", runner_config="1-gpu-large")
|
||||
# Nightly is not redundant here: it sets SGLANG_JIT_KERNEL_RUN_FULL_TESTS=1 to expand get_ci_test_range sweeps.
|
||||
register_cuda_ci(est_time=148, suite="nightly-kernel-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=110, stage="nightly", runner_config="1-gpu-large")
|
||||
|
||||
HIDDEN_DIMS = [1024, 4096, 5120, 6144, 7168]
|
||||
ROUTER_GEMM_CASES = get_ci_test_range(
|
||||
|
||||
@@ -24,7 +24,7 @@ from sglang.test.ci.ci_register import register_cuda_ci
|
||||
from sglang.test.kernels.utils import multigpu_pytest_main
|
||||
|
||||
register_cuda_ci(est_time=240, stage="base-c", runner_config="4-gpu-b200")
|
||||
register_cuda_ci(est_time=480, suite="nightly-8-gpu-b200", nightly=True)
|
||||
register_cuda_ci(est_time=480, stage="nightly", runner_config="8-gpu-b200")
|
||||
|
||||
_HIDDEN_SIZE = 7168
|
||||
_GEMM_AR_K_TOTAL = 12288
|
||||
|
||||
@@ -10,7 +10,7 @@ from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
|
||||
|
||||
register_cuda_ci(est_time=28, stage="base-b-kernel-unit", runner_config="1-gpu-large")
|
||||
# Nightly is not redundant here: it sets SGLANG_JIT_KERNEL_RUN_FULL_TESTS=1 to expand get_ci_test_range sweeps.
|
||||
register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=40, stage="nightly", runner_config="1-gpu-large")
|
||||
register_amd_ci(est_time=55, stage="jit-kernel-unit", runner_config="amd")
|
||||
|
||||
BS_LIST = [2**n for n in range(0, 15)]
|
||||
|
||||
@@ -9,7 +9,7 @@ from sglang.test.ci.ci_register import register_cuda_ci
|
||||
|
||||
register_cuda_ci(est_time=10, stage="base-b-kernel-unit", runner_config="1-gpu-large")
|
||||
# Nightly is not redundant here: it sets SGLANG_JIT_KERNEL_RUN_FULL_TESTS=1 to expand get_ci_test_range sweeps.
|
||||
register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=20, stage="nightly", runner_config="1-gpu-large")
|
||||
|
||||
|
||||
def sglang_jit_fused_add_rmsnorm(
|
||||
|
||||
@@ -10,7 +10,7 @@ from sglang.test.ci.ci_register import register_cuda_ci
|
||||
|
||||
register_cuda_ci(est_time=37, stage="base-b-kernel-unit", runner_config="1-gpu-large")
|
||||
# Nightly is not redundant here: it sets SGLANG_JIT_KERNEL_RUN_FULL_TESTS=1 to expand get_ci_test_range sweeps.
|
||||
register_cuda_ci(est_time=148, suite="nightly-kernel-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=130, stage="nightly", runner_config="1-gpu-large")
|
||||
|
||||
|
||||
def sglang_aot_qknorm(
|
||||
|
||||
@@ -10,7 +10,7 @@ from sglang.test.ci.ci_register import register_cuda_ci
|
||||
|
||||
register_cuda_ci(est_time=15, stage="base-b-kernel-unit", runner_config="1-gpu-large")
|
||||
# Nightly is not redundant here: it sets SGLANG_JIT_KERNEL_RUN_FULL_TESTS=1 to expand get_ci_test_range sweeps.
|
||||
register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=20, stage="nightly", runner_config="1-gpu-large")
|
||||
|
||||
|
||||
def sglang_jit_qknorm_across_heads(
|
||||
|
||||
@@ -10,7 +10,7 @@ from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
|
||||
|
||||
register_cuda_ci(est_time=45, stage="base-b-kernel-unit", runner_config="1-gpu-large")
|
||||
# Nightly is not redundant here: it sets SGLANG_JIT_KERNEL_RUN_FULL_TESTS=1 to expand get_ci_test_range sweeps.
|
||||
register_cuda_ci(est_time=240, suite="nightly-kernel-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=160, stage="nightly", runner_config="1-gpu-large")
|
||||
register_amd_ci(est_time=45, suite="jit-kernel-unit-test-amd")
|
||||
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
|
||||
|
||||
register_cuda_ci(est_time=30, stage="base-b-kernel-unit", runner_config="1-gpu-large")
|
||||
# Nightly is not redundant here: it sets SGLANG_JIT_KERNEL_RUN_FULL_TESTS=1 to expand get_ci_test_range sweeps.
|
||||
register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=100, stage="nightly", runner_config="1-gpu-large")
|
||||
register_amd_ci(est_time=30, stage="jit-kernel-unit", runner_config="amd")
|
||||
|
||||
EPS = 1e-5
|
||||
|
||||
@@ -16,7 +16,7 @@ from sglang.test.quant_ref_utils import (
|
||||
dequantize_nvfp4_to_dtype,
|
||||
)
|
||||
|
||||
register_cuda_ci(est_time=300, suite="nightly-4-gpu-b200", nightly=True)
|
||||
register_cuda_ci(est_time=300, stage="nightly", runner_config="4-gpu-b200")
|
||||
|
||||
if torch.cuda.get_device_capability() < (10, 0):
|
||||
pytest.skip(
|
||||
|
||||
@@ -7,7 +7,7 @@ from sglang.srt.layers.moe.topk import biased_grouped_topk_gpu, biased_grouped_t
|
||||
from sglang.srt.utils import get_device
|
||||
from sglang.test.ci.ci_register import register_cuda_ci
|
||||
|
||||
register_cuda_ci(est_time=2, suite="nightly-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=40, stage="nightly", runner_config="1-gpu-large")
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
|
||||
@@ -12,7 +12,7 @@ from sglang.test.ci.ci_register import register_cuda_ci
|
||||
|
||||
register_cuda_ci(est_time=28, stage="base-b-kernel-unit", runner_config="1-gpu-large")
|
||||
# Nightly is not redundant here: it sets SGLANG_JIT_KERNEL_RUN_FULL_TESTS=1 to expand get_ci_test_range sweeps.
|
||||
register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=50, stage="nightly", runner_config="1-gpu-large")
|
||||
|
||||
|
||||
def ceil_div(a, b):
|
||||
|
||||
@@ -13,7 +13,7 @@ from sglang.test.ci.ci_register import register_cuda_ci
|
||||
|
||||
register_cuda_ci(est_time=16, stage="base-b-kernel-unit", runner_config="1-gpu-large")
|
||||
# Nightly is not redundant here: it sets SGLANG_JIT_KERNEL_RUN_FULL_TESTS=1 to expand get_ci_test_range sweeps.
|
||||
register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=20, stage="nightly", runner_config="1-gpu-large")
|
||||
|
||||
try:
|
||||
from sglang.srt.utils import is_hip
|
||||
|
||||
@@ -34,10 +34,7 @@ import sglang as sgl
|
||||
from sglang.test.ci.ci_register import register_cuda_ci
|
||||
from sglang.test.test_utils import CustomTestCase
|
||||
|
||||
register_cuda_ci(
|
||||
est_time=300,
|
||||
suite="nightly-8-gpu-b200",
|
||||
)
|
||||
register_cuda_ci(est_time=1800, stage="nightly", runner_config="8-gpu-b200")
|
||||
|
||||
BASE_MODEL = "deepseek-ai/DeepSeek-V3.1-Base"
|
||||
LORA_HF_REPO = "yushengsu/lora-diff-DeepSeek-V3.1-Base"
|
||||
|
||||
@@ -27,7 +27,7 @@ from sglang.test.ci.ci_register import (
|
||||
register_xpu_ci,
|
||||
)
|
||||
|
||||
register_cuda_ci(est_time=200, suite="nightly-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=10, stage="nightly", runner_config="1-gpu-large")
|
||||
register_amd_ci(est_time=200, suite="nightly-amd-1-gpu", nightly=True)
|
||||
register_cpu_ci(est_time=6, suite="base-c-test-cpu")
|
||||
register_xpu_ci(est_time=10, suite="stage-a-test-1-gpu-xpu")
|
||||
|
||||
@@ -34,10 +34,7 @@ import sglang as sgl
|
||||
from sglang.test.ci.ci_register import register_cuda_ci
|
||||
from sglang.test.test_utils import CustomTestCase
|
||||
|
||||
register_cuda_ci(
|
||||
est_time=360,
|
||||
suite="nightly-8-gpu-b200",
|
||||
)
|
||||
register_cuda_ci(est_time=420, stage="nightly", runner_config="8-gpu-b200")
|
||||
|
||||
BASE_MODEL = "moonshotai/Kimi-K2.5"
|
||||
LORA_HF_REPO = "yushengsu/lora-diff-Kimi-K2.5"
|
||||
|
||||
@@ -27,7 +27,7 @@ from sglang.test.test_utils import (
|
||||
popen_launch_server,
|
||||
)
|
||||
|
||||
register_cuda_ci(est_time=150, suite="nightly-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=180, stage="nightly", runner_config="1-gpu-large")
|
||||
register_amd_ci(est_time=150, suite="nightly-amd-1-gpu", nightly=True)
|
||||
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import sglang as sgl
|
||||
from sglang.test.ci.ci_register import register_cuda_ci
|
||||
from sglang.test.test_utils import CustomTestCase
|
||||
|
||||
register_cuda_ci(est_time=300, suite="nightly-4-gpu")
|
||||
register_cuda_ci(est_time=300, stage="nightly", runner_config="4-gpu-h100")
|
||||
|
||||
PROMPTS = [
|
||||
"Hello, my name is",
|
||||
|
||||
@@ -5,7 +5,7 @@ from sglang.srt.utils.common import temp_set_env
|
||||
from sglang.test.ci.ci_register import register_cuda_ci
|
||||
from sglang.test.test_utils import CustomTestCase
|
||||
|
||||
register_cuda_ci(est_time=380, suite="nightly-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=50, stage="nightly", runner_config="1-gpu-large")
|
||||
|
||||
TEST_GCS_MODEL = "gs://vertex-model-garden-public-us/codegemma/codegemma-2b/"
|
||||
|
||||
|
||||
@@ -20,11 +20,7 @@ from sglang.test.server_fixtures.disaggregation_fixture import (
|
||||
PDDisaggregationServerBase,
|
||||
)
|
||||
|
||||
register_cuda_ci(
|
||||
est_time=450,
|
||||
suite="nightly-8-gpu-b200",
|
||||
nightly=True,
|
||||
)
|
||||
register_cuda_ci(est_time=750, stage="nightly", runner_config="8-gpu-b200")
|
||||
|
||||
|
||||
class TestGLM52DSACacheLayerSplit(PDDisaggregationServerBase, GSM8KMixin):
|
||||
|
||||
@@ -32,7 +32,7 @@ from sglang.test.kits.eval_accuracy_kit import GSM8KMixin
|
||||
from sglang.test.kits.prefix_cache_branching_kit import PrefixCacheBranchingMixin
|
||||
from sglang.test.server_fixtures.default_fixture import DefaultServerBase
|
||||
|
||||
register_cuda_ci(est_time=600, suite="nightly-4-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=570, stage="nightly", runner_config="4-gpu-h100")
|
||||
|
||||
KIMI_LINEAR_MODEL = "moonshotai/Kimi-Linear-48B-A3B-Instruct"
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ from sglang.test.test_utils import (
|
||||
|
||||
# 60 test classes testing hybrid parallelism configurations
|
||||
# Each test launches server + runs MMLU eval (~90s per test)
|
||||
register_cuda_ci(est_time=5400, suite="weekly-8-gpu-h200", nightly=True)
|
||||
register_cuda_ci(est_time=8160, stage="weekly", runner_config="8-gpu-h200")
|
||||
|
||||
|
||||
class Test00(CustomTestCase):
|
||||
|
||||
@@ -9,7 +9,7 @@ from sglang.test.test_utils import (
|
||||
parse_models,
|
||||
)
|
||||
|
||||
register_cuda_ci(est_time=3600, suite="nightly-perf-text-2-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=450, stage="nightly", runner_config="2-gpu-large")
|
||||
|
||||
RESULT_DIR = "performance_results_text_models"
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ from sglang.test.test_utils import (
|
||||
parse_models,
|
||||
)
|
||||
|
||||
register_cuda_ci(est_time=7200, suite="nightly-perf-vlm-2-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=750, stage="nightly", runner_config="2-gpu-large")
|
||||
|
||||
RESULT_DIR = "performance_results_vlms"
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ MIMO_LAUNCH_TIMEOUT = 3600
|
||||
|
||||
# MiMo V2.5 is pre-cached on the eight-H200 runner. The H200-only nightly suite
|
||||
# exercises the asymmetric MHA host pool end to end without adding PR CI cost.
|
||||
register_cuda_ci(est_time=1200, suite="nightly-8-gpu-h200", nightly=True)
|
||||
register_cuda_ci(est_time=270, stage="nightly", runner_config="8-gpu-h200")
|
||||
|
||||
|
||||
class TestUnifiedMiMoHiCacheLoadBackKL(CustomTestCase):
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ from sglang.test.test_utils import (
|
||||
GLM5_MODEL = "zai-org/GLM-5.2-FP8"
|
||||
GLM5_LAUNCH_TIMEOUT = 3600
|
||||
|
||||
register_cuda_ci(est_time=900, suite="nightly-8-gpu-h200", nightly=True)
|
||||
register_cuda_ci(est_time=690, stage="nightly", runner_config="8-gpu-h200")
|
||||
|
||||
|
||||
class AccuracyTwoPassMixin:
|
||||
|
||||
@@ -34,7 +34,7 @@ from sglang.test.test_utils import (
|
||||
popen_launch_server,
|
||||
)
|
||||
|
||||
register_cuda_ci(est_time=150, suite="nightly-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=60, stage="nightly", runner_config="1-gpu-large")
|
||||
|
||||
_MODEL_NAME = "Qwen/Qwen3-0.6B"
|
||||
# We address the up half via the HF-style unfused name "up_proj.weight". sglang's
|
||||
|
||||
@@ -20,7 +20,7 @@ from sglang.test.test_utils import (
|
||||
popen_launch_server,
|
||||
)
|
||||
|
||||
register_cuda_ci(est_time=120, suite="nightly-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=50, stage="nightly", runner_config="1-gpu-large")
|
||||
register_amd_ci(est_time=120, suite="nightly-amd-1-gpu", nightly=True)
|
||||
register_cpu_ci(est_time=184, suite="base-c-test-cpu")
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ from sglang.test.test_utils import CustomTestCase
|
||||
|
||||
# Note: MI300 (gfx942) has 64KB shared memory limit but kernel needs 66KB
|
||||
# MI35x (gfx950/CDNA4) may have different limits - testing on MI35x only
|
||||
register_cuda_ci(est_time=10, suite="nightly-1-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=20, stage="nightly", runner_config="1-gpu-large")
|
||||
register_amd_ci(est_time=10, suite="nightly-amd-1-gpu-mi35x", nightly=True)
|
||||
|
||||
device_type = getattr(torch.accelerator.current_accelerator(), "type", "cpu")
|
||||
|
||||
@@ -7,7 +7,7 @@ from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
|
||||
from sglang.test.kits.mmmu_vlm_kit import MMMUMultiModelTestBase
|
||||
from sglang.test.test_utils import is_in_ci
|
||||
|
||||
register_cuda_ci(est_time=500, suite="nightly-4-gpu", nightly=True)
|
||||
register_cuda_ci(est_time=510, stage="nightly", runner_config="4-gpu-h100")
|
||||
register_amd_ci(est_time=500, suite="nightly-amd-4-gpu", nightly=True)
|
||||
|
||||
MODELS = [
|
||||
|
||||
+33
-40
@@ -121,34 +121,16 @@ PER_COMMIT_SUITES = {
|
||||
# Nightly test suites (run nightly, organized by GPU configuration)
|
||||
NIGHTLY_SUITES = {
|
||||
HWBackend.CUDA: [
|
||||
"nightly-1-gpu",
|
||||
"nightly-2-gpu",
|
||||
"nightly-4-gpu",
|
||||
"nightly-4-gpu-b200",
|
||||
"nightly-8-gpu",
|
||||
"nightly-8-gpu-h200",
|
||||
"nightly-8-gpu-h20",
|
||||
"nightly-8-gpu-b200",
|
||||
"nightly-8-gpu-h200-basic", # Basic tests for large models on H200
|
||||
"nightly-8-gpu-b200-basic", # Basic tests for large models on B200
|
||||
"nightly-8-gpu-common", # Common tests that run on both H200 and B200
|
||||
"nightly-kernel-1-gpu",
|
||||
"nightly-kernel-8-gpu-h200",
|
||||
# Eval and perf suites (2-gpu)
|
||||
"nightly-eval-text-2-gpu",
|
||||
"nightly-eval-vlm-2-gpu",
|
||||
"nightly-perf-text-2-gpu",
|
||||
"nightly-perf-vlm-2-gpu",
|
||||
# GB300 (4x GB300 NVL4) nightly suites
|
||||
"nightly-4-gpu-gb300",
|
||||
"nightly-4-gpu-gb300-deepseek-v4-pro-fp4",
|
||||
"nightly-4-gpu-gb300-glm5-nvfp4",
|
||||
"nightly-4-gpu-gb300-kimi-k25",
|
||||
"nightly-4-gpu-gb300-kimi-k25-nvfp4",
|
||||
"nightly-4-gpu-gb300-qwen35-fp8",
|
||||
"nightly-4-gpu-gb300-qwen35-nvfp4",
|
||||
# Nightly precision regression (per-layer hidden state comparison)
|
||||
"nightly-precision-8-gpu-h200",
|
||||
# `stage="nightly"` + a runner_config, same `{stage}-test-{runner_config}`
|
||||
# shape as the per-commit suites. No `nightly=True`: the stage name
|
||||
# carries the cadence; only the legacy suites below still need the flag.
|
||||
"nightly-test-1-gpu-large",
|
||||
"nightly-test-2-gpu-large",
|
||||
"nightly-test-4-gpu-h100",
|
||||
"nightly-test-4-gpu-b200",
|
||||
"nightly-test-4-gpu-gb300",
|
||||
"nightly-test-8-gpu-h200",
|
||||
"nightly-test-8-gpu-b200",
|
||||
],
|
||||
HWBackend.AMD: [
|
||||
"nightly-amd",
|
||||
@@ -194,7 +176,9 @@ OTHER_SUITES = {
|
||||
],
|
||||
HWBackend.CUDA: [
|
||||
"stress",
|
||||
"weekly-8-gpu-h200",
|
||||
# `stage="weekly"` -- same shape. The three dicts group names for
|
||||
# readability only; validation reads their union.
|
||||
"weekly-test-8-gpu-h200",
|
||||
],
|
||||
}
|
||||
|
||||
@@ -244,14 +228,10 @@ def filter_tests(
|
||||
if t.backend == hw and t.effective_suite == suite and t.nightly == nightly
|
||||
]
|
||||
|
||||
valid_suites = (
|
||||
NIGHTLY_SUITES.get(hw, []) if nightly else PER_COMMIT_SUITES.get(hw, [])
|
||||
)
|
||||
|
||||
if suite not in valid_suites:
|
||||
print(
|
||||
f"Warning: Unknown suite {suite} for backend {hw.name}, nightly={nightly}"
|
||||
)
|
||||
# Union of all three dicts, not just the per-commit or nightly half:
|
||||
# CUDA nightly suites are selected by name alone, without --nightly.
|
||||
if suite not in _valid_suites_by_backend().get(hw, set()):
|
||||
print(f"Warning: Unknown suite {suite} for backend {hw.name}")
|
||||
|
||||
enabled_tests = [t for t in ci_tests if t.disabled is None]
|
||||
skipped_tests = [t for t in ci_tests if t.disabled is not None]
|
||||
@@ -369,9 +349,11 @@ def run_a_suite(args):
|
||||
|
||||
pretty_print_tests(args, ci_tests, skipped_tests)
|
||||
|
||||
# None hands the per-file budget over to est_time (see run_unittest_files).
|
||||
timeout = None if args.timeout_from_est_time else args.timeout_per_file
|
||||
|
||||
# Add extra timeout when retry is enabled
|
||||
timeout = args.timeout_per_file
|
||||
if args.enable_retry:
|
||||
if timeout is not None and args.enable_retry:
|
||||
timeout += args.retry_timeout_increase
|
||||
|
||||
return run_unittest_files(
|
||||
@@ -399,7 +381,10 @@ def main():
|
||||
parser.add_argument(
|
||||
"--nightly",
|
||||
action="store_true",
|
||||
help="Run nightly tests instead of per-commit tests.",
|
||||
help=(
|
||||
"Include tests registered with nightly=True (AMD/CPU/NPU). CUDA "
|
||||
"scheduled suites are selected by name and take no flag."
|
||||
),
|
||||
)
|
||||
parser.add_argument(
|
||||
"--timeout-per-file",
|
||||
@@ -407,6 +392,14 @@ def main():
|
||||
default=1200,
|
||||
help="The time limit for running one file in seconds (default: 1200).",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--timeout-from-est-time",
|
||||
action="store_true",
|
||||
help=(
|
||||
"Derive each file's time limit from its own est_time instead of "
|
||||
"the flat --timeout-per-file, for suites mixing fast and slow tests."
|
||||
),
|
||||
)
|
||||
parser.add_argument(
|
||||
"--continue-on-error",
|
||||
action="store_true",
|
||||
|
||||
Reference in New Issue
Block a user