[Bugfix] Stamp capture-time num_tokens_per_req in multi-layer EAGLE; close jit_kernel CI filter gaps (#31367)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: hnyls2002 <lsyincs@gmail.com>
This commit is contained in:
Yuzhen Zhou
2026-07-15 15:24:32 -07:00
committed by GitHub
co-authored by Claude Fable 5 hnyls2002
parent 3101c1258c
commit 7a973c03a0
12 changed files with 15 additions and 11 deletions
@@ -103,6 +103,9 @@ jobs:
- "python/pyproject.toml"
- "python/sglang/jit_kernel/**"
- "test/registered/jit/**"
# sglang.kernels is the migrated kernel namespace (RFC #29630 / #30044); the
# base-b-kernel suites import it directly, so kernel edits must run them.
- "python/sglang/kernels/**"
sgl_kernel:
# Intentionally excludes ".github/workflows/pr-test-sgl-kernel.yml" —
# see API-side detector below for rationale.
@@ -273,6 +273,7 @@ class MultiLayerEagleDraftExtendCudaGraphRunner(DecodeCudaGraphRunner):
num_correct_drafts=num_correct_drafts,
num_accept_tokens=num_accept_tokens,
)
spec_info.num_tokens_per_req = self.num_tokens_per_req
spec_info.positions = None
capture_mode = (
@@ -10,11 +10,11 @@ import torch
from sglang.test.ci.ci_register import register_cuda_ci
# SM100 single-GPU kernel-unit suite, same slot as the CuteDSL KDA prefill test.
# SM100 suite, same slot as the CuteDSL KDA prefill test.
# Disabled in public CI until the B200 runner image ships recurrent_kda.
register_cuda_ci(
est_time=60,
stage="base-b-kernel-unit",
stage="base-b",
runner_config="4-gpu-b200",
disabled="recurrent_kda (SM100 KDA decode) not guaranteed in public CI FlashInfer build",
)
@@ -23,7 +23,7 @@ from sglang.srt.model_executor.forward_batch_info import ForwardMode
from sglang.test.ci.ci_register import register_cuda_ci
# trtllm_mha kernels are sm100-only; run this kernel-unit test on Blackwell.
register_cuda_ci(est_time=30, stage="base-b-kernel-unit", runner_config="4-gpu-b200")
register_cuda_ci(est_time=30, stage="base-b", runner_config="4-gpu-b200")
DEVICE = "cuda"
PAGE_SIZE = 128
@@ -45,7 +45,7 @@ from sglang.test.ci.ci_register import register_cuda_ci
register_cuda_ci(
est_time=300,
stage="base-b-kernel-unit",
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.
@@ -31,7 +31,7 @@ from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
_is_hip = is_hip()
register_cuda_ci(est_time=45, stage="base-b-kernel-unit", runner_config="1-gpu-large")
register_cuda_ci(est_time=45, stage="base-b", runner_config="1-gpu-large")
register_amd_ci(est_time=45, suite="jit-kernel-unit-test-amd")
HEAD_DIM = 128
+1 -1
View File
@@ -14,7 +14,7 @@ from sglang.srt.mem_cache.pool_host.mla import MLATokenToKVPoolHost
from sglang.srt.utils import is_cuda, is_hip, is_npu, is_xpu
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")
register_cuda_ci(est_time=10, stage="base-b", runner_config="1-gpu-large")
pytestmark = pytest.mark.skipif(
not torch.cuda.is_available()
@@ -24,7 +24,7 @@ from sglang.srt.mem_cache.pool_host.mla import MLATokenToKVPoolHost
from sglang.srt.utils import is_cuda, is_hip, is_npu, is_xpu
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")
register_cuda_ci(est_time=15, stage="base-b", runner_config="1-gpu-large")
register_amd_ci(est_time=30, stage="jit-kernel-unit", runner_config="amd")
pytestmark = pytest.mark.skipif(
@@ -7,7 +7,7 @@ import torch
from sglang.srt.mem_cache.pool_host.mha import AsymmetricMHATokenToKVPoolHost
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")
register_cuda_ci(est_time=10, stage="base-b", runner_config="1-gpu-large")
register_amd_ci(est_time=10, suite="nightly-amd-kernel-1-gpu", nightly=True)
# These tests use AsymmetricMHATokenToKVPoolHost methods and let that class call
+1 -1
View File
@@ -20,7 +20,7 @@ from sglang.test.test_marlin_utils import (
marlin_quantize,
)
register_cuda_ci(est_time=10, stage="base-b-kernel-unit", runner_config="1-gpu-large")
register_cuda_ci(est_time=10, stage="base-b", runner_config="1-gpu-large")
def _has_aot_moe_wna16_marlin_gemm() -> bool:
@@ -34,7 +34,7 @@ from sglang.srt.distributed.device_communicators.triton_symm_mem_ag import (
)
from sglang.test.ci.ci_register import register_cuda_ci
register_cuda_ci(est_time=240, stage="base-b-kernel-unit", runner_config="8-gpu-h200")
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)
+1 -1
View File
@@ -29,7 +29,7 @@ from sglang.test.ci.ci_register import register_cuda_ci
register_cuda_ci(
est_time=300,
stage="base-b-kernel-unit",
stage="extra-b",
runner_config="8-gpu-h200",
)