Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
141 commits
Select commit Hold shift + click to select a range
443fa5a
[Doc] Fix stale rejection_sample_method and synthetic_acceptance_rate…
qwerqwerqwe8688-jpg Aug 13, 2026
5fee0a8
chore: Upstream Cohere parser fixes + tests (#51998)
jasonozuzu-cohere Aug 13, 2026
d0ae25e
[Bugfix] Preserve Anthropic disable_parallel_tool_use (#52021)
taneem-ibrahim Aug 13, 2026
c4e9692
[XPU] Add tuned Mamba SSU configs for Intel Arc Pro B70 (#50534)
pmanczak Aug 13, 2026
015660d
[Misc] Add missing return type annotations in outputs.py (#52145)
vineetatiwari27 Aug 13, 2026
152c913
[Frontend] Log output token IDs at DEBUG level (#52098)
ruirui6946 Aug 13, 2026
8e1131e
[Model] [Quantization] Add Ling hybrid MXFP4 routed experts support (…
zexplorerhj Aug 13, 2026
95c9144
[LoRA][Gemma4] Support vision tower LoRA (#42662)
linitra24 Aug 13, 2026
170592a
[Bugfix] Disable sequence parallelism for Dots3 NOTE (#52172)
KurodaKanbei Aug 13, 2026
2d24355
[Bugfix] Fix packed GDN decode launch for large batch-head grids (#52…
mgoin Aug 13, 2026
f3c1638
[ROCm] Enable V2 model runner for Kimi-K3 on ROCm (#51653)
vllmellm Aug 13, 2026
7553aac
[Frontend] Add routed-experts prompt offset (#51906)
aoshen02 Aug 13, 2026
80d6d55
Standardise weight tying on `ParallelLMHead.tie_weights` (#52147)
hmellor Aug 13, 2026
64ca614
[Bugfix] Fix `--data-parallel-start-rank 0` being treated as unset in…
syedalijaseem Aug 13, 2026
96acd47
[Bugfix][MiniCPM-V] Fix AssertionError in get_dummy_mm_data when pass…
mayuyuace Aug 13, 2026
6014f9e
[Kimi-K3] Add GEMM-RS for sequence parallelism (#52079)
gau-nernst Aug 13, 2026
b245d8e
Apply logit softcapping in Transformers modelling backend (#52173)
hmellor Aug 13, 2026
83d4c61
[Bugfix] Declare SupportsEagle3 on KimiLinearForCausalLM (#52171)
nickus Aug 13, 2026
69d4c3a
Auto-ping Cohere on related issues (#52091)
DarkLight1337 Aug 13, 2026
b96bcd0
[ROCm][CI] Solidify entrypoint LLM lifecycle (#51280)
AndreasKaratzas Aug 13, 2026
48825ac
[Quantization] Remove dead `QuantizationConfig.is_mxfp4_quant` (#51793)
fxmarty-amd Aug 13, 2026
e6b2a8a
[Bugfix][Structured Output] Mask request stop tokens in xgrammar unti…
yzong-rh Aug 13, 2026
c5b7c06
[ROCm] Defer `tilelang` import through its import `from vllm.tilelang…
fxmarty-amd Aug 13, 2026
11c3fa4
[Bugfix][ROCm][CI] Give the AITER MLA decode metadata stub its MLA di…
stefankoncarevic Aug 13, 2026
73b8394
[Platform] Add check_runner_kv_caches_multi_layer (#51633)
wangxiyuan Aug 13, 2026
2e2ffd1
[CI Failure] Fix CUDA wheel build for the Kimi K3 fused MLA kernel (#…
mgoin Aug 13, 2026
b652ded
[Attention] Fix FlashInfer SM12x prefill with sinks (#52148)
askliar Aug 13, 2026
6355051
[Bugfix] Correct prompt lengths for timed_traces benchmark (#45423)
s3woz Aug 13, 2026
51def78
[Bugfix] Reapply 50869 (#52223)
benchislett Aug 13, 2026
71b0da7
[Bugfix] Fix .../mrope.py::apply_interleaved_rope() when torch.compil…
bastefaniak Aug 13, 2026
f80b66f
[Model Runner V2][Spec Decode] Add KV cache support for multi-layer M…
TheEpicDolphin Aug 13, 2026
38f097f
[Bugfix] Reject NUL byte in structured_outputs.regex (#51796)
ECMGit Aug 14, 2026
827a2af
[Kernel] Gemma-4 FA4 FP8 Kernel (#48666)
jhaotingc Aug 14, 2026
b216db3
[Bugfix] Reject negative token ids as out-of-vocabulary (#51795)
ECMGit Aug 14, 2026
fe4c5dc
[XPU] [Bugfix] process ragged weights in xpu linear backend (#52118)
zufangzhu Aug 14, 2026
3c79b1a
[Kernel] Add B12X dense linear backends (#52016)
lukealonso Aug 14, 2026
d18bb7b
[UT] fix device of test_outputs.py (#52237)
mayuyuace Aug 14, 2026
1be3628
[Kernel][Perf] Add fused CUDA post-conv MTP decode kernel for Qwen3.5…
Jie-Fang Aug 14, 2026
c05d75a
[Bugfix][Refactor] Keep Qwen3Next layer boundaries sequence parallel …
kzwrime Aug 14, 2026
653cc6f
[Bugfix][NIXL] Include transfer mode (push/pull) in the compatibility…
tzulingk Aug 14, 2026
59d1af5
Detect ROCm wheel variant from environment for precompiled wheels. (#…
aarushjain29 Aug 14, 2026
6adad08
Add Muse Glimmer model support (#51655)
xianbaoqian Aug 14, 2026
ac7509e
[Bugfix][CPU][RISC-V] Fix build: make FP32Vec copy constructors non-e…
velonica0 Aug 14, 2026
8e6d8e4
[XPU][CI/Release][3/N] Add xpu wheel release to release pipeline (#52…
jikunshang Aug 14, 2026
bda4c3e
[CPU] Fold the MXFP4 block scale in 2 instructions instead of 4 (#51583)
ccaadaro Aug 14, 2026
d4c24e6
[CI] Increase extended generation test timeout (#52252)
LucasWilkinson Aug 14, 2026
3c8676a
[PP][XPU]Overlap async-scheduling PP sampled-token broadcast with com…
yisustc Aug 14, 2026
624999a
[XPU]bump up vllm_xpu_kernels to 0.1.13.2 (#52138)
jikunshang Aug 14, 2026
103c419
[Perf][Frontend] Vectorize Cohere binary embedding bit-packing (#52277)
fangchenli Aug 14, 2026
b8165e5
[Frontend] Consolidate entrypoint exception handler (#52261)
noooop Aug 14, 2026
66728fe
[MRV2][Multimodal] Enable encoder cuda graph for model runner v2 (#49…
Isotr0py Aug 14, 2026
20405bf
[Bugfix] Fix Cosmos3-Edge processor after transformers 5.15 release (…
bastefaniak Aug 14, 2026
69e0e58
[Doc] Update model support information (#52289)
jeejeelee Aug 14, 2026
aa31003
[Bugfix][Helm] Fix chart resource references (#51664)
iwannagotobed Aug 14, 2026
63a9a50
[Attention][DSA] Take the native decode path for MTP=3 on SM90 (#52164)
zobinHuang Aug 14, 2026
57bd0ed
[5/N][KV-Cache Layout Refactor] Backend-published KV packing via cust…
LucasWilkinson Aug 14, 2026
1f7427b
[UT][XPU] fix b12x UT (#52265)
mayuyuace Aug 14, 2026
cdc4824
[Misc] Remove `override_attention_dtype` (#48684)
wangxiyuan Aug 14, 2026
03a8d0b
[Model][Spec Decode] Tap the pre-norm AttnRes mixture as the Kimi K3 …
rchalamala Aug 14, 2026
e078a22
[Bugfix] Widen flashinfer.comm import guard so a failed import doesn'…
shanjiaz Aug 14, 2026
83ded8d
[Test][LoRA] Speed up the LoRA test job (#52331)
stefankoncarevic Aug 14, 2026
9b0ab5d
[ROCm][AMD] Enable preshuffled sparse indexing for 16-token blocks (#…
jamesETsmith Aug 14, 2026
3e3ceb1
[Perf] Avoid more GPU<->CPU syncs in multimodal encoders (#52369)
njhill Aug 14, 2026
f473870
[Rust Frontend][gRPC] Add RL lifecycle control (#51316)
Aug 14, 2026
c794754
[ROCm]Remove special-case SiTU support model-specific gating (#50597)
stacyroberts Aug 14, 2026
925ea7e
[CI][Test] Seed the DeepEP v2 MoE workers, not just the parent (#50589)
guanxingithub Aug 14, 2026
d87ef45
[CI] Shard Quantization job into 4 parallel shards (≤30 min target) (…
khluu Aug 14, 2026
549cef0
[CI] Shard extended pooling model tests (#52322)
khluu Aug 14, 2026
694db07
[CI] Shard multimodal extended generation 2 (#52323)
khluu Aug 14, 2026
81e81da
[CI] Shard MoE refactor B200 eval (#52327)
khluu Aug 14, 2026
bb4b448
[CI] Shard Humming H100 eval (#52326)
khluu Aug 14, 2026
9df9b0b
[ROCm]: Drop pybind11 from Dockerfile.rocm to prevent version mismatc…
Rohan138 Aug 14, 2026
d6f17f3
[MRV2] Support attention-free models (#52374)
njhill Aug 14, 2026
7b544ec
[Spec Decode][Perf] Fuse the MTP trailing all-reduce; local-argmax dr…
zhou9402 Aug 15, 2026
615d4cf
[Core] Check for GPU<->CPU syncs during CI (#43107)
njhill Aug 15, 2026
acb0f1d
[Bugfix][Spec Decode] DSpark: inherit the target's attention backend …
zyongye Aug 15, 2026
44fc57d
[ROCm][CI] Select CPU platform for native no-GPU jobs (#49515)
AndreasKaratzas Aug 15, 2026
4215646
[Rust Frontend][gRPC] Preserve skip_special_tokens decoding option (#…
biswapanda Aug 15, 2026
5cecfc0
[Bugfix] Fix modelscope usage (#52431)
DarkLight1337 Aug 15, 2026
ac2ae87
[Frontend] Support count_reasoning_tokens in the Streaming Parser En…
chaunceyjiang Aug 15, 2026
97388c4
[Bugfix] Make DSV4 sparse MLA work end-to-end for plain decode, MTP, …
lucifer1004 Aug 15, 2026
d480199
[CI/Build] Add warning for unsupported global PTX architecture reques…
shanewidanagama Aug 15, 2026
ed0f475
[Bugfix][Model] Kimi-K3 MegaMoE: pass situ_beta/situ_linear_beta to f…
UranusSeven Aug 15, 2026
c94cdd0
[Bugfix][Sampling] Clear empty side on thinking-budget asymmetric SWA…
hsusul Aug 15, 2026
fa9d67f
[EC Connector] Added Build Connector Worker Meta for EC Connector (#4…
omerpaz95 Aug 15, 2026
edd4c81
[Bugfix][DSv4] Revert adaptive C128A metadata packing (#51318)
tobymao Aug 16, 2026
6593754
[Bugfix][Spec Decode] Keep EAGLE cache registration on the partial-ha…
mispa-ms Aug 16, 2026
8efa13b
[Bugfix] Pick the DeepSeek V4 eager cudagraph region per model runner…
njhill Aug 16, 2026
41f12a0
[Bugfix] Raise `VLLMValidationError` from structured output validator…
jeffreywang88 Aug 16, 2026
70aaec8
[Bugfix][Anthropic] Return 4xx for client-caused errors in /v1/messag…
SayHelloToWorld Aug 16, 2026
1b079c4
[Bugfix][Model Runner V2][Spec Decode] Fix off-by-one in bad_words dr…
jyan-R Aug 16, 2026
84530eb
[Bugfix][Multimodal] Keep Gemma 4 video frame counts on CPU (#52441)
chaunceyjiang Aug 16, 2026
4d2a68d
[Bugfix][Spec Decode][Structured Output] DSpark: fix the grammar bitm…
oops-oom Aug 16, 2026
836aac9
[Perf][DSV4] Optimize sparse top-k metadata kernels for higher prefil…
chaunceyjiang Aug 16, 2026
fe1c317
[Bugfix][ROCm] Skip FP8 MLA prefill PS-metadata build for chunked-con…
shantipriya-amd Aug 16, 2026
9409f59
[Core] Add CuMemAllocator.discard() for tag-selective GPU memory rele…
andakai Aug 16, 2026
83f591d
[Perf][DSV4] Optimize global top-k index kernel with compile-time con…
chaunceyjiang Aug 16, 2026
6914d60
[ROCm][Perf] gfx942: use FlyDSL fp8 MQA logits kernel (ROCm/aiter#391…
akii96 Aug 16, 2026
7d7b6f2
[Refactor] Remove dead code for quantization (#52221)
yewentao256 Aug 16, 2026
1f0e0bf
[Bugfix][Attention] Temporarily disable FA4 head-dim 256 (#52050)
taneem-ibrahim Aug 16, 2026
ef43e31
[ROCm][DSV4][Perf] Optimize Triton sparse-MLA decode on gfx950 (#52212)
Fangzhou-Ai Aug 16, 2026
fdab2b1
[ModelRunner v2] Support Transformers pooling model (#52425)
taneem-ibrahim Aug 16, 2026
6b0b850
[CI] Fit small KV-offload evals within shared memory (#52496)
taneem-ibrahim Aug 16, 2026
e3c1cb5
[CI/Build] Avoid duplicate runner startup for multimodal test (#52417)
Isotr0py Aug 16, 2026
eee538d
[Bugfix][V1][Multimodal] Ignore stale same-step encoder cache evictio…
gty111 Aug 16, 2026
dc9ae4b
[Bugfix][Mooncake] Reference GPU blocks for in-flight store jobs and …
chengy-sysu Aug 16, 2026
a18c9b5
[Kimi-K3][Perf] Update FlashKDA for automatic K2 V-split (#52458)
BabyDrangoner Aug 17, 2026
0ad04cf
[ROCm][CI] Enable ViT CUDA graph tests on AMD gfx950 GPUs (#52256)
shen-shanshan Aug 17, 2026
967e104
[Config] Unify indexer cache dtype under attention_config.indexer_kv_…
zyongye Aug 17, 2026
a6a2a93
[Bugfix][Frontend] Guard remaining before-validators against non-obje…
Kaif10 Aug 17, 2026
502af5e
[Doc] Add MatrixHub as a model loading source (#50492)
yitingdc Aug 17, 2026
6664d39
[Performance][MRV2] Cache logits-processing request state (#52329)
positive666 Aug 17, 2026
292187d
[Bugfix][DSv4] Keep indexer scoring in breakable graphs (#52492)
LucasWilkinson Aug 17, 2026
7ea4b40
[Hardware][NVIDIA] Add GB10 fused-MoE fp8 tuning configs (E=256, E=51…
pavelzak Aug 17, 2026
71b578b
[ROCm][CI] Use the same-build wheel in Python-only CI (#49514)
AndreasKaratzas Aug 17, 2026
311b351
[ROCm][CI] Avoid forcing FlashAttention in the ColPali pooling test (…
AndreasKaratzas Aug 17, 2026
53e211d
[CI/Build] Reduce more duplicate runner startup in tests (#52570)
Isotr0py Aug 17, 2026
93550cc
[Frontend] Consolidate entrypoint middleware (#52309)
noooop Aug 17, 2026
a02cfcc
[Bugfix][Mamba] Fix overlapping state copy race (#50729)
AndreasKaratzas Aug 17, 2026
5fd7a88
[CI/Build] Fix accident pre-commit breakage due to concurrent merge (…
Isotr0py Aug 17, 2026
0ff370b
docs: fix incorrect --custom-skip-chat-template flag reference (#52588)
theamalsebastian Aug 17, 2026
c05d923
[Doc] [ROCm] Update installation documentation (#52303)
tjtanaa Aug 17, 2026
bb23362
[CI] Shard Humming A100 eval (#52325)
khluu Aug 17, 2026
cc7cf71
[XPU] Enable Kimi K3 KDA kernel tests on XPU (#51809)
pmanczak Aug 17, 2026
95901ce
fix(pooling): validate BGE-M3 combined task ownership (#51823)
030611 Aug 17, 2026
f27ae25
[Bugfix][CPU] Take an attention group's query head count from its lay…
ganeshr10 Aug 17, 2026
70afded
[K3] support recoverssm for K3 (#51855)
ZJY0516 Aug 17, 2026
1d3a8b9
[ROCm][Bugfix] Fix Triton W4A16 bug in determining if transpose is re…
qli88 Aug 17, 2026
017e9f4
Promote `prefix_cache_retention_interval` to an argument and change t…
tlrmchlsmth Aug 17, 2026
4ab5e50
[Refactor] Simplify B12X linear kernels and warmup (#52368)
mgoin Aug 17, 2026
7075dda
Support DSpark configs with `architectures=DSparkDraftModel` + `model…
mgoin Aug 17, 2026
49905ad
[3/N][Feat][Perf] Add new warmup infrastructure for JITs. Add provide…
LopezCastroRoberto Aug 17, 2026
cfbc5af
[BugFix] lora_base_layer / routed_experts order in expert param mappi…
HollowMan6 Aug 17, 2026
ceb340e
fix: prevent PyNvVideoCodec decoder slot limit bypass via ClassVar sh…
jperezdealgaba Aug 17, 2026
402547d
[Bugfix][CI] Release the shared ColBERT engine before `test_colbert_h…
stefankoncarevic Aug 17, 2026
75dde08
[Perf][MoE] Optimize deepep_v2 receiver CPU Overhead (#51114)
LucasWilkinson Aug 17, 2026
c1e4387
[ROCm][CI] Restore Torch defaults and type DSV4 scratch buffers (#52566)
AndreasKaratzas Aug 17, 2026
3fc2893
[Bugfix] Account for local DP workers in startup thread allocation (#…
cr-zhao Aug 17, 2026
9633933
Relax CuPy constraint to only exclude 14.1.0 (#44284)
khluu Aug 17, 2026
d1e3eee
[Spec decode] Support Kimi-K3 DCP with DSpark (#52188)
wzhao18 Aug 17, 2026
bb88bd9
[Kernel] Tensor-descriptor path for fused_moe_kernel_gptq_awq (int4)
afierka-intel Aug 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .buildkite/hardware_tests/cpu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ steps:
- CMakeLists.txt
- vllm/_custom_ops.py
- tests/kernels/attention/test_cpu_attn.py
- tests/v1/attention/test_group_head_counts.py
- tests/kernels/moe/test_cpu_fused_moe.py
- tests/kernels/moe/test_cpu_quant_fused_moe.py
- tests/kernels/test_onednn.py
Expand All @@ -27,6 +28,7 @@ steps:
- |
bash .buildkite/scripts/hardware_ci/run-cpu-test.sh 30m "
pytest -x -v -s tests/kernels/attention/test_cpu_attn.py
pytest -x -v -s tests/v1/attention/test_group_head_counts.py
pytest -x -v -s tests/kernels/moe/test_cpu_fused_moe.py
pytest -x -v -s tests/kernels/moe/test_cpu_quant_fused_moe.py
pytest -x -v -s tests/kernels/mamba/test_cpu_short_conv.py
Expand Down
24 changes: 24 additions & 0 deletions .buildkite/intel_jobs/kernels_intel.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,27 @@ steps:
'cd tests &&
pytest -v -s ir &&
pytest -v -s kernels/ir'

- label: MoE WNA16 Tensor-Descriptor Tests
timeout_in_minutes: 20
device: intel_gpu
agent_tags:
label: production
gpu: 1+
mem: 16+
no_plugin: true
working_dir: "."
env:
REGISTRY: "public.ecr.aws/q9t5s3a7"
REPO: "vllm-ci-test-repo"
VLLM_TEST_DEVICE: "xpu"
source_file_dependencies:
- vllm/model_executor/layers/fused_moe/fused_moe.py
- vllm/model_executor/layers/fused_moe/utils.py
- vllm/model_executor/layers/fused_moe/experts/triton_moe.py
- tests/kernels/moe/test_fused_moe_kernel_gptq_awq.py
commands:
- >-
bash .buildkite/scripts/hardware_ci/run-intel-test.sh
'cd tests &&
pytest -v -s kernels/moe/test_fused_moe_kernel_gptq_awq.py'
16 changes: 15 additions & 1 deletion .buildkite/release-pipeline.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,21 @@ steps:
env:
DOCKER_BUILDKIT: "1"

- label: "Publish XPU Triton shim index"
- label: "Build wheel - x86_64 - XPU"
depends_on: ~
id: build-wheel-x86-xpu
agents:
queue: cpu_queue_release
commands:
- "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg GIT_REPO_CHECK=1 --tag vllm-ci:build-image --target vllm-build --progress plain -f docker/Dockerfile.xpu ."
- "mkdir artifacts"
- "docker run --rm -v $(pwd)/artifacts:/artifacts_host vllm-ci:build-image bash -c 'cp -r dist /artifacts_host && chmod -R a+rw /artifacts_host'"
- "bash .buildkite/scripts/upload-nightly-wheels.sh"
- 'bash .buildkite/scripts/annotate-build-artifact.sh "$$BUILDKITE_LABEL" "s3://vllm-wheels/$$BUILDKITE_COMMIT/$(cd artifacts/dist && echo *.whl)" release-wheels'
env:
DOCKER_BUILDKIT: "1"

- label: "Publish and stage XPU Triton shim"
key: publish-xpu-triton-shim
depends_on: ~
agents:
Expand Down
7 changes: 3 additions & 4 deletions .buildkite/scripts/generate-and-upload-nightly-index.sh
Original file line number Diff line number Diff line change
Expand Up @@ -53,11 +53,10 @@ if [[ "${UPDATE_NIGHTLY_INDEX:-1}" == "1" && \
aws s3 cp --recursive "$INDICES_OUTPUT_DIR/" "s3://$BUCKET/nightly/"
fi

# detect version from any wheel in the commit directory
# download the first wheel we find to extract version metadata
first_wheel_key=$($PYTHON -c "import json; obj=json.load(open('$obj_json')); print(next((c['Key'] for c in obj.get('Contents', []) if c['Key'].endswith('.whl')), ''))")
# detect version from a vLLM wheel in the commit directory
first_wheel_key=$($PYTHON -c "import json; obj=json.load(open('$obj_json')); print(next((c['Key'] for c in obj.get('Contents', []) if c['Key'].rsplit('/', 1)[-1].startswith('vllm-') and c['Key'].endswith('.whl')), ''))")
if [[ -z "$first_wheel_key" ]]; then
echo "Error: No wheels found in $S3_COMMIT_PREFIX"
echo "Error: No vLLM wheel found in $S3_COMMIT_PREFIX"
exit 1
fi
first_wheel=$(basename "$first_wheel_key")
Expand Down
10 changes: 7 additions & 3 deletions .buildkite/scripts/generate-nightly-index.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,9 +91,9 @@ def parse_from_filename(file: str) -> WheelFileInfo:
else:
if "+" in version:
version_part, suffix = version.split("+", 1)
# Only treat known patterns as variants (rocmXXX, cuXXX, cpu)
# Only treat known patterns as variants (rocmXXX, cuXXX, cpu, xpu)
# Git hashes and other suffixes are NOT variants
if suffix.startswith(("rocm", "cu", "cpu")):
if suffix.startswith(("rocm", "cu", "cpu", "xpu")):
variant = suffix
version = version_part
# Otherwise keep the full version string (variant stays None)
Expand Down Expand Up @@ -429,7 +429,11 @@ def generate_index_and_metadata(
if PY_VERSION_RE.match(version):
# upload-wheels.sh ensures no "dev" is in args.version
wheel_files = list(
filter(lambda x: version in x and "dev" not in x, wheel_files)
filter(
lambda x: (version in x and "dev" not in x)
or (x.startswith("triton-") and "+xpu-" in x),
wheel_files,
)
)
print(f"Non-nightly version detected, wheel files used: {wheel_files}")
else:
Expand Down
65 changes: 64 additions & 1 deletion .buildkite/scripts/hardware_ci/run-amd-test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,8 @@ validate_native_workspace() {
}

prepare_native_workspace() {
local test_commands="${1:-}"

if [[ "${VLLM_CI_USE_ARTIFACTS:-0}" != "1" ]]; then
echo "Native CI requires VLLM_CI_USE_ARTIFACTS=1"
return 1
Expand All @@ -281,6 +283,8 @@ prepare_native_workspace() {
local recorded_base=""
local recorded_commit=""
local recorded_wheel=""
local checkout=""
local checkout_commit=""
local workspace_dir="${VLLM_CI_WORKSPACE:-/vllm-workspace}"
local wheel_dir=""
local attempt=0
Expand Down Expand Up @@ -400,6 +404,53 @@ prepare_native_workspace() {
return 1
fi

# The ROCm artifact intentionally contains only the installed wheel and the
# test workspace. The Python-only compilation job also needs setup.py and the
# vllm source tree, so overlay the matching Buildkite checkout for that job.
if [[ "${test_commands}" == *python_only_compile.sh* ]]; then
checkout="${BUILDKITE_BUILD_CHECKOUT_PATH:-}"
if [[ -z "${checkout}" || ! -d "${checkout}" ]]; then
echo "Python-only native CI requires BUILDKITE_BUILD_CHECKOUT_PATH" >&2
return 1
fi
if ! git -c "safe.directory=${checkout}" -C "${checkout}" \
rev-parse --is-inside-work-tree >/dev/null 2>&1; then
echo "Buildkite checkout is not a Git worktree: ${checkout}" >&2
return 1
fi
checkout_commit=$(
git -c "safe.directory=${checkout}" -C "${checkout}" rev-parse HEAD
) || return 1
if [[ "${checkout_commit}" != "${recorded_commit}" ]]; then
echo "Buildkite checkout ${checkout_commit} does not match ROCm artifact ${recorded_commit}" >&2
return 1
fi

# setup.py normally derives this from .git via setuptools-scm. The native
# source overlay deliberately excludes Git metadata, so preserve the exact
# version from the already installed, artifact-matched wheel.
VLLM_VERSION_OVERRIDE=$(
python3 -c 'import importlib.metadata as m; print(m.version("vllm"))'
) || return 1
export VLLM_VERSION_OVERRIDE
VLLM_PRECOMPILED_WHEEL_LOCATION="${wheels[0]}"
export VLLM_PRECOMPILED_WHEEL_LOCATION
echo "INFO: native Python-only wheel=${VLLM_PRECOMPILED_WHEEL_LOCATION}"

echo "--- Overlaying full source checkout for Python-only compilation"
# Archive the verified commit instead of copying the worktree so dirty or
# untracked agent files cannot contaminate the artifact-matched workspace.
git -c "safe.directory=${checkout}" -C "${checkout}" \
archive --format=tar "${recorded_commit}" \
| tar --no-same-owner -C "${workspace_dir}" -xf - || return 1
for required_source in setup.py pyproject.toml vllm; do
if [[ ! -e "${workspace_dir}/${required_source}" ]]; then
echo "Full source checkout is missing ${required_source}" >&2
return 1
fi
done
fi

return 0
}

Expand Down Expand Up @@ -434,6 +485,12 @@ initialize_native_environment() {
TIKTOKEN_RS_CACHE_DIR="${HF_HOME}/tiktoken-rs-cache"
: "${HF_HUB_DOWNLOAD_TIMEOUT:=300}"
: "${HF_HUB_ETAG_TIMEOUT:=60}"
if [[ "${VLLM_CI_EXPECTED_GPU_COUNT:-1}" == "0" ]]; then
# CPU-only native jobs intentionally reuse the ROCm wheel. Make that target
# explicit so platform selection does not depend on wheel metadata.
VLLM_TARGET_DEVICE=cpu
export VLLM_TARGET_DEVICE
fi
export TMPDIR VLLM_RPC_BASE_PATH
export TORCHINDUCTOR_CACHE_DIR TRITON_CACHE_DIR VLLM_CACHE_ROOT XDG_CACHE_HOME
export HF_HOME HF_DATASETS_CACHE HF_HUB_DOWNLOAD_TIMEOUT HF_HUB_ETAG_TIMEOUT
Expand Down Expand Up @@ -948,7 +1005,13 @@ if is_native_runtime; then
echo "Failed to initialize the native test environment"
exit 1
fi
if ! prepare_native_workspace; then
if [[ "${commands}" == *python_only_compile.sh* ]]; then
# This no-GPU job validates the ROCm precompiled/editable install path,
# rather than CPU runtime platform selection.
VLLM_TARGET_DEVICE=rocm
export VLLM_TARGET_DEVICE
fi
if ! prepare_native_workspace "${commands}"; then
echo "Failed to prepare native test workspace"
exit 1
fi
Expand Down
14 changes: 11 additions & 3 deletions .buildkite/scripts/xpu/publish-triton-shim.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,17 @@ readonly WHEEL_SHA256="3c822f73e9870512f59a6ecf5dc305a4bcab11fa623f9ce91011f6043
readonly WHEEL_FILENAME="${WHEEL_URL##*/}"
readonly ENCODED_WHEEL_FILENAME="${WHEEL_FILENAME/+/%2B}"
readonly S3_PREFIX="s3://${BUCKET}/${PREFIX}/"
readonly COMMIT="${BUILDKITE_COMMIT:-}"
readonly DRY_RUN="${DRY_RUN:-0}"

if [[ "$DRY_RUN" != "0" && "$DRY_RUN" != "1" ]]; then
echo "DRY_RUN must be 0 or 1" >&2
exit 2
fi
if [[ "$DRY_RUN" == "0" && ! "$COMMIT" =~ ^[0-9a-f]{40}$ ]]; then
echo "BUILDKITE_COMMIT must be a full lowercase commit hash" >&2
exit 2
fi

cd "$(dirname "${BASH_SOURCE[0]}")/../../.."

Expand Down Expand Up @@ -70,9 +75,9 @@ sed 's/import regex as re/import re/' \
# shellcheck disable=SC2086
$PYTHON "$index_generator" \
--version "$PREFIX" \
--wheel-dir "$PREFIX" \
--wheel-dir "$work_dir/$PREFIX" \
--current-objects "$objects_path" \
--output-dir "$index_output_dir" \
--output-dir "$work_dir" \
--comment "XPU Triton shim"

grep -Fq 'href="triton/"' "$index_output_dir/index.html"
Expand All @@ -87,4 +92,7 @@ if [[ "$DRY_RUN" == "1" ]]; then
else
aws s3 cp --recursive "$index_output_dir/" "$S3_PREFIX"
echo "Published XPU Triton shim index to https://wheels.vllm.ai/$PREFIX/"
fi
aws s3 cp "$S3_PREFIX$WHEEL_FILENAME" \
"s3://$BUCKET/$COMMIT/$WHEEL_FILENAME"
echo "Staged XPU Triton shim for https://wheels.vllm.ai/$COMMIT/xpu/"
fi
12 changes: 8 additions & 4 deletions .buildkite/test-amd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -411,8 +411,9 @@ steps:

- label: Python-only Installation # TBD
timeout_in_minutes: 180
mirror_hardwares: [amdexperimental, amdproduction, amdgfx90anightly, amdmi250]
agent_pool: mi250_1
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
dind: false
agent_pool: mi300_1
optional: true
working_dir: "/vllm-workspace/tests"
source_file_dependencies:
Expand Down Expand Up @@ -2092,7 +2093,7 @@ steps:
- tests/models/multimodal/generation
- tests/models/multimodal/test_mapping.py
commands:
- pytest -v -s models/multimodal -m core_model --ignore models/multimodal/generation/test_common.py --ignore models/multimodal/generation/test_ultravox.py --ignore models/multimodal/generation/test_qwen2_5_vl.py --ignore models/multimodal/generation/test_qwen2_vl.py --ignore models/multimodal/generation/test_whisper.py --ignore models/multimodal/generation/test_memory_leak.py --ignore models/multimodal/processing
- pytest -v -s models/multimodal -m core_model --ignore models/multimodal/generation/test_common.py --ignore models/multimodal/generation/test_ultravox.py --ignore models/multimodal/generation/test_qwen2_5_vl.py --ignore models/multimodal/generation/test_qwen2_vl.py --ignore models/multimodal/generation/test_whisper.py --ignore models/multimodal/generation/test_memory_leak.py --ignore models/multimodal/generation/test_vit_cudagraph.py --ignore models/multimodal/processing
- pytest -v -s models/multimodal/generation/test_memory_leak.py -m core_model
- cd .. && VLLM_WORKER_MULTIPROC_METHOD=spawn pytest -v -s tests/models/multimodal/generation/test_whisper.py -m core_model

Expand Down Expand Up @@ -3671,7 +3672,8 @@ steps:
- vllm/
- tests/models/multimodal/generation
commands:
- pytest -v -s models/multimodal -m core_model --ignore models/multimodal/generation/test_common.py --ignore models/multimodal/generation/test_ultravox.py --ignore models/multimodal/generation/test_qwen2_5_vl.py --ignore models/multimodal/generation/test_qwen2_vl.py --ignore models/multimodal/generation/test_whisper.py --ignore models/multimodal/generation/test_memory_leak.py --ignore models/multimodal/processing
- pytest -v -s models/multimodal -m core_model --ignore models/multimodal/generation/test_common.py --ignore models/multimodal/generation/test_ultravox.py --ignore models/multimodal/generation/test_qwen2_5_vl.py --ignore models/multimodal/generation/test_qwen2_vl.py --ignore models/multimodal/generation/test_whisper.py --ignore models/multimodal/generation/test_memory_leak.py --ignore models/multimodal/generation/test_vit_cudagraph.py --ignore models/multimodal/processing
- pytest -v -s models/multimodal/generation/test_vit_cudagraph.py -m core_model
- pytest -v -s models/multimodal/generation/test_memory_leak.py -m core_model
- cd .. && VLLM_WORKER_MULTIPROC_METHOD=spawn pytest -v -s tests/models/multimodal/generation/test_whisper.py -m core_model

Expand Down Expand Up @@ -3771,6 +3773,7 @@ steps:
- tests/v1/executor
- tests/v1/kv_offload
- tests/v1/worker
- tests/v1/cudagraph
- tests/v1/kv_connector/unit
- tests/v1/metrics
- tests/entrypoints/openai/correctness/test_lmeval.py
Expand All @@ -3780,6 +3783,7 @@ steps:
- pytest -v -s v1/executor
- pytest -v -s v1/kv_offload
- pytest -v -s v1/worker
- pytest -v -s v1/cudagraph/test_encoder_cudagraph.py
- pytest -v -s -m 'not cpu_test' v1/kv_connector/unit
- pytest -v -s -m 'not cpu_test' v1/metrics
- pip install -U git+https://github.com/vllm-project/lm-evaluation-harness.git@streaming-api
Expand Down
1 change: 1 addition & 0 deletions .buildkite/test_areas/distributed.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,7 @@ steps:
commands:
- pytest -v -s tests/distributed/test_context_parallel.py
- pytest -v -s tests/distributed/test_nccl_symm_mem.py
- pytest -v -s tests/kernels/test_kimi_k3_gemm_rs.py
- pytest -v -s tests/v1/distributed/test_dbo.py
- pytest -v -s tests/distributed/test_mnnvl_alltoall.py

Expand Down
22 changes: 22 additions & 0 deletions .buildkite/test_areas/kernels.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -339,6 +339,28 @@ steps:
# e2e
- pytest -v -s tests/models/quantization/test_nvfp4.py

- label: B12X Linear Kernels (DGX Spark) Nightly
key: b12x-linear-kernels-dgx-spark-nightly
timeout_in_minutes: 30
device: dgx-spark
optional: true
num_devices: 1
depends_on:
- arm64-image-build
source_file_dependencies:
- setup.py
- vllm/model_executor/kernels/linear/
- vllm/model_executor/warmup/b12x_warmup.py
- vllm/utils/b12x.py
- tests/model_executor/kernels/test_b12x_linear.py
- tests/model_executor/test_b12x_warmup.py
- tests/kernels/quantization/test_block_fp8.py
commands:
- uv pip install --system b12x==1.2.4
- pytest -v -s model_executor/kernels/test_b12x_linear.py
model_executor/test_b12x_warmup.py
kernels/quantization/test_block_fp8.py -k b12x

- label: Kernels Helion Test
key: kernels-helion-test
timeout_in_minutes: 115
Expand Down
15 changes: 9 additions & 6 deletions .buildkite/test_areas/lm_eval.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -178,13 +178,14 @@ steps:
commands:
- pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=evals/gsm8k/configs/moe-refactor/config-h100.txt

- label: MoE Refactor Integration Test (B200 - TEMPORARY)
- label: MoE Refactor Integration Test (B200 - TEMPORARY) %N
key: moe-refactor-integration-test-b200-temporary
device: b200-k8s
optional: true
num_devices: 2
parallelism: 4
commands:
- pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=evals/gsm8k/configs/moe-refactor/config-b200.txt
- pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=evals/gsm8k/configs/moe-refactor/config-b200-shard-$$BUILDKITE_PARALLEL_JOB.txt

- label: MoE Refactor Integration Test (B200 DP - TEMPORARY)
key: moe-refactor-integration-test-b200-dp-temporary
Expand All @@ -194,20 +195,21 @@ steps:
commands:
- pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=evals/gsm8k/configs/moe-refactor-dp-ep/config-b200.txt

- label: LM Eval Humming f16 (A100 - TEMPORARY)
- label: LM Eval Humming f16 (A100 - TEMPORARY) %N
key: lm-eval-humming-f16-a100
timeout_in_minutes: 75
device: a100
optional: true
num_devices: 1
parallelism: 3
source_file_dependencies:
- vllm/model_executor/layers/quantization/humming.py
- vllm/model_executor/layers/quantization/utils/humming_utils.py
- vllm/model_executor/layers/fused_moe/experts/fused_humming_moe.py
- vllm/model_executor/layers/fused_moe/oracle/
- vllm/model_executor/kernels/linear/
commands:
- pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=evals/gsm8k/configs/humming/config.txt
- pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=evals/gsm8k/configs/humming/config-a100-shard-$$BUILDKITE_PARALLEL_JOB.txt

- label: LM Eval Humming Act int8 (A100 - TEMPORARY)
key: lm-eval-humming-act-a100
Expand All @@ -224,20 +226,21 @@ steps:
commands:
- pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=evals/gsm8k/configs/humming/config-act-int8.txt

- label: LM Eval Humming f16 (H100 - TEMPORARY)
- label: LM Eval Humming f16 (H100 - TEMPORARY) %N
key: lm-eval-humming-f16-h100
timeout_in_minutes: 70
device: h100
optional: true
num_devices: 1
parallelism: 3
source_file_dependencies:
- vllm/model_executor/layers/quantization/humming.py
- vllm/model_executor/layers/quantization/utils/humming_utils.py
- vllm/model_executor/layers/fused_moe/experts/fused_humming_moe.py
- vllm/model_executor/layers/fused_moe/oracle/
- vllm/model_executor/kernels/linear/
commands:
- pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=evals/gsm8k/configs/humming/config.txt
- pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=evals/gsm8k/configs/humming/config-h100-shard-$$BUILDKITE_PARALLEL_JOB.txt

- label: LM Eval Humming Act fp8/int8 (H100 - TEMPORARY)
key: lm-eval-humming-act-h100
Expand Down
Loading
Loading