Register CPU CI for 17 e2e tests and partition xeon base-c suite (#35227)
Co-authored-by: Zhang, Mingxu <mingxu.zhang@intel.com> Co-authored-by: MingxuZh <109504044+MingxuZh@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
co-authored by
Zhang, Mingxu
MingxuZh
Copilot Autofix powered by AI
Claude
parent
11b1b4c374
commit
514b997e6c
@@ -83,11 +83,35 @@ jobs:
|
|||||||
runs-on: ${{ matrix.runner }}
|
runs-on: ${{ matrix.runner }}
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
|
# GNR runs only the TP suite (needs >=6 NUMA nodes for --tp 6),
|
||||||
|
# full machine, no partitioning. 4 files: 3 TP + autoround.
|
||||||
- runner: xeon-gnr
|
- runner: xeon-gnr
|
||||||
suite: base-b-test-cpu
|
role: gnr
|
||||||
partition_args: ""
|
suite: "base-b-tp-test-cpu"
|
||||||
|
name: gnr
|
||||||
|
|
||||||
|
# Each SPR box (2 sockets / 2 NUMA, 32 cores each) is ONE job that
|
||||||
|
# runs two socket-pinned containers in parallel, each taking one
|
||||||
|
# partition of a 4-way split over the merged non-TP pool
|
||||||
|
# (base-b non-TP + base-c). Building once per job keeps both
|
||||||
|
# containers on the same locally-built image.
|
||||||
|
- runner: xeon-spr
|
||||||
|
role: spr
|
||||||
|
suite: "base-b-test-cpu,base-c-test-cpu"
|
||||||
|
name: spr1
|
||||||
|
part_size: 4
|
||||||
|
part_lo: 0 # socket0
|
||||||
|
part_hi: 1 # socket1
|
||||||
|
- runner: xeon-spr
|
||||||
|
role: spr
|
||||||
|
suite: "base-b-test-cpu,base-c-test-cpu"
|
||||||
|
name: spr2
|
||||||
|
part_size: 4
|
||||||
|
part_lo: 2 # socket0
|
||||||
|
part_hi: 3 # socket1
|
||||||
steps:
|
steps:
|
||||||
- name: Cleanup workspace
|
- name: Cleanup workspace
|
||||||
run: |
|
run: |
|
||||||
@@ -100,10 +124,13 @@ jobs:
|
|||||||
clean: false
|
clean: false
|
||||||
ref: ${{ inputs.ref || github.ref }}
|
ref: ${{ inputs.ref || github.ref }}
|
||||||
|
|
||||||
- name: Build and Push
|
- name: Build image
|
||||||
run: |
|
run: |
|
||||||
version=$(cat python/sglang/version.py | cut -d'"' -f2)
|
# Fixed tag (no SHA): a new build overwrites the previous image so a
|
||||||
tag=v${version}-xeon
|
# self-hosted box does not accumulate multi-GB images across PRs.
|
||||||
|
# --no-cache keeps the CPU image clean (past sgl-eval/accelerate gaps
|
||||||
|
# came from stale layers). One build per job; on SPR both socket
|
||||||
|
# containers reuse this locally-built image.
|
||||||
PR_REPO=${{ github.event.pull_request.head.repo.clone_url }}
|
PR_REPO=${{ github.event.pull_request.head.repo.clone_url }}
|
||||||
PR_HEAD_REF=${{ github.head_ref }}
|
PR_HEAD_REF=${{ github.head_ref }}
|
||||||
|
|
||||||
@@ -112,37 +139,89 @@ jobs:
|
|||||||
${PR_HEAD_REF:+--build-arg VER_SGLANG=$PR_HEAD_REF} \
|
${PR_HEAD_REF:+--build-arg VER_SGLANG=$PR_HEAD_REF} \
|
||||||
. -f docker/xeon.Dockerfile -t sglang_xeon --no-cache
|
. -f docker/xeon.Dockerfile -t sglang_xeon --no-cache
|
||||||
|
|
||||||
- name: Run container
|
# ==================== GNR: full machine, TP suite ==================== #
|
||||||
|
- name: Run container (GNR)
|
||||||
|
if: matrix.role == 'gnr'
|
||||||
run: |
|
run: |
|
||||||
|
docker rm -f ci_sglang_${{ matrix.name }} || true
|
||||||
docker run -dt \
|
docker run -dt \
|
||||||
-v ${{ github.workspace }}:/sglang-checkout/ --ipc=host \
|
-v ${{ github.workspace }}:/sglang-checkout/ --ipc=host \
|
||||||
-v $HOME/.cache/huggingface:/root/.cache/huggingface \
|
-v $HOME/.cache/huggingface:/root/.cache/huggingface \
|
||||||
-e HF_TOKEN="$(cat ~/huggingface_token.txt)" \
|
-e HF_TOKEN="$(cat ~/huggingface_token.txt)" \
|
||||||
--name ci_sglang_${{ matrix.runner }} \
|
--name ci_sglang_${{ matrix.name }} \
|
||||||
sglang_xeon
|
sglang_xeon
|
||||||
|
|
||||||
- name: Check AMX support
|
- name: Check AMX support (GNR)
|
||||||
id: check_amx
|
if: matrix.role == 'gnr'
|
||||||
timeout-minutes: 5
|
timeout-minutes: 5
|
||||||
run: |
|
run: |
|
||||||
docker exec -w /sglang-checkout/ ci_sglang_${{ matrix.runner }} \
|
docker exec -w /sglang-checkout/ ci_sglang_${{ matrix.name }} \
|
||||||
bash -c "source /opt/.venv/bin/activate && python3 -c 'import torch; import sgl_kernel; assert torch.cpu._is_amx_tile_supported(); assert hasattr(torch.ops.sgl_kernel, \"convert_weight_packed\"); '"
|
bash -c "source /opt/.venv/bin/activate && python3 -c 'import torch; import sgl_kernel; assert torch.cpu._is_amx_tile_supported(); assert hasattr(torch.ops.sgl_kernel, \"convert_weight_packed\"); '"
|
||||||
|
|
||||||
- name: Run unit tests
|
- name: Run unit tests (GNR)
|
||||||
|
if: matrix.role == 'gnr'
|
||||||
timeout-minutes: 120
|
timeout-minutes: 120
|
||||||
run: |
|
run: |
|
||||||
docker exec -w /sglang-checkout/ ci_sglang_${{ matrix.runner }} \
|
docker exec -w /sglang-checkout/ ci_sglang_${{ matrix.name }} \
|
||||||
bash -c "source /opt/.venv/bin/activate && cd ./test && python3 run_suite.py --hw cpu --suite ${{ matrix.suite }} ${{ matrix.partition_args }}"
|
bash -c "source /opt/.venv/bin/activate && cd ./test && python3 run_suite.py --hw cpu --suite ${{ matrix.suite }} --timeout-from-est-time"
|
||||||
|
|
||||||
|
# ============ SPR: two socket-pinned containers in parallel ========== #
|
||||||
|
- name: Run unit tests (SPR, two sockets in parallel)
|
||||||
|
if: matrix.role == 'spr'
|
||||||
|
timeout-minutes: 120
|
||||||
|
run: |
|
||||||
|
set -uo pipefail
|
||||||
|
HF_TOKEN_VAL="$(cat ~/huggingface_token.txt)"
|
||||||
|
|
||||||
|
# $1 socket id, $2 cpuset-cpus, $3 cpuset-mems, $4 partition id
|
||||||
|
run_socket () {
|
||||||
|
local sid=$1 cpus=$2 mems=$3 pid=$4
|
||||||
|
local cname=ci_sglang_${{ matrix.name }}_s${sid}
|
||||||
|
docker rm -f "$cname" >/dev/null 2>&1 || true
|
||||||
|
docker run -dt \
|
||||||
|
--cpuset-cpus="$cpus" --cpuset-mems="$mems" \
|
||||||
|
-v ${{ github.workspace }}:/sglang-checkout/ --ipc=host \
|
||||||
|
-v $HOME/.cache/huggingface:/root/.cache/huggingface \
|
||||||
|
-e HF_TOKEN="$HF_TOKEN_VAL" \
|
||||||
|
-e SGLANG_CPU_OMP_THREADS_BIND="$cpus" \
|
||||||
|
--name "$cname" \
|
||||||
|
sglang_xeon
|
||||||
|
# AMX sanity on this socket, then the partition it owns.
|
||||||
|
docker exec -w /sglang-checkout/ "$cname" bash -c \
|
||||||
|
"source /opt/.venv/bin/activate && python3 -c 'import torch; import sgl_kernel; assert torch.cpu._is_amx_tile_supported(); assert hasattr(torch.ops.sgl_kernel, \"convert_weight_packed\")' && \
|
||||||
|
cd ./test && python3 run_suite.py --hw cpu --suite ${{ matrix.suite }} --auto-partition-id $pid --auto-partition-size ${{ matrix.part_size }} --timeout-from-est-time"
|
||||||
|
}
|
||||||
|
|
||||||
|
# socket0 -> part_lo, socket1 -> part_hi; run concurrently, wait both.
|
||||||
|
# Runners have hyper-threading OFF: 64 physical cores = CPUs 0-63,
|
||||||
|
# NUMA0=0-31, NUMA1=32-63 (no sibling range).
|
||||||
|
run_socket 0 "0-31" 0 ${{ matrix.part_lo }} > s0.log 2>&1 &
|
||||||
|
P0=$!
|
||||||
|
run_socket 1 "32-63" 1 ${{ matrix.part_hi }} > s1.log 2>&1 &
|
||||||
|
P1=$!
|
||||||
|
|
||||||
|
rc=0
|
||||||
|
wait $P0 || rc=1
|
||||||
|
wait $P1 || rc=1
|
||||||
|
|
||||||
|
echo "==================== socket0 (partition ${{ matrix.part_lo }}) ===================="
|
||||||
|
cat s0.log || true
|
||||||
|
echo "==================== socket1 (partition ${{ matrix.part_hi }}) ===================="
|
||||||
|
cat s1.log || true
|
||||||
|
exit $rc
|
||||||
|
|
||||||
|
# ============================ Common ================================= #
|
||||||
- name: Change permission
|
- name: Change permission
|
||||||
|
if: always()
|
||||||
timeout-minutes: 2
|
timeout-minutes: 2
|
||||||
run: |
|
run: |
|
||||||
docker exec -u root ci_sglang_${{ matrix.runner }} bash -c "
|
for c in ci_sglang_${{ matrix.name }} ci_sglang_${{ matrix.name }}_s0 ci_sglang_${{ matrix.name }}_s1; do
|
||||||
rm -rf /tmp/ci-home &&
|
docker exec -u root "$c" bash -c "rm -rf /tmp/ci-home && chown -R $(id -u):$(id -g) /sglang-checkout/ 2>/dev/null || true" 2>/dev/null || true
|
||||||
chown -R $(id -u):$(id -g) /sglang-checkout/ 2>/dev/null || true
|
done
|
||||||
"
|
|
||||||
|
|
||||||
- name: Cleanup container
|
- name: Cleanup container
|
||||||
if: always()
|
if: always()
|
||||||
run: |
|
run: |
|
||||||
docker rm -f ci_sglang_${{ matrix.runner }} || true
|
for c in ci_sglang_${{ matrix.name }} ci_sglang_${{ matrix.name }}_s0 ci_sglang_${{ matrix.name }}_s1; do
|
||||||
|
docker rm -f "$c" || true
|
||||||
|
done
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ RUN source /opt/.venv/bin/activate && \
|
|||||||
git checkout ${VER_SGLANG} && \
|
git checkout ${VER_SGLANG} && \
|
||||||
cd python && \
|
cd python && \
|
||||||
cp pyproject_cpu.toml pyproject.toml && \
|
cp pyproject_cpu.toml pyproject.toml && \
|
||||||
uv pip install . && \
|
uv pip install ".[diffusion]" && \
|
||||||
cd sglang/kernels/aot && \
|
cd sglang/kernels/aot && \
|
||||||
cp pyproject_cpu.toml pyproject.toml && \
|
cp pyproject_cpu.toml pyproject.toml && \
|
||||||
uv pip install . && \
|
uv pip install . && \
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ from sglang.test.ci.ci_register import register_cpu_ci
|
|||||||
from sglang.test.test_utils import CustomTestCase
|
from sglang.test.test_utils import CustomTestCase
|
||||||
|
|
||||||
register_cpu_ci(est_time=40, suite="base-a-test-cpu")
|
register_cpu_ci(est_time=40, suite="base-a-test-cpu")
|
||||||
register_cpu_ci(est_time=7, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=46, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class _DummyTokenTensor:
|
class _DummyTokenTensor:
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ from sglang.test.test_utils import (
|
|||||||
popen_launch_server,
|
popen_launch_server,
|
||||||
)
|
)
|
||||||
|
|
||||||
register_cpu_ci(est_time=330, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=183, suite="base-b-tp-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestAutoRoundCPUConfig(CustomTestCase):
|
class TestAutoRoundCPUConfig(CustomTestCase):
|
||||||
|
|||||||
@@ -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.ci.ci_register import register_cpu_ci
|
||||||
from sglang.test.cpu_test_utils import GeluAndMul, SiluAndMul, precision
|
from sglang.test.cpu_test_utils import GeluAndMul, SiluAndMul, precision
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=9, suite="base-b-test-cpu")
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu-arm64")
|
register_cpu_ci(est_time=10, suite="base-b-test-cpu-arm64")
|
||||||
|
|
||||||
torch.manual_seed(1234)
|
torch.manual_seed(1234)
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ kernel = torch.ops.sgl_kernel
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
from sglang.test.test_utils import CustomTestCase
|
from sglang.test.test_utils import CustomTestCase
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=6, suite="base-b-tp-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestBinding(CustomTestCase):
|
class TestBinding(CustomTestCase):
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ from sglang.test.ci.ci_register import register_cpu_ci
|
|||||||
from sglang.test.cpu_test_utils import precision
|
from sglang.test.cpu_test_utils import precision
|
||||||
from sglang.test.test_utils import CustomTestCase
|
from sglang.test.test_utils import CustomTestCase
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=13, suite="base-b-test-cpu")
|
||||||
|
|
||||||
torch.manual_seed(1234)
|
torch.manual_seed(1234)
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ from sglang.test.ci.ci_register import register_cpu_ci
|
|||||||
from sglang.test.cpu_test_utils import parametrize, precision
|
from sglang.test.cpu_test_utils import parametrize, precision
|
||||||
from sglang.test.test_utils import CustomTestCase
|
from sglang.test.test_utils import CustomTestCase
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=7, suite="base-b-test-cpu")
|
||||||
|
|
||||||
causal_conv1d_weight_pack = torch.ops.sgl_kernel.causal_conv1d_weight_pack
|
causal_conv1d_weight_pack = torch.ops.sgl_kernel.causal_conv1d_weight_pack
|
||||||
causal_conv1d_fwd = torch.ops.sgl_kernel.causal_conv1d_fwd_cpu
|
causal_conv1d_fwd = torch.ops.sgl_kernel.causal_conv1d_fwd_cpu
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import torch.multiprocessing as mp
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
from sglang.test.test_utils import CustomTestCase, find_available_port
|
from sglang.test.test_utils import CustomTestCase, find_available_port
|
||||||
|
|
||||||
register_cpu_ci(est_time=30, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=43, suite="base-b-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
def run_distributed_test(rank, world_size, master_port, output_writer, fn):
|
def run_distributed_test(rank, world_size, master_port, output_writer, fn):
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ from sglang.test.test_utils import (
|
|||||||
popen_launch_server,
|
popen_launch_server,
|
||||||
)
|
)
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=315, suite="base-b-tp-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestCPUGraph(CustomTestCase):
|
class TestCPUGraph(CustomTestCase):
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ from torch.nn.functional import scaled_dot_product_attention
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
from sglang.test.test_utils import CustomTestCase
|
from sglang.test.test_utils import CustomTestCase
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=7, suite="base-b-test-cpu")
|
||||||
|
|
||||||
torch.manual_seed(1234)
|
torch.manual_seed(1234)
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ from sglang.test.ci.ci_register import register_cpu_ci
|
|||||||
from sglang.test.cpu_test_utils import parametrize, precision
|
from sglang.test.cpu_test_utils import parametrize, precision
|
||||||
from sglang.test.test_utils import CustomTestCase
|
from sglang.test.test_utils import CustomTestCase
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=54, suite="base-b-test-cpu")
|
||||||
|
|
||||||
flash_attn_varlen_func = torch.ops.sgl_kernel.flash_attn_varlen_func
|
flash_attn_varlen_func = torch.ops.sgl_kernel.flash_attn_varlen_func
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ from sglang.test.cpu_test_utils import (
|
|||||||
)
|
)
|
||||||
from sglang.test.test_utils import CustomTestCase
|
from sglang.test.test_utils import CustomTestCase
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=9, suite="base-b-test-cpu")
|
||||||
|
|
||||||
torch.manual_seed(1234)
|
torch.manual_seed(1234)
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ from sglang.test.test_utils import (
|
|||||||
popen_launch_server,
|
popen_launch_server,
|
||||||
)
|
)
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=685, suite="base-b-tp-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestIntelAMXAttnBackend(CustomTestCase):
|
class TestIntelAMXAttnBackend(CustomTestCase):
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from sglang.test.test_utils import (
|
|||||||
intel_amx_benchmark,
|
intel_amx_benchmark,
|
||||||
)
|
)
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=47, suite="base-b-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestIntelAMXAttnBackendQuant(CustomTestCase):
|
class TestIntelAMXAttnBackendQuant(CustomTestCase):
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from sglang.test.test_utils import (
|
|||||||
intel_amx_benchmark,
|
intel_amx_benchmark,
|
||||||
)
|
)
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=477, suite="base-b-tp-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestIntelAMXAttnBackendQuant(CustomTestCase):
|
class TestIntelAMXAttnBackendQuant(CustomTestCase):
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ from torch.nn.functional import softplus
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
from sglang.test.cpu_test_utils import precision
|
from sglang.test.cpu_test_utils import precision
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=7, suite="base-b-test-cpu")
|
||||||
|
|
||||||
torch.manual_seed(1234)
|
torch.manual_seed(1234)
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ from sglang.test.ci.ci_register import register_cpu_ci
|
|||||||
from sglang.test.cpu_test_utils import precision
|
from sglang.test.cpu_test_utils import precision
|
||||||
from sglang.test.test_utils import CustomTestCase
|
from sglang.test.test_utils import CustomTestCase
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=8, suite="base-b-test-cpu")
|
||||||
|
|
||||||
torch.manual_seed(1234)
|
torch.manual_seed(1234)
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ from sglang.test.cpu_test_utils import (
|
|||||||
unpack_and_dequant_awq,
|
unpack_and_dequant_awq,
|
||||||
)
|
)
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=7, suite="base-b-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
def run_fused_experts(
|
def run_fused_experts(
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import torch
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
from sglang.test.cpu_test_utils import make_non_contiguous, precision
|
from sglang.test.cpu_test_utils import make_non_contiguous, precision
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=5, suite="base-b-test-cpu")
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu-arm64")
|
register_cpu_ci(est_time=10, suite="base-b-test-cpu-arm64")
|
||||||
|
|
||||||
torch.manual_seed(1234)
|
torch.manual_seed(1234)
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from sglang.test.cpu_test_utils import (
|
|||||||
)
|
)
|
||||||
from sglang.test.test_utils import CustomTestCase
|
from sglang.test.test_utils import CustomTestCase
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=7, suite="base-b-test-cpu")
|
||||||
|
|
||||||
convert_weight_packed = torch.ops.sgl_kernel.convert_weight_packed
|
convert_weight_packed = torch.ops.sgl_kernel.convert_weight_packed
|
||||||
qkv_proj_with_rope = torch.ops.sgl_kernel.qkv_proj_with_rope
|
qkv_proj_with_rope = torch.ops.sgl_kernel.qkv_proj_with_rope
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ from sglang.srt.utils import is_host_cpu_arm64
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
from sglang.test.cpu_test_utils import precision
|
from sglang.test.cpu_test_utils import precision
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=5, suite="base-b-test-cpu")
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu-arm64")
|
register_cpu_ci(est_time=10, suite="base-b-test-cpu-arm64")
|
||||||
|
|
||||||
torch.manual_seed(1234)
|
torch.manual_seed(1234)
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ from sglang.srt.utils.rank_consensus_checker import (
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
from sglang.test.test_utils import CustomTestCase, find_available_port
|
from sglang.test.test_utils import CustomTestCase, find_available_port
|
||||||
|
|
||||||
register_cpu_ci(est_time=30, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=193, suite="base-b-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
def run_distributed_test(
|
def run_distributed_test(
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ from sglang.srt.entrypoints.http_request_decompression import (
|
|||||||
)
|
)
|
||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=5, suite="base-b-test-cpu")
|
||||||
|
|
||||||
PAYLOAD = b'{"text":"hello world","n":7}'
|
PAYLOAD = b'{"text":"hello world","n":7}'
|
||||||
COMPRESSED = zstandard.ZstdCompressor().compress(PAYLOAD)
|
COMPRESSED = zstandard.ZstdCompressor().compress(PAYLOAD)
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ from starlette.datastructures import Headers
|
|||||||
from sglang.srt.entrypoints.request_headers import apply_header_overrides
|
from sglang.srt.entrypoints.request_headers import apply_header_overrides
|
||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=4, suite="base-b-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
def _obj():
|
def _obj():
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ from sglang.test.ci.ci_register import register_cpu_ci
|
|||||||
from sglang.test.cpu_test_utils import precision
|
from sglang.test.cpu_test_utils import precision
|
||||||
from sglang.test.test_utils import CustomTestCase
|
from sglang.test.test_utils import CustomTestCase
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=33, suite="base-b-test-cpu")
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu-arm64")
|
register_cpu_ci(est_time=10, suite="base-b-test-cpu-arm64")
|
||||||
|
|
||||||
torch.manual_seed(1234)
|
torch.manual_seed(1234)
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ from unittest.mock import patch
|
|||||||
from sglang.srt.server_args import ServerArgs
|
from sglang.srt.server_args import ServerArgs
|
||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=6, suite="base-b-test-cpu")
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu-arm64")
|
register_cpu_ci(est_time=10, suite="base-b-test-cpu-arm64")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ from sglang.test.cpu_test_utils import (
|
|||||||
)
|
)
|
||||||
from sglang.test.test_utils import CustomTestCase
|
from sglang.test.test_utils import CustomTestCase
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=8, suite="base-b-test-cpu")
|
||||||
|
|
||||||
torch.manual_seed(1234)
|
torch.manual_seed(1234)
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ from sglang.test.ci.ci_register import register_cpu_ci
|
|||||||
from sglang.test.cpu_test_utils import precision
|
from sglang.test.cpu_test_utils import precision
|
||||||
from sglang.test.test_utils import CustomTestCase
|
from sglang.test.test_utils import CustomTestCase
|
||||||
|
|
||||||
register_cpu_ci(est_time=20, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=6, suite="base-b-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
def _topk1_chain_inputs(bs, num_steps):
|
def _topk1_chain_inputs(bs, num_steps):
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import torch
|
|||||||
|
|
||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=25, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=14, suite="base-b-test-cpu")
|
||||||
|
|
||||||
torch.manual_seed(42)
|
torch.manual_seed(42)
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ from sglang.multimodal_gen.runtime.layers.attention.backends.subblock_sparse_att
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
from sglang.test.test_utils import CustomTestCase
|
from sglang.test.test_utils import CustomTestCase
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=9, suite="base-b-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestSubBlockSparseAttentionDispatch(CustomTestCase):
|
class TestSubBlockSparseAttentionDispatch(CustomTestCase):
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ from sglang.srt.models.llama4 import Llama4MoE
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
from sglang.test.test_utils import CustomTestCase
|
from sglang.test.test_utils import CustomTestCase
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=30, suite="base-b-test-cpu")
|
||||||
register_cpu_ci(est_time=10, suite="base-b-test-cpu-arm64")
|
register_cpu_ci(est_time=10, suite="base-b-test-cpu-arm64")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ from sglang.srt.debug_utils.comparator.utils import Pair
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=1, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=7, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestExecuteSubPlans:
|
class TestExecuteSubPlans:
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ from sglang.srt.debug_utils.comparator.utils import Pair
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=1, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=8, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
def _make_meta(
|
def _make_meta(
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import (
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=1, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=6, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
def _zigzag_order(cp_size: int) -> list[int]:
|
def _zigzag_order(cp_size: int) -> list[int]:
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import (
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=1, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=7, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestComputeReordererPlans:
|
class TestComputeReordererPlans:
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ from sglang.srt.debug_utils.comparator.utils import Pair
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=1, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=8, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestComputeAxisAlignerPlan:
|
class TestComputeAxisAlignerPlan:
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import TokenLayout
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=1, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=6, suite="base-c-test-cpu")
|
||||||
|
|
||||||
_sglang_plugin = _SGLangPlugin()
|
_sglang_plugin = _SGLangPlugin()
|
||||||
_megatron_plugin = _MegatronPlugin()
|
_megatron_plugin = _MegatronPlugin()
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ from sglang.srt.debug_utils.comparator.utils import Pair
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=1, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=6, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestExecuteConcat:
|
class TestExecuteConcat:
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ from sglang.srt.debug_utils.comparator.utils import Pair
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=1, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=8, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
def _named(tensor: torch.Tensor, names: list[str]) -> torch.Tensor:
|
def _named(tensor: torch.Tensor, names: list[str]) -> torch.Tensor:
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ from sglang.srt.debug_utils.comparator.utils import Pair
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=30, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=30, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=1, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=6, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestBuildTokenIndexSGLangThd:
|
class TestBuildTokenIndexSGLangThd:
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ from sglang.srt.debug_utils.comparator.output_types import ReplicatedCheckResult
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=1, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=8, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
def _name_tensors(
|
def _name_tensors(
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import ParallelAxis
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=1, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=6, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestNormalizeParallelInfo:
|
class TestNormalizeParallelInfo:
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import ParallelAxis, parse_dims
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=1, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=8, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestComputeUnsharderPlan:
|
class TestComputeUnsharderPlan:
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import (
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=5, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=5, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=1, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=6, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestParseDim:
|
class TestParseDim:
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import (
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=5, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=5, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=1, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=8, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestSingletonDimUtilFilterOut:
|
class TestSingletonDimUtilFilterOut:
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import (
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=5, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=5, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=1, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=7, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestFindDimIndex:
|
class TestFindDimIndex:
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import (
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=5, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=5, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=1, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=8, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestDimConstants:
|
class TestDimConstants:
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ from sglang.srt.debug_utils.comparator.threshold_dsl import DiffThresholdRule
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=20, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=20, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=1, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=7, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestComputeTensorInfo:
|
class TestComputeTensorInfo:
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ from sglang.srt.debug_utils.comparator.tensor_comparator.types import (
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=1, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=8, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
def _make_stats(**overrides) -> TensorStats:
|
def _make_stats(**overrides) -> TensorStats:
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ from sglang.srt.debug_utils.comparator.report_sink import report_sink
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=1, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=7, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
def _make_error_log(**overrides) -> ErrorLog:
|
def _make_error_log(**overrides) -> ErrorLog:
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ from sglang.srt.debug_utils.comparator.meta_overrider import (
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=1, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=8, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
# ───────────────────── Unit: MetaOverrideRule ─────────────────────
|
# ───────────────────── Unit: MetaOverrideRule ─────────────────────
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ from sglang.srt.debug_utils.comparator.utils import Pair, _check_equal_lengths
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=1, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=7, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestCheckEqualLengths:
|
class TestCheckEqualLengths:
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ from sglang.srt.debug_utils.comparator.preset import PRESETS, expand_preset
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=5, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=5, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=1, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=8, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestExpandPreset:
|
class TestExpandPreset:
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ from sglang.srt.debug_utils.comparator.utils import (
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=1, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=7, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestCalcRelDiff:
|
class TestCalcRelDiff:
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ from sglang.srt.debug_utils.source_patcher.types import EditSpec, PatchSpec
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=7, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=5, suite="base-c-test-cpu")
|
||||||
|
|
||||||
SAMPLE_MODULE_NAME = "_source_patcher_test_fixtures.sample_module"
|
SAMPLE_MODULE_NAME = "_source_patcher_test_fixtures.sample_module"
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ from sglang.srt.debug_utils.dumper import DumperConfig, _Dumper
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=8, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=6, suite="base-c-test-cpu")
|
||||||
|
|
||||||
SAMPLE_MODULE_NAME = "_source_patcher_test_fixtures.sample_module"
|
SAMPLE_MODULE_NAME = "_source_patcher_test_fixtures.sample_module"
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ from sglang.srt.debug_utils.source_patcher.types import EditSpec, PatchApplicati
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=7, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=4, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestApplyEdits:
|
class TestApplyEdits:
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ from sglang.test.test_utils import (
|
|||||||
|
|
||||||
register_cuda_ci(est_time=70, stage="nightly", runner_config="1-gpu-large")
|
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_amd_ci(est_time=40, suite="nightly-amd-1-gpu", nightly=True)
|
||||||
register_cpu_ci(est_time=225, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=48, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestCrashDump(CustomTestCase):
|
class TestCrashDump(CustomTestCase):
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ from sglang.test.ci.ci_register import register_cpu_ci
|
|||||||
from sglang.test.test_utils import CustomTestCase
|
from sglang.test.test_utils import CustomTestCase
|
||||||
|
|
||||||
register_cpu_ci(est_time=120, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=120, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=338, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=357, suite="base-c-test-cpu")
|
||||||
|
|
||||||
# ==================== Non-E2E Tests ====================
|
# ==================== Non-E2E Tests ====================
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ from sglang.test.test_utils import (
|
|||||||
|
|
||||||
register_cuda_ci(est_time=240, stage="nightly", runner_config="1-gpu-large")
|
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_amd_ci(est_time=120, suite="nightly-amd-1-gpu", nightly=True)
|
||||||
register_cpu_ci(est_time=622, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=237, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class BaseTestSoftWatchdog:
|
class BaseTestSoftWatchdog:
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ from sglang.srt.parser.reasoning_parser import KimiK2Detector as KimiK2Reasoning
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(5, "base-a-test-cpu")
|
register_cpu_ci(5, "base-a-test-cpu")
|
||||||
register_cpu_ci(est_time=7, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=4, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
def _make_tool(name, parameters=None):
|
def _make_tool(name, parameters=None):
|
||||||
|
|||||||
@@ -7,7 +7,11 @@ import requests
|
|||||||
from transformers import AutoModelForCausalLM, AutoTokenizer
|
from transformers import AutoModelForCausalLM, AutoTokenizer
|
||||||
|
|
||||||
from sglang.srt.utils import kill_process_tree
|
from sglang.srt.utils import kill_process_tree
|
||||||
from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
|
from sglang.test.ci.ci_register import (
|
||||||
|
register_amd_ci,
|
||||||
|
register_cpu_ci,
|
||||||
|
register_cuda_ci,
|
||||||
|
)
|
||||||
from sglang.test.test_utils import (
|
from sglang.test.test_utils import (
|
||||||
DEFAULT_SMALL_MODEL_NAME_FOR_TEST,
|
DEFAULT_SMALL_MODEL_NAME_FOR_TEST,
|
||||||
DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
|
DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
|
||||||
@@ -18,6 +22,7 @@ from sglang.test.test_utils import (
|
|||||||
|
|
||||||
register_cuda_ci(est_time=42, stage="base-b", runner_config="1-gpu-small")
|
register_cuda_ci(est_time=42, stage="base-b", runner_config="1-gpu-small")
|
||||||
register_amd_ci(est_time=38, suite="stage-b-test-1-gpu-small-amd")
|
register_amd_ci(est_time=38, suite="stage-b-test-1-gpu-small-amd")
|
||||||
|
register_cpu_ci(est_time=58, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestInputEmbeds(CustomTestCase):
|
class TestInputEmbeds(CustomTestCase):
|
||||||
|
|||||||
@@ -21,7 +21,11 @@ from transformers import AutoModelForCausalLM, AutoTokenizer
|
|||||||
|
|
||||||
from sglang.srt.environ import envs
|
from sglang.srt.environ import envs
|
||||||
from sglang.srt.utils import kill_process_tree
|
from sglang.srt.utils import kill_process_tree
|
||||||
from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
|
from sglang.test.ci.ci_register import (
|
||||||
|
register_amd_ci,
|
||||||
|
register_cpu_ci,
|
||||||
|
register_cuda_ci,
|
||||||
|
)
|
||||||
from sglang.test.test_utils import (
|
from sglang.test.test_utils import (
|
||||||
DEFAULT_SMALL_MODEL_NAME_FOR_TEST,
|
DEFAULT_SMALL_MODEL_NAME_FOR_TEST,
|
||||||
DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
|
DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
|
||||||
@@ -32,6 +36,7 @@ from sglang.test.test_utils import (
|
|||||||
|
|
||||||
register_cuda_ci(est_time=43, stage="base-b", runner_config="1-gpu-small")
|
register_cuda_ci(est_time=43, stage="base-b", runner_config="1-gpu-small")
|
||||||
register_amd_ci(est_time=43, suite="stage-b-test-1-gpu-small-amd")
|
register_amd_ci(est_time=43, suite="stage-b-test-1-gpu-small-amd")
|
||||||
|
register_cpu_ci(est_time=54, suite="base-c-test-cpu")
|
||||||
|
|
||||||
CHUNKED_PREFILL_SIZE = 256
|
CHUNKED_PREFILL_SIZE = 256
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ from sglang.test.kv_canary.e2e_base import (
|
|||||||
)
|
)
|
||||||
from sglang.test.test_utils import CustomTestCase
|
from sglang.test.test_utils import CustomTestCase
|
||||||
|
|
||||||
register_cpu_ci(est_time=1, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=8, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestCanaryE2EBase(CustomTestCase):
|
class TestCanaryE2EBase(CustomTestCase):
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ from sglang.test.ci.ci_register import register_cpu_ci
|
|||||||
from sglang.test.kv_canary.e2e_base import CanaryE2EBase
|
from sglang.test.kv_canary.e2e_base import CanaryE2EBase
|
||||||
from sglang.test.test_utils import CustomTestCase
|
from sglang.test.test_utils import CustomTestCase
|
||||||
|
|
||||||
register_cpu_ci(est_time=5, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=6, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
_GOOD_LINE: str = SwaDivergenceLog(
|
_GOOD_LINE: str = SwaDivergenceLog(
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ from sglang.srt.server_args import ServerArgs
|
|||||||
from sglang.test.ci.ci_register import register_amd_ci, register_cpu_ci
|
from sglang.test.ci.ci_register import register_amd_ci, register_cpu_ci
|
||||||
|
|
||||||
register_amd_ci(est_time=30, suite="nightly-amd-1-gpu", nightly=True)
|
register_amd_ci(est_time=30, suite="nightly-amd-1-gpu", nightly=True)
|
||||||
register_cpu_ci(est_time=8, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=7, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class MockTokenizerManager:
|
class MockTokenizerManager:
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ from sglang.test.test_utils import CustomTestCase
|
|||||||
|
|
||||||
register_cuda_ci(est_time=29, stage="base-b", runner_config="1-gpu-small")
|
register_cuda_ci(est_time=29, stage="base-b", runner_config="1-gpu-small")
|
||||||
register_amd_ci(est_time=45, suite="stage-b-test-1-gpu-small-amd")
|
register_amd_ci(est_time=45, suite="stage-b-test-1-gpu-small-amd")
|
||||||
register_cpu_ci(est_time=203, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=32, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestExternalModels(CustomTestCase):
|
class TestExternalModels(CustomTestCase):
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ from sglang.test.server_fixtures.default_fixture import DefaultServerBase
|
|||||||
|
|
||||||
register_cuda_ci(est_time=48, stage="base-b", runner_config="1-gpu-small")
|
register_cuda_ci(est_time=48, stage="base-b", runner_config="1-gpu-small")
|
||||||
register_amd_ci(est_time=48, suite="stage-b-test-1-gpu-small-amd")
|
register_amd_ci(est_time=48, suite="stage-b-test-1-gpu-small-amd")
|
||||||
register_cpu_ci(est_time=320, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=206, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestTransformersBackendEval(DefaultServerBase):
|
class TestTransformersBackendEval(DefaultServerBase):
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ from sglang.srt.runtime_context import get_parallel
|
|||||||
from sglang.srt.server_args import ServerArgs, set_global_server_args_for_scheduler
|
from sglang.srt.server_args import ServerArgs, set_global_server_args_for_scheduler
|
||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=5, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=6, suite="base-b-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(autouse=True)
|
@pytest.fixture(autouse=True)
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ register_cuda_ci(
|
|||||||
runner_config="1-gpu-small",
|
runner_config="1-gpu-small",
|
||||||
)
|
)
|
||||||
register_amd_ci(est_time=60, suite="stage-b-test-1-gpu-small-amd")
|
register_amd_ci(est_time=60, suite="stage-b-test-1-gpu-small-amd")
|
||||||
register_cpu_ci(est_time=179, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=49, suite="base-c-test-cpu")
|
||||||
|
|
||||||
_MODEL_NAME = "Qwen/Qwen3-0.6B"
|
_MODEL_NAME = "Qwen/Qwen3-0.6B"
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,11 @@ import unittest
|
|||||||
import requests
|
import requests
|
||||||
|
|
||||||
from sglang.srt.utils import kill_process_tree
|
from sglang.srt.utils import kill_process_tree
|
||||||
from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
|
from sglang.test.ci.ci_register import (
|
||||||
|
register_amd_ci,
|
||||||
|
register_cpu_ci,
|
||||||
|
register_cuda_ci,
|
||||||
|
)
|
||||||
from sglang.test.test_utils import (
|
from sglang.test.test_utils import (
|
||||||
DEFAULT_SMALL_MODEL_NAME_FOR_TEST,
|
DEFAULT_SMALL_MODEL_NAME_FOR_TEST,
|
||||||
DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
|
DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
|
||||||
@@ -27,6 +31,7 @@ from sglang.test.test_utils import (
|
|||||||
|
|
||||||
register_cuda_ci(est_time=50, stage="base-b", runner_config="1-gpu-large")
|
register_cuda_ci(est_time=50, stage="base-b", runner_config="1-gpu-large")
|
||||||
register_amd_ci(est_time=140, suite="stage-b-test-1-gpu-small-amd")
|
register_amd_ci(est_time=140, suite="stage-b-test-1-gpu-small-amd")
|
||||||
|
register_cpu_ci(est_time=54, suite="base-c-test-cpu")
|
||||||
|
|
||||||
# System message to guide Llama3.2 to produce proper tool call format
|
# System message to guide Llama3.2 to produce proper tool call format
|
||||||
SYSTEM_MESSAGE = (
|
SYSTEM_MESSAGE = (
|
||||||
|
|||||||
@@ -11,7 +11,11 @@ import openai
|
|||||||
|
|
||||||
from sglang.srt.utils import kill_process_tree
|
from sglang.srt.utils import kill_process_tree
|
||||||
from sglang.srt.utils.hf_transformers_utils import get_tokenizer
|
from sglang.srt.utils.hf_transformers_utils import get_tokenizer
|
||||||
from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
|
from sglang.test.ci.ci_register import (
|
||||||
|
register_amd_ci,
|
||||||
|
register_cpu_ci,
|
||||||
|
register_cuda_ci,
|
||||||
|
)
|
||||||
from sglang.test.test_utils import (
|
from sglang.test.test_utils import (
|
||||||
DEFAULT_SMALL_MODEL_NAME_FOR_TEST,
|
DEFAULT_SMALL_MODEL_NAME_FOR_TEST,
|
||||||
DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
|
DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
|
||||||
@@ -24,6 +28,7 @@ from sglang.test.test_utils import (
|
|||||||
|
|
||||||
register_cuda_ci(est_time=58, stage="base-b", runner_config="1-gpu-large")
|
register_cuda_ci(est_time=58, stage="base-b", runner_config="1-gpu-large")
|
||||||
register_amd_ci(est_time=41, suite="stage-b-test-1-gpu-small-amd")
|
register_amd_ci(est_time=41, suite="stage-b-test-1-gpu-small-amd")
|
||||||
|
register_cpu_ci(est_time=101, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestLargeMaxNewTokens(CustomTestCase):
|
class TestLargeMaxNewTokens(CustomTestCase):
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
from sglang.srt.utils import kill_process_tree
|
from sglang.srt.utils import kill_process_tree
|
||||||
from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
|
from sglang.test.ci.ci_register import (
|
||||||
|
register_amd_ci,
|
||||||
|
register_cpu_ci,
|
||||||
|
register_cuda_ci,
|
||||||
|
)
|
||||||
from sglang.test.kits.matched_stop_kit import MatchedStopMixin
|
from sglang.test.kits.matched_stop_kit import MatchedStopMixin
|
||||||
from sglang.test.test_utils import (
|
from sglang.test.test_utils import (
|
||||||
DEFAULT_MODEL_NAME_FOR_TEST,
|
DEFAULT_MODEL_NAME_FOR_TEST,
|
||||||
@@ -12,6 +16,7 @@ from sglang.test.test_utils import (
|
|||||||
|
|
||||||
register_cuda_ci(est_time=52, stage="base-b", runner_config="1-gpu-small")
|
register_cuda_ci(est_time=52, stage="base-b", runner_config="1-gpu-small")
|
||||||
register_amd_ci(est_time=60, suite="stage-b-test-1-gpu-small-amd")
|
register_amd_ci(est_time=60, suite="stage-b-test-1-gpu-small-amd")
|
||||||
|
register_cpu_ci(est_time=83, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestMatchedStop(CustomTestCase, MatchedStopMixin):
|
class TestMatchedStop(CustomTestCase, MatchedStopMixin):
|
||||||
|
|||||||
@@ -4,7 +4,11 @@ import unittest
|
|||||||
import openai
|
import openai
|
||||||
|
|
||||||
from sglang.srt.utils import kill_process_tree
|
from sglang.srt.utils import kill_process_tree
|
||||||
from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
|
from sglang.test.ci.ci_register import (
|
||||||
|
register_amd_ci,
|
||||||
|
register_cpu_ci,
|
||||||
|
register_cuda_ci,
|
||||||
|
)
|
||||||
from sglang.test.test_utils import (
|
from sglang.test.test_utils import (
|
||||||
DEFAULT_SMALL_EMBEDDING_MODEL_NAME_FOR_TEST,
|
DEFAULT_SMALL_EMBEDDING_MODEL_NAME_FOR_TEST,
|
||||||
DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
|
DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
|
||||||
@@ -15,6 +19,7 @@ from sglang.test.test_utils import (
|
|||||||
|
|
||||||
register_cuda_ci(est_time=91, stage="base-b", runner_config="1-gpu-small")
|
register_cuda_ci(est_time=91, stage="base-b", runner_config="1-gpu-small")
|
||||||
register_amd_ci(est_time=141, suite="stage-b-test-1-gpu-small-amd")
|
register_amd_ci(est_time=141, suite="stage-b-test-1-gpu-small-amd")
|
||||||
|
register_cpu_ci(est_time=91, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestOpenAIEmbedding(CustomTestCase):
|
class TestOpenAIEmbedding(CustomTestCase):
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
from sglang.srt.environ import envs
|
from sglang.srt.environ import envs
|
||||||
from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
|
from sglang.test.ci.ci_register import (
|
||||||
|
register_amd_ci,
|
||||||
|
register_cpu_ci,
|
||||||
|
register_cuda_ci,
|
||||||
|
)
|
||||||
from sglang.test.kits.radix_cache_server_kit import run_radix_attention_test
|
from sglang.test.kits.radix_cache_server_kit import run_radix_attention_test
|
||||||
from sglang.test.test_utils import (
|
from sglang.test.test_utils import (
|
||||||
DEFAULT_SMALL_MODEL_NAME_FOR_TEST,
|
DEFAULT_SMALL_MODEL_NAME_FOR_TEST,
|
||||||
@@ -16,6 +20,7 @@ from sglang.test.test_utils import (
|
|||||||
# RadixAttention server integration tests
|
# RadixAttention server integration tests
|
||||||
register_cuda_ci(est_time=100, stage="base-b", runner_config="1-gpu-small")
|
register_cuda_ci(est_time=100, stage="base-b", runner_config="1-gpu-small")
|
||||||
register_amd_ci(est_time=100, suite="stage-b-test-1-gpu-small-amd")
|
register_amd_ci(est_time=100, suite="stage-b-test-1-gpu-small-amd")
|
||||||
|
register_cpu_ci(est_time=405, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestRadixCacheFCFS(CustomTestCase):
|
class TestRadixCacheFCFS(CustomTestCase):
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
from sglang.srt.utils import kill_process_tree
|
from sglang.srt.utils import kill_process_tree
|
||||||
from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
|
from sglang.test.ci.ci_register import (
|
||||||
|
register_amd_ci,
|
||||||
|
register_cpu_ci,
|
||||||
|
register_cuda_ci,
|
||||||
|
)
|
||||||
from sglang.test.kits.cache_hit_kit import run_multiturn_cache_hit_test
|
from sglang.test.kits.cache_hit_kit import run_multiturn_cache_hit_test
|
||||||
from sglang.test.test_utils import (
|
from sglang.test.test_utils import (
|
||||||
DEFAULT_SMALL_MODEL_NAME_FOR_TEST,
|
DEFAULT_SMALL_MODEL_NAME_FOR_TEST,
|
||||||
@@ -13,6 +17,7 @@ from sglang.test.test_utils import (
|
|||||||
|
|
||||||
register_cuda_ci(est_time=55, stage="base-b", runner_config="1-gpu-small")
|
register_cuda_ci(est_time=55, stage="base-b", runner_config="1-gpu-small")
|
||||||
register_amd_ci(est_time=55, suite="stage-b-test-1-gpu-small-amd")
|
register_amd_ci(est_time=55, suite="stage-b-test-1-gpu-small-amd")
|
||||||
|
register_cpu_ci(est_time=113, suite="base-c-test-cpu")
|
||||||
|
|
||||||
MODEL = DEFAULT_SMALL_MODEL_NAME_FOR_TEST
|
MODEL = DEFAULT_SMALL_MODEL_NAME_FOR_TEST
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
from sglang.test.ci.ci_register import register_cuda_ci
|
from sglang.test.ci.ci_register import register_cpu_ci, register_cuda_ci
|
||||||
from sglang.test.kits.kl_divergence_kit import KLDivergenceMixin
|
from sglang.test.kits.kl_divergence_kit import KLDivergenceMixin
|
||||||
from sglang.test.server_fixtures.default_fixture import DefaultServerBase
|
from sglang.test.server_fixtures.default_fixture import DefaultServerBase
|
||||||
|
|
||||||
MODEL = "openai/gpt-oss-20b"
|
MODEL = "openai/gpt-oss-20b"
|
||||||
|
|
||||||
register_cuda_ci(est_time=151, stage="base-b", runner_config="1-gpu-large")
|
register_cuda_ci(est_time=151, stage="base-b", runner_config="1-gpu-large")
|
||||||
|
register_cpu_ci(est_time=1602, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestSWARadixCacheKL(KLDivergenceMixin, DefaultServerBase):
|
class TestSWARadixCacheKL(KLDivergenceMixin, DefaultServerBase):
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ from sglang.test.ci.ci_register import register_cpu_ci
|
|||||||
from sglang.test.test_utils import CustomTestCase
|
from sglang.test.test_utils import CustomTestCase
|
||||||
|
|
||||||
register_cpu_ci(est_time=7, suite="base-a-test-cpu")
|
register_cpu_ci(est_time=7, suite="base-a-test-cpu")
|
||||||
register_cpu_ci(est_time=7, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=8, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ from sglang.test.ci.ci_register import register_cpu_ci
|
|||||||
from sglang.test.test_utils import CustomTestCase
|
from sglang.test.test_utils import CustomTestCase
|
||||||
|
|
||||||
register_cpu_ci(est_time=7, suite="base-a-test-cpu")
|
register_cpu_ci(est_time=7, suite="base-a-test-cpu")
|
||||||
register_cpu_ci(est_time=7, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=8, suite="base-c-test-cpu")
|
||||||
|
|
||||||
_HTTP_SCOPE = {
|
_HTTP_SCOPE = {
|
||||||
"type": "http",
|
"type": "http",
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ from sglang.test.test_utils import (
|
|||||||
|
|
||||||
register_cuda_ci(est_time=50, stage="nightly", runner_config="1-gpu-large")
|
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_amd_ci(est_time=120, suite="nightly-amd-1-gpu", nightly=True)
|
||||||
register_cpu_ci(est_time=184, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=55, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestRoutingKeyScheduling(CustomTestCase):
|
class TestRoutingKeyScheduling(CustomTestCase):
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ CUDA-only: gpt-oss-20b is not part of the AMD streaming-session coverage.
|
|||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
from sglang.test.ci.ci_register import register_cuda_ci
|
from sglang.test.ci.ci_register import register_cpu_ci, register_cuda_ci
|
||||||
from sglang.test.kits.streaming_session_kit import StreamingSessionKitMixin
|
from sglang.test.kits.streaming_session_kit import StreamingSessionKitMixin
|
||||||
from sglang.test.server_fixtures.streaming_session_fixture import (
|
from sglang.test.server_fixtures.streaming_session_fixture import (
|
||||||
SWA_COMMON_ARGS,
|
SWA_COMMON_ARGS,
|
||||||
@@ -14,6 +14,7 @@ from sglang.test.server_fixtures.streaming_session_fixture import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
register_cuda_ci(est_time=130, stage="extra-a", runner_config="1-gpu-large")
|
register_cuda_ci(est_time=130, stage="extra-a", runner_config="1-gpu-large")
|
||||||
|
register_cpu_ci(est_time=449, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestStreamingSessionSWARetractMixedChunk(
|
class TestStreamingSessionSWARetractMixedChunk(
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ from sglang.test.simple_eval_mixed_prefix_gsm8k import (
|
|||||||
)
|
)
|
||||||
from sglang.test.test_utils import CustomTestCase
|
from sglang.test.test_utils import CustomTestCase
|
||||||
|
|
||||||
register_cpu_ci(est_time=5, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=8, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
def _write_synthetic_dataset(path: str, n: int) -> None:
|
def _write_synthetic_dataset(path: str, n: int) -> None:
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ from sglang.test.ci.ci_register import register_cpu_ci
|
|||||||
from sglang.test.run_eval import _run_sgl_eval
|
from sglang.test.run_eval import _run_sgl_eval
|
||||||
from sglang.test.test_utils import CustomTestCase
|
from sglang.test.test_utils import CustomTestCase
|
||||||
|
|
||||||
register_cpu_ci(est_time=5, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=6, suite="base-b-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
def _write_fake_metrics(out_parent: Path, eval_name: str, payload: dict) -> None:
|
def _write_fake_metrics(out_parent: Path, eval_name: str, payload: dict) -> None:
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ from sglang.test.ci.ci_register import register_cpu_ci
|
|||||||
register_cpu_ci(2.0, "base-a-test-cpu")
|
register_cpu_ci(2.0, "base-a-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
register_cpu_ci(est_time=7, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=5, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
def _make_scheduler(grammar_backend_name="none", skip_tokenizer=False):
|
def _make_scheduler(grammar_backend_name="none", skip_tokenizer=False):
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ from sglang.srt.parser.reasoning_parser import KimiK3Detector as KimiK3Reasoning
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(2.0, "base-a-test-cpu")
|
register_cpu_ci(2.0, "base-a-test-cpu")
|
||||||
register_cpu_ci(est_time=7, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=5, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class _DummyTokenizer:
|
class _DummyTokenizer:
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ from sglang.srt.constrained.utils import is_legacy_structural_tag
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(1.0, "base-a-test-cpu")
|
register_cpu_ci(1.0, "base-a-test-cpu")
|
||||||
register_cpu_ci(est_time=7, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=5, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestIsLegacyStructuralTag(unittest.TestCase):
|
class TestIsLegacyStructuralTag(unittest.TestCase):
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ from sglang.srt.managers.io_struct import EmbeddingReqInput
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-a-test-cpu")
|
register_cpu_ci(est_time=10, suite="base-a-test-cpu")
|
||||||
register_cpu_ci(est_time=8, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=6, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
# Mock TokenizerManager for embedding tests
|
# Mock TokenizerManager for embedding tests
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ from sglang.srt.function_call.qwen3_coder_detector import Qwen3CoderDetector
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=15, suite="base-a-test-cpu")
|
register_cpu_ci(est_time=15, suite="base-a-test-cpu")
|
||||||
register_cpu_ci(est_time=61, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=70, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestInklingDetector(unittest.TestCase):
|
class TestInklingDetector(unittest.TestCase):
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ from sglang.srt.function_call.utils import (
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(5, "base-a-test-cpu")
|
register_cpu_ci(5, "base-a-test-cpu")
|
||||||
register_cpu_ci(est_time=7, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=6, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestJsonSchemaConstraint(unittest.TestCase):
|
class TestJsonSchemaConstraint(unittest.TestCase):
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ from sglang.srt.function_call.json_array_parser import JsonArrayParser
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(5, "base-a-test-cpu")
|
register_cpu_ci(5, "base-a-test-cpu")
|
||||||
register_cpu_ci(est_time=7, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=4, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestParallelToolCalls(unittest.TestCase):
|
class TestParallelToolCalls(unittest.TestCase):
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ from sglang.srt.function_call.core_types import StreamingParseResult
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(5, "base-a-test-cpu")
|
register_cpu_ci(5, "base-a-test-cpu")
|
||||||
register_cpu_ci(est_time=7, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=5, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class DummyDetector(BaseFormatDetector):
|
class DummyDetector(BaseFormatDetector):
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from sglang.srt.layers.moe.moe_runner.aiter import (
|
|||||||
from sglang.srt.layers.moe.moe_runner.base import MoeRunnerConfig
|
from sglang.srt.layers.moe.moe_runner.base import MoeRunnerConfig
|
||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=5, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=7, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
def _runner_input():
|
def _runner_input():
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from sglang.srt.layers.moe.utils import MoeRunnerBackend
|
|||||||
from sglang.srt.runtime_context import get_flags
|
from sglang.srt.runtime_context import get_flags
|
||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=5, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=6, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ from sglang.test.test_utils import (
|
|||||||
|
|
||||||
register_cuda_ci(est_time=8, stage="base-b", runner_config="1-gpu-large")
|
register_cuda_ci(est_time=8, stage="base-b", runner_config="1-gpu-large")
|
||||||
register_amd_ci(est_time=8, suite="stage-b-test-1-gpu-small-amd")
|
register_amd_ci(est_time=8, suite="stage-b-test-1-gpu-small-amd")
|
||||||
register_cpu_ci(est_time=8, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=6, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestTokenizedReqInputMsgpack(unittest.TestCase):
|
class TestTokenizedReqInputMsgpack(unittest.TestCase):
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ from sglang.srt.environ import envs
|
|||||||
from sglang.srt.managers import mm_schedule as mm_utils
|
from sglang.srt.managers import mm_schedule as mm_utils
|
||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=5, suite="base-b-test-cpu")
|
register_cpu_ci(est_time=8, suite="base-b-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ from sglang.srt.utils.weight_checker import ParallelismInfo as PydanticParalleli
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
from sglang.test.test_utils import CustomTestCase
|
from sglang.test.test_utils import CustomTestCase
|
||||||
|
|
||||||
register_cpu_ci(est_time=10, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=8, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
def _round_trip(obj):
|
def _round_trip(obj):
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ from sglang.srt.runtime_context import publish, reset_context
|
|||||||
from sglang.srt.sampling.sampling_params import SamplingParams
|
from sglang.srt.sampling.sampling_params import SamplingParams
|
||||||
|
|
||||||
register_cpu_ci(est_time=15, suite="base-a-test-cpu")
|
register_cpu_ci(est_time=15, suite="base-a-test-cpu")
|
||||||
register_cpu_ci(est_time=9, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=8, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestSchedulerPauseGeneration(unittest.TestCase):
|
class TestSchedulerPauseGeneration(unittest.TestCase):
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=6, suite="base-a-test-cpu")
|
register_cpu_ci(est_time=6, suite="base-a-test-cpu")
|
||||||
register_cpu_ci(est_time=7, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=5, suite="base-c-test-cpu")
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
from unittest.mock import MagicMock
|
from unittest.mock import MagicMock
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ from unittest.mock import MagicMock, patch
|
|||||||
from sglang.test.ci.ci_register import register_cpu_ci
|
from sglang.test.ci.ci_register import register_cpu_ci
|
||||||
|
|
||||||
register_cpu_ci(est_time=60, suite="base-a-test-cpu", nightly=True)
|
register_cpu_ci(est_time=60, suite="base-a-test-cpu", nightly=True)
|
||||||
register_cpu_ci(est_time=7, suite="base-c-test-cpu")
|
register_cpu_ci(est_time=5, suite="base-c-test-cpu")
|
||||||
|
|
||||||
|
|
||||||
class TestCpuMonitor(unittest.TestCase):
|
class TestCpuMonitor(unittest.TestCase):
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user