Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upstream merge 25 1 6 #350

Merged
merged 202 commits into from
Jan 8, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
202 commits
Select commit Hold shift + click to select a range
efbce85
[misc] Layerwise profile updates (#10242)
varun-sundar-rabindranath Dec 16, 2024
551603f
[core] overhaul memory profiling and fix backward compatibility (#10511)
youkaichao Dec 16, 2024
35ffa68
[Docs] hint to enable use of GPU performance counters in profiling to…
bk-TurbaAI Dec 16, 2024
c301616
[ci][tests] add gh200 tests (#11244)
youkaichao Dec 16, 2024
88a412e
[torch.compile] fast inductor (#11108)
youkaichao Dec 17, 2024
35bae11
fix gh200 tests on main (#11246)
youkaichao Dec 17, 2024
0064f69
[CI] Add test case with JSON schema using references + use xgrammar b…
mgoin Dec 17, 2024
66d4b16
[Frontend] Add OpenAI API support for input_audio (#11027)
kylehh Dec 17, 2024
59c9b6e
[V1][VLM] Proper memory profiling for image language models (#11210)
ywang96 Dec 17, 2024
e88db68
[Platform] platform agnostic for EngineArgs initialization (#11225)
wangxiyuan Dec 17, 2024
2bfdbf2
[V1][Core] Use weakref.finalize instead of atexit (#11242)
tlrmchlsmth Dec 17, 2024
02222a0
[Misc] Kernel Benchmark for `RMSNorm` (#11241)
ywang96 Dec 17, 2024
f9ecbb1
[Misc] Allow passing logits_soft_cap for xformers backend (#11252)
Isotr0py Dec 17, 2024
2d1b9ba
[Bugfix] Fix request cancellation without polling (#11190)
joerunde Dec 17, 2024
c77eb8a
[Bugfix] Set temperature=0.7 in test_guided_choice_chat (#11264)
mgoin Dec 18, 2024
bf8717e
[V1] Prefix caching for vision language models (#11187)
comaniac Dec 18, 2024
866fa45
[Bugfix] Restore support for larger block sizes (#11259)
kzawora-intel Dec 18, 2024
8b79f9e
[Bugfix] Fix guided decoding with tokenizer mode mistral (#11046)
wallashss Dec 18, 2024
f04e407
[MISC][XPU]update ipex link for CI fix (#11278)
yma11 Dec 18, 2024
60508ff
[Kernel]: Cutlass 2:4 Sparsity + FP8/Int8 Quant Support (#10995)
dsikka Dec 18, 2024
996aa70
[Bugfix] Fix broken phi3-v mm_processor_kwargs tests (#11263)
Isotr0py Dec 18, 2024
362cff1
[CI][Misc] Remove Github Action Release Workflow (#11274)
simon-mo Dec 18, 2024
f954fe0
[FIX] update openai version (#11287)
jikunshang Dec 18, 2024
ca5f54a
[Bugfix] fix minicpmv test (#11304)
joerunde Dec 18, 2024
fdea8ec
[V1] VLM - enable processor cache by default (#11305)
alexm-redhat Dec 18, 2024
5a9da2e
[Bugfix][Build/CI] Fix sparse CUTLASS compilation on CUDA [12.0, 12.2…
tlrmchlsmth Dec 19, 2024
17ca964
[Model] IBM Granite 3.1 (#11307)
tjohnson31415 Dec 19, 2024
a30482f
[CI] Expand test_guided_generate to test all backends (#11313)
mgoin Dec 19, 2024
c6b0a7d
[V1] Simplify prefix caching logic by removing `num_evictable_compute…
heheda12345 Dec 19, 2024
6142ef0
[VLM] Merged multimodal processor for Qwen2-Audio (#11303)
DarkLight1337 Dec 19, 2024
8936316
[Kernel] Refactor Cutlass c3x (#10049)
varun-sundar-rabindranath Dec 19, 2024
f26c4ae
[Misc] Optimize ray worker initialization time (#11275)
ruisearch42 Dec 19, 2024
9835673
[misc] benchmark_throughput : Add LoRA (#11267)
varun-sundar-rabindranath Dec 19, 2024
5aef498
[Feature] Add load generation config from model (#11164)
liuyanyi Dec 19, 2024
a0f7d53
[Bugfix] Cleanup Pixtral HF code (#11333)
DarkLight1337 Dec 19, 2024
6c7f881
[Model] Add JambaForSequenceClassification model (#10860)
yecohn Dec 19, 2024
7379b3d
[V1] Fix multimodal profiling for `Molmo` (#11325)
ywang96 Dec 19, 2024
e24113a
[Model] Refactor Qwen2-VL to use merged multimodal processor (#11258)
Isotr0py Dec 19, 2024
cdf22af
[Misc] Clean up and consolidate LRUCache (#11339)
DarkLight1337 Dec 19, 2024
276738c
[Bugfix] Fix broken CPU compressed-tensors test (#11338)
Isotr0py Dec 19, 2024
e461c26
[Misc] Remove unused vllm/block.py (#11336)
Ghjk94522 Dec 19, 2024
a985f7a
[CI] Adding CPU docker pipeline (#11261)
zhouyuan Dec 19, 2024
48edab8
[Bugfix][Hardware][POWERPC] Fix auto dtype failure in case of POWER10…
Akashcodes732 Dec 20, 2024
7801f56
[ci][gh200] dockerfile clean up (#11351)
youkaichao Dec 20, 2024
b880ffb
[Misc] Add tqdm progress bar during graph capture (#11349)
mgoin Dec 20, 2024
86c2d8f
[Bugfix] Fix spec decoding when seed is none in a batch (#10863)
wallashss Dec 20, 2024
c954f21
[misc] add early error message for custom ops (#11355)
youkaichao Dec 20, 2024
1ecc645
[doc] backward compatibility for 0.6.4 (#11359)
youkaichao Dec 20, 2024
04139ad
[V1] Fix profiling for models with merged input processor (#11370)
ywang96 Dec 20, 2024
7c7aa37
[CI/Build] fix pre-compiled wheel install for exact tag (#11373)
dtrifiro Dec 20, 2024
995f562
[Core] Loading model from S3 using RunAI Model Streamer as optional l…
omer-dayan Dec 20, 2024
d573aea
[Bugfix] Don't log OpenAI field aliases as ignored (#11378)
mgoin Dec 20, 2024
5d2248d
[doc] explain nccl requirements for rlhf (#11381)
youkaichao Dec 20, 2024
47a0b61
Add ray[default] to wget to run distributed inference out of box (#11…
Jeffwan Dec 20, 2024
dd2b563
[V1][Bugfix] Skip hashing empty or None mm_data (#11386)
WoosukKwon Dec 21, 2024
51ff216
[Bugfix] update should_ignore_layer (#11354)
horheynm Dec 21, 2024
584f0ae
[V1] Make AsyncLLMEngine v1-v0 opaque (#11383)
rickyyx Dec 21, 2024
c2d1b07
[Bugfix] Fix issues for `Pixtral-Large-Instruct-2411` (#11393)
ywang96 Dec 21, 2024
29c7489
[CI] Fix flaky entrypoint tests (#11403)
ywang96 Dec 22, 2024
4a91397
[cd][release] add pypi index for every commit and nightly build (#11404)
youkaichao Dec 22, 2024
72d9c31
[cd][release] fix race conditions (#11407)
youkaichao Dec 22, 2024
f1d1bf6
[Bugfix] Fix fully sharded LoRAs with Mixtral (#11390)
n1hility Dec 22, 2024
048fc57
[CI] Unboock H100 Benchmark (#11419)
simon-mo Dec 22, 2024
f30581c
[misc][perf] remove old code (#11425)
youkaichao Dec 23, 2024
e51719a
mypy type checking for vllm/worker (#11418)
lucas-tucker Dec 23, 2024
5bfb30a
[Bugfix] Fix CFGGuide and use outlines for grammars that can't conver…
mgoin Dec 23, 2024
2e72668
[Bugfix] torch nightly version in ROCm installation guide (#11423)
terrytangyuan Dec 23, 2024
b866cdb
[Misc] Add assertion and helpful message for marlin24 compressed mode…
dsikka Dec 23, 2024
8cef6e0
[Misc] add w8a8 asym models (#11075)
dsikka Dec 23, 2024
63afbe9
[CI] Expand OpenAI test_chat.py guided decoding tests (#11048)
mgoin Dec 23, 2024
60fb4f3
[Bugfix] Add kv cache scales to gemma2.py (#11269)
mgoin Dec 23, 2024
94d545a
[Doc] Fix typo in the help message of '--guided-decoding-backend' (#1…
yansh97 Dec 23, 2024
32aa205
[Docs] Convert rST to MyST (Markdown) (#11145)
rafvasq Dec 23, 2024
a491d6f
[V1] TP Ray executor (#11107)
ruisearch42 Dec 23, 2024
4f074fb
[Misc]Suppress irrelevant exception stack trace information when CUDA…
shiquan1988 Dec 24, 2024
9edca6b
[Frontend] Online Pooling API (#11457)
DarkLight1337 Dec 24, 2024
b1b1038
[Bugfix] Fix Qwen2-VL LoRA weight loading (#11430)
jeejeelee Dec 24, 2024
7a5286c
[Bugfix][Hardware][CPU] Fix CPU `input_positions` creation for text-o…
Isotr0py Dec 24, 2024
461cde2
[OpenVINO] Fixed installation conflicts (#11458)
ilya-lavrenov Dec 24, 2024
5c79632
[attn][tiny fix] fix attn backend in MultiHeadAttention (#11463)
MengqingCao Dec 24, 2024
196c34b
[Misc] Move weights mapper (#11443)
jeejeelee Dec 24, 2024
409475a
[Bugfix] Fix issues in CPU build Dockerfile. Fixes #9182 (#11435)
terrytangyuan Dec 24, 2024
3f3e92e
[Model] Automatic conversion of classification and reward models (#11…
DarkLight1337 Dec 24, 2024
9832e55
[V1] Unify VLLM_ENABLE_V1_MULTIPROCESSING handling in RayExecutor (#1…
ruisearch42 Dec 25, 2024
fc60166
[Misc] Update disaggregation benchmark scripts and test logs (#11456)
Jeffwan Dec 25, 2024
b689ada
[Frontend] Enable decord to load video from base64 (#11492)
DarkLight1337 Dec 25, 2024
6ad909f
[Doc] Improve GitHub links (#11491)
DarkLight1337 Dec 25, 2024
51a624b
[Misc] Move some multimodal utils to modality-specific modules (#11494)
DarkLight1337 Dec 26, 2024
dbeac95
Mypy checking for vllm/compilation (#11496)
lucas-tucker Dec 26, 2024
aa25985
[Misc][LoRA] Fix LoRA weight mapper (#11495)
jeejeelee Dec 26, 2024
7492a36
[Doc] Add `QVQ` and `QwQ` to the list of supported models (#11509)
ywang96 Dec 26, 2024
dcb1a94
[V1] Adding min tokens/repetition/presence/frequence penalties to V1 …
sroy745 Dec 26, 2024
f57ee56
[Model] Modify MolmoForCausalLM MLP (#11510)
jeejeelee Dec 26, 2024
eec906d
[Misc] Add placeholder module (#11501)
DarkLight1337 Dec 26, 2024
b85a977
[Doc] Add video example to openai client for multimodal (#11521)
Isotr0py Dec 26, 2024
720b10f
[1/N] API Server (Remove Proxy) (#11529)
robertgshaw2-redhat Dec 26, 2024
2072924
[Model] [Quantization] Support deepseek_v3 w8a8 fp8 block-wise quanti…
mgoin Dec 26, 2024
55fb97f
[2/N] API Server: Avoid ulimit footgun (#11530)
robertgshaw2-redhat Dec 26, 2024
f49777b
Deepseek v3 (#11502)
simon-mo Dec 27, 2024
82d24f7
[Docs] Document Deepseek V3 support (#11535)
simon-mo Dec 27, 2024
0c0c201
Update openai_compatible_server.md (#11536)
robertgshaw2-redhat Dec 27, 2024
371d04d
[V1] Use FlashInfer Sampling Kernel for Top-P & Top-K Sampling (#11394)
WoosukKwon Dec 27, 2024
81b979f
[V1] Fix yapf (#11538)
WoosukKwon Dec 27, 2024
46d4359
[CI] Fix broken CI (#11543)
robertgshaw2-redhat Dec 27, 2024
eb881ed
[misc] fix typing (#11540)
youkaichao Dec 27, 2024
1b875a0
[V1][3/N] API Server: Reduce Task Switching + Handle Abort Properly (…
robertgshaw2-redhat Dec 27, 2024
2339d59
[BugFix] Fix quantization for all other methods (#11547)
robertgshaw2-redhat Dec 27, 2024
6c6f7fe
[Platform] Move model arch check to platform (#11503)
MengqingCao Dec 27, 2024
d003f3e
Update deploying_with_k8s.md with AMD ROCm GPU example (#11465)
AlexHe99 Dec 27, 2024
2c9b8ea
[Bugfix] Fix TeleChat2ForCausalLM weights mapper (#11546)
jeejeelee Dec 27, 2024
7af553e
[Misc] Abstract the logic for reading and writing media content (#11527)
DarkLight1337 Dec 27, 2024
5ce4627
[Doc] Add xgrammar in doc (#11549)
Chen-0210 Dec 27, 2024
1014180
[VLM] Support caching in merged multi-modal processor (#11396)
DarkLight1337 Dec 27, 2024
55509c2
[MODEL] LoRA support for Jamba model (#11209)
ErezSC42 Dec 27, 2024
0240402
[Misc]Add BNB quantization for MolmoForCausalLM (#11551)
jeejeelee Dec 27, 2024
dde1fa1
[Misc] Improve BNB loader to handle mixture of sharded and merged wei…
Isotr0py Dec 27, 2024
ac79799
[Bugfix] Fix for ROCM compressed tensor support (#11561)
selalipop Dec 27, 2024
a607312
[Doc] Update mllama example based on official doc (#11567)
heheda12345 Dec 28, 2024
df04dff
[V1] [4/N] API Server: ZMQ/MP Utilities (#11541)
robertgshaw2-redhat Dec 28, 2024
b5cbe8e
[Bugfix] Last token measurement fix (#11376)
rajveerb Dec 28, 2024
d34be24
[Model] Support InternLM2 Reward models (#11571)
Isotr0py Dec 28, 2024
b7dcc00
[Model] Remove hardcoded image tokens ids from Pixtral (#11582)
ywang96 Dec 28, 2024
59d6bb4
[Hardware][AMD]: Replace HIPCC version with more precise ROCm version…
hj-wei Dec 28, 2024
42bb201
[V1][Minor] Set pin_memory=False for token_ids_cpu tensor (#11581)
WoosukKwon Dec 28, 2024
d427e5c
[Doc] Minor documentation fixes (#11580)
DarkLight1337 Dec 28, 2024
328841d
[bugfix] interleaving sliding window for cohere2 model (#11583)
youkaichao Dec 28, 2024
4fb8e32
[V1] [5/N] API Server: unify `Detokenizer` and `EngineCore` input (#…
robertgshaw2-redhat Dec 28, 2024
32b4c63
[Doc] Convert list tables to MyST (#11594)
DarkLight1337 Dec 29, 2024
dba4d9d
[v1][bugfix] fix cudagraph with inplace buffer assignment (#11596)
youkaichao Dec 29, 2024
faef77c
[Misc] KV cache transfer connector registry (#11481)
KuntaiDu Dec 29, 2024
0aa38d1
Remove print statement in DeepseekScalingRotaryEmbedding (#11604)
mgoin Dec 29, 2024
3682e33
[v1] fix compilation cache (#11598)
youkaichao Dec 30, 2024
628ec6c
[Docker] bump up neuron sdk v2.21 (#11593)
liangfu Dec 30, 2024
970d6d0
[Build][Kernel] Update CUTLASS to v3.6.0 (#11607)
tlrmchlsmth Dec 30, 2024
5dbf854
[CI/Build][CPU] Fix CPU CI by lazy importing triton FP8 kernels (#11618)
bigPYJ1151 Dec 30, 2024
b12e87f
[platforms] enable platform plugins (#11602)
youkaichao Dec 30, 2024
8d9b672
[VLM] Abstract out multi-modal data parsing in merged processor (#11620)
DarkLight1337 Dec 30, 2024
5886aa4
[V1] [6/N] API Server: Better Shutdown (#11586)
robertgshaw2-redhat Dec 30, 2024
36e7670
[Bugfix] Validate and concatenate image embeddings in MiniCPMVBaseMod…
whyiug Dec 30, 2024
ccb1aab
[benchmark] Remove dependency for H100 benchmark step (#11572)
khluu Dec 30, 2024
a2a40bc
[Model][LoRA]LoRA support added for MolmoForCausalLM (#11439)
ayylemao Dec 31, 2024
74fa1d1
[Bugfix] Fix OpenAI parallel sampling when using xgrammar (#11637)
mgoin Dec 31, 2024
82c49d3
[Misc][LoRA] Support Rank Stabilized LoRA (RSLoRA) (#6909)
JohnGiorgi Dec 31, 2024
2c57188
[Bugfix] Move the _touch(computed_blocks) call in the allocate_slots …
sakunkun Dec 31, 2024
8c3230d
[V1] Simpify vision block hash for prefix caching by removing offset …
heheda12345 Dec 31, 2024
e7c7c5e
[V1][VLM] V1 support for selected single-image models. (#11632)
ywang96 Dec 31, 2024
0c6f998
[Benchmark] Add benchmark script for CPU offloading (#11533)
ApostaC Jan 1, 2025
4db72e5
[Bugfix][Refactor] Unify model management in frontend (#11660)
joerunde Jan 1, 2025
365801f
[VLM] Add max-count checking in data parser for single image models (…
DarkLight1337 Jan 1, 2025
11d8a09
[Misc] Optimize Qwen2-VL LoRA test (#11663)
jeejeelee Jan 1, 2025
f962f42
[Misc] Replace space with - in the file names (#11667)
houseroad Jan 1, 2025
6d70198
[Doc] Fix typo (#11666)
serihiro Jan 1, 2025
7300144
[V1] Implement Cascade Attention (#11635)
WoosukKwon Jan 1, 2025
a115ac4
[VLM] Move supported limits and max tokens to merged multi-modal proc…
DarkLight1337 Jan 1, 2025
23c1b10
[VLM][Bugfix] Multi-modal processor compatible with V1 multi-input (#…
DarkLight1337 Jan 2, 2025
b6087a6
[mypy] Pass type checking in vllm/inputs (#11680)
CloseChoice Jan 2, 2025
8c38ee7
[VLM] Merged multi-modal processor for LLaVA-NeXT (#11682)
DarkLight1337 Jan 2, 2025
84c35c3
According to vllm.EngineArgs, the name should be distributed_executor…
chunyang-wen Jan 2, 2025
2f38518
[Bugfix] Free cross attention block table for preempted-for-recompute…
kathyyu-google Jan 2, 2025
b55ed6e
[V1][Minor] Optimize token_ids_cpu copy (#11692)
WoosukKwon Jan 2, 2025
187e329
[Bugfix] Change kv scaling factor by param json on nvidia gpu (#11688)
bjmsong Jan 2, 2025
5dba257
Resolve race conditions in Marlin kernel (#11493)
wchen61 Jan 2, 2025
68d3780
[Misc] Minimum requirements for SageMaker compatibility (#11576)
nathan-az Jan 2, 2025
2f1e8e8
Update default max_num_batch_tokens for chunked prefill (#11694)
SachinVarghese Jan 3, 2025
07064cb
[Bugfix] Check chain_speculative_sampling before calling it (#11673)
houseroad Jan 3, 2025
fd3a62a
[perf-benchmark] Fix dependency for steps in benchmark pipeline (#11710)
khluu Jan 3, 2025
e1a5c2f
[Model] Whisper model implementation (#11280)
aurickq Jan 3, 2025
80c751e
[V1] Simplify Shutdown (#11659)
robertgshaw2-redhat Jan 3, 2025
61fed92
[Bugfix] Fix ColumnParallelLinearWithLoRA slice (#11708)
zinccat Jan 3, 2025
1543914
[V1] Improve TP>1 Error Handling + Stack Trace (#11721)
robertgshaw2-redhat Jan 3, 2025
a655eb3
[Misc]Add BNB quantization for Qwen2VL (#11719)
jeejeelee Jan 3, 2025
bf0d97d
Update requirements-tpu.txt to support python 3.9 and 3.11 (#11695)
mgoin Jan 3, 2025
ad0d567
[V1] Chore: cruft removal (#11724)
robertgshaw2-redhat Jan 3, 2025
e5d7ed0
[V1] log GPU blocks num for MultiprocExecutor (#11656)
WangErXiao Jan 4, 2025
9c93636
Update tool_calling.md (#11701)
Bryce1010 Jan 4, 2025
d1d4939
Update bnb.md with example for OpenAI (#11718)
bet0x Jan 4, 2025
fbf2564
[V1] Add `RayExecutor` support for `AsyncLLM` (api server) (#11712)
jikunshang Jan 4, 2025
d91457d
[V1] Add kv cache utils tests. (#11513)
xcnick Jan 4, 2025
300acb8
[Core][Bugfix] Use correct device to initialize GPU data during CUDA-…
yanburman Jan 4, 2025
eed11eb
[VLM] Merged multi-modal processors for LLaVA-NeXT-Video and LLaVA-On…
DarkLight1337 Jan 4, 2025
ba214df
[Bugfix] Fix precision error in LLaVA-NeXT (#11735)
DarkLight1337 Jan 4, 2025
65c0892
[Model] Remove unnecessary weight initialization logic (#11736)
DarkLight1337 Jan 4, 2025
4783143
[Bugfix][V1] Fix test_kv_cache_utils.py (#11738)
jeejeelee Jan 4, 2025
4068f4b
[MISC] Replace c10::optional with std::optional (#11730)
houseroad Jan 5, 2025
635b897
[distributed] remove pynccl's redundant stream (#11744)
cennn Jan 5, 2025
eba1717
fix: [doc] fix typo (#11751)
RuixiangMa Jan 5, 2025
33fc1e2
[Frontend] Improve `StreamingResponse` Exception Handling (#11752)
robertgshaw2-redhat Jan 5, 2025
9e764e7
[distributed] remove pynccl's redundant change_state (#11749)
cennn Jan 6, 2025
402d378
[Doc] [1/N] Reorganize Getting Started section (#11645)
DarkLight1337 Jan 6, 2025
408e560
[Bugfix] Remove block size constraint (#11723)
comaniac Jan 6, 2025
06bfb51
[V1] Add BlockTable class (#11693)
WoosukKwon Jan 6, 2025
f8fcca1
[Misc] Fix typo for valid_tool_parses (#11753)
ruisearch42 Jan 6, 2025
022c5c6
[V1] Refactor get_executor_cls (#11754)
ruisearch42 Jan 6, 2025
9c74971
[mypy] Forward pass function type hints in lora (#11740)
lucas-tucker Jan 6, 2025
2a622d7
k8s-config: Update the secret to use stringData (#11679)
surajssd Jan 6, 2025
996357e
[VLM] Separate out profiling-related logic (#11746)
DarkLight1337 Jan 6, 2025
ee77fdb
[Doc][2/N] Reorganize Models and Usage sections (#11755)
DarkLight1337 Jan 6, 2025
9279b9f
[Bugfix] Fix max image size for LLaVA-Onevision (#11769)
ywang96 Jan 6, 2025
4ca5d40
[doc] explain how to add interleaving sliding window support (#11771)
youkaichao Jan 6, 2025
4773c29
Merge remote-tracking branch 'upstream/main'
gshtras Jan 6, 2025
267c1a1
format
gshtras Jan 6, 2025
97067c0
Merge branch 'main' into upstream_merge_25_1_6
gshtras Jan 8, 2025
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
  •  
  •  
  •  
24 changes: 24 additions & 0 deletions .buildkite/generate_index.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import argparse
import os

template = """<!DOCTYPE html>
<html>
<body>
<h1>Links for vLLM</h1/>
<a href="../{wheel_html_escaped}">{wheel}</a><br/>
</body>
</html>
"""

parser = argparse.ArgumentParser()
parser.add_argument("--wheel", help="The wheel path.", required=True)
args = parser.parse_args()

filename = os.path.basename(args.wheel)

with open("index.html", "w") as f:
print(f"Generated index.html for {args.wheel}")
# cloudfront requires escaping the '+' character
f.write(
template.format(wheel=filename,
wheel_html_escaped=filename.replace("+", "%2B")))
13 changes: 7 additions & 6 deletions .buildkite/nightly-benchmarks/benchmark-pipeline.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
steps:
- label: "Wait for container to be ready"
key: wait-for-container-image
agents:
queue: A100
plugins:
Expand All @@ -10,12 +11,11 @@ steps:
command:
- sh .buildkite/nightly-benchmarks/scripts/wait-for-image.sh

- wait

- label: "A100"
# skip: "use this flag to conditionally skip the benchmark step, useful for PR testing"
agents:
queue: A100
depends_on: wait-for-container-image
plugins:
- kubernetes:
podSpec:
Expand Down Expand Up @@ -49,6 +49,7 @@ steps:
# skip: "use this flag to conditionally skip the benchmark step, useful for PR testing"
agents:
queue: H200
depends_on: wait-for-container-image
plugins:
- docker#v5.12.0:
image: public.ecr.aws/q9t5s3a7/vllm-ci-postmerge-repo:$BUILDKITE_COMMIT
Expand All @@ -65,15 +66,15 @@ steps:
- VLLM_USAGE_SOURCE
- HF_TOKEN

- block: "Run H100 Benchmark"
key: block-h100
depends_on: ~
#- block: "Run H100 Benchmark"
#key: block-h100
#depends_on: ~

- label: "H100"
# skip: "use this flag to conditionally skip the benchmark step, useful for PR testing"
agents:
queue: H100
depends_on: block-h100
depends_on: wait-for-container-image
plugins:
- docker#v5.12.0:
image: public.ecr.aws/q9t5s3a7/vllm-ci-postmerge-repo:$BUILDKITE_COMMIT
Expand Down
15 changes: 15 additions & 0 deletions .buildkite/release-pipeline.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,18 @@ steps:
password-env: DOCKERHUB_TOKEN
env:
DOCKER_BUILDKIT: "1"

- block: "Build CPU release image"
key: block-cpu-release-image-build
depends_on: ~

- label: "Build and publish CPU release image"
depends_on: block-cpu-release-image-build
agents:
queue: cpu_queue_postmerge
commands:
- "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7"
- "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg GIT_REPO_CHECK=1 --tag public.ecr.aws/q9t5s3a7/vllm-cpu-release-repo:$RELEASE_VERSION --progress plain -f Dockerfile.cpu ."
- "docker push public.ecr.aws/q9t5s3a7/vllm-cpu-release-repo:$RELEASE_VERSION"
env:
DOCKER_BUILDKIT: "1"
28 changes: 28 additions & 0 deletions .buildkite/run-gh200-test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/bin/bash

# This script build the GH200 docker image and run the offline inference inside the container.
# It serves a sanity check for compilation and basic model usage.
set -ex

# Skip the new torch installation during build since we are using the specified version for arm64 in the Dockerfile
python3 use_existing_torch.py

# Try building the docker image
DOCKER_BUILDKIT=1 docker build . \
--target vllm-openai \
--platform "linux/arm64" \
-t gh200-test \
--build-arg max_jobs=66 \
--build-arg nvcc_threads=2 \
--build-arg torch_cuda_arch_list="9.0+PTX" \
--build-arg vllm_fa_cmake_gpu_arches="90-real"

# Setup cleanup
remove_docker_container() { docker rm -f gh200-test || true; }
trap remove_docker_container EXIT
remove_docker_container

# Run the image and test offline inference
docker run --name gh200-test --gpus=all --entrypoint="" gh200-test bash -c '
python3 examples/offline_inference.py
'
39 changes: 29 additions & 10 deletions .buildkite/test-pipeline.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -106,14 +106,12 @@ steps:
source_file_dependencies:
- vllm/
commands:
- pip install -e ./plugins/vllm_add_dummy_model
- pytest -v -s entrypoints/llm --ignore=entrypoints/llm/test_lazy_outlines.py --ignore=entrypoints/llm/test_generate.py --ignore=entrypoints/llm/test_generate_multiple_loras.py --ignore=entrypoints/llm/test_guided_generate.py
- pytest -v -s entrypoints/llm/test_lazy_outlines.py # it needs a clean process
- pytest -v -s entrypoints/llm/test_generate.py # it needs a clean process
- pytest -v -s entrypoints/llm/test_generate_multiple_loras.py # it needs a clean process
- pytest -v -s entrypoints/llm/test_guided_generate.py # it needs a clean process
- pytest -v -s entrypoints/openai --ignore=entrypoints/openai/test_oot_registration.py
- pytest -v -s entrypoints/openai/test_oot_registration.py # it needs a clean process
- pytest -v -s entrypoints/test_chat_utils.py
- pytest -v -s entrypoints/offline_mode # Needs to avoid interference with other tests

Expand Down Expand Up @@ -201,7 +199,7 @@ steps:
- python3 offline_inference_classification.py
- python3 offline_inference_embedding.py
- python3 offline_inference_scoring.py
- python3 offline_profile.py --model facebook/opt-125m
- python3 offline_profile.py --model facebook/opt-125m run_num_steps --num-steps 2

- label: Prefix Caching Test # 9min
mirror_hardwares: [amd]
Expand All @@ -224,8 +222,12 @@ steps:
mirror_hardwares: [amd]
source_file_dependencies:
- vllm/model_executor/layers
- vllm/model_executor/guided_decoding
- tests/test_logits_processor
command: pytest -v -s test_logits_processor.py
- tests/model_executor/test_guided_processors
commands:
- pytest -v -s test_logits_processor.py
- pytest -v -s model_executor/test_guided_processors.py

- label: Speculative decoding tests # 30min
source_file_dependencies:
Expand Down Expand Up @@ -329,8 +331,6 @@ steps:
- vllm/
- tests/models
commands:
- pip install -e ./plugins/vllm_add_dummy_model
- pytest -v -s models/test_oot_registration.py # it needs a clean process
- pytest -v -s models/test_registry.py
- pytest -v -s models/test_initialization.py

Expand All @@ -356,23 +356,25 @@ steps:
- pytest -v -s models/decoder_only/language -m 'not core_model and not quant_model'
- pytest -v -s models/embedding/language -m 'not core_model'

- label: Multi-Modal Models Test (Standard) # 28min
- label: Multi-Modal Models Test (Standard) # 40min
#mirror_hardwares: [amd]
source_file_dependencies:
- vllm/
- tests/models/decoder_only/audio_language
- tests/models/decoder_only/vision_language
- tests/models/embedding/vision_language
- tests/models/encoder_decoder/audio_language
- tests/models/encoder_decoder/vision_language
commands:
- pip install git+https://github.com/TIGER-AI-Lab/Mantis.git
- pytest -v -s models/decoder_only/audio_language -m 'core_model or quant_model'
- pytest -v -s --ignore models/decoder_only/vision_language/test_phi3v.py models/decoder_only/vision_language -m 'core_model or quant_model'
- pytest -v -s models/embedding/vision_language -m core_model
- pytest -v -s models/encoder_decoder/audio_language -m core_model
- pytest -v -s models/encoder_decoder/language -m core_model
- pytest -v -s models/encoder_decoder/vision_language -m core_model

- label: Multi-Modal Models Test (Extended) 1 # 1h16m
- label: Multi-Modal Models Test (Extended) 1 # 48m
optional: true
source_file_dependencies:
- vllm/
Expand Down Expand Up @@ -465,11 +467,28 @@ steps:
- pytest models/encoder_decoder/vision_language/test_broadcast.py -v -s -m 'distributed(num_gpus=2)'
- pytest models/decoder_only/vision_language/test_models.py -v -s -m 'distributed(num_gpus=2)'
- pytest -v -s spec_decode/e2e/test_integration_dist_tp2.py
- pip install -e ./plugins/vllm_add_dummy_model
- pytest -v -s distributed/test_distributed_oot.py
- CUDA_VISIBLE_DEVICES=0,1 pytest -v -s test_sharded_state_loader.py
- CUDA_VISIBLE_DEVICES=0,1 pytest -v -s kv_transfer/disagg_test.py

- label: Plugin Tests (2 GPUs) # 40min
working_dir: "/vllm-workspace/tests"
num_gpus: 2
fast_check: true
source_file_dependencies:
- vllm/plugins/
- tests/plugins/
commands:
# begin platform plugin tests, all the code in-between runs on dummy platform
- pip install -e ./plugins/vllm_add_dummy_platform
- pytest -v -s plugins_tests/test_platform_plugins.py
- pip uninstall vllm_add_dummy_platform -y
# end platform plugin tests
# other tests continue here:
- pip install -e ./plugins/vllm_add_dummy_model
- pytest -v -s distributed/test_distributed_oot.py
- pytest -v -s entrypoints/openai/test_oot_registration.py # it needs a clean process
- pytest -v -s models/test_oot_registration.py # it needs a clean process

- label: Multi-step Tests (4 GPUs) # 36min
working_dir: "/vllm-workspace/tests"
num_gpus: 4
Expand Down
30 changes: 29 additions & 1 deletion .buildkite/upload-wheels.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ wheel="$new_wheel"
version=$(unzip -p "$wheel" '**/METADATA' | grep '^Version: ' | cut -d' ' -f2)
echo "Version: $version"

normal_wheel="$wheel" # Save the original wheel filename

# If the version contains "dev", rename it to v1.0.0.dev for consistency
if [[ $version == *dev* ]]; then
suffix="${version##*.}"
Expand All @@ -32,12 +34,38 @@ if [[ $version == *dev* ]]; then
new_version="1.0.0.dev"
fi
new_wheel="${wheel/$version/$new_version}"
mv -- "$wheel" "$new_wheel"
# use cp to keep both files in the artifacts directory
cp -- "$wheel" "$new_wheel"
wheel="$new_wheel"
version="$new_version"
fi

# Upload the wheel to S3
python3 .buildkite/generate_index.py --wheel "$normal_wheel"

# generate index for this commit
aws s3 cp "$wheel" "s3://vllm-wheels/$BUILDKITE_COMMIT/"
aws s3 cp "$normal_wheel" "s3://vllm-wheels/$BUILDKITE_COMMIT/"

if [[ $normal_wheel == *"cu118"* ]]; then
# if $normal_wheel matches cu118, do not upload the index.html
echo "Skipping index files for cu118 wheels"
else
# only upload index.html for cu12 wheels (default wheels)
aws s3 cp index.html "s3://vllm-wheels/$BUILDKITE_COMMIT/vllm/index.html"
aws s3 cp "s3://vllm-wheels/nightly/index.html" "s3://vllm-wheels/$BUILDKITE_COMMIT/index.html"
fi

# generate index for nightly
aws s3 cp "$wheel" "s3://vllm-wheels/nightly/"
aws s3 cp "$normal_wheel" "s3://vllm-wheels/nightly/"

if [[ $normal_wheel == *"cu118"* ]]; then
# if $normal_wheel matches cu118, do not upload the index.html
echo "Skipping index files for cu118 wheels"
else
# only upload index.html for cu12 wheels (default wheels)
aws s3 cp index.html "s3://vllm-wheels/nightly/vllm/index.html"
fi

aws s3 cp "$wheel" "s3://vllm-wheels/$version/"
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ body:
value: >
#### Before submitting an issue, please make sure the issue hasn't been already addressed by searching through [the existing and past issues](https://github.com/vllm-project/vllm/issues?q=is%3Aissue+sort%3Acreated-desc+).
#### We also highly recommend you read https://docs.vllm.ai/en/latest/models/adding_model.html first to understand how to add a new model.
#### We also highly recommend you read https://docs.vllm.ai/en/latest/contributing/model/adding_model.html first to understand how to add a new model.
- type: textarea
attributes:
label: The model to consider.
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,8 @@ instance/
docs/_build/
docs/source/getting_started/examples/*.rst
!**/*.template.rst
docs/source/getting_started/examples/*.md
!**/*.template.md

# PyBuilder
.pybuilder/
Expand Down
39 changes: 33 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ if(VLLM_GPU_LANG STREQUAL "CUDA")
SET(CUTLASS_ENABLE_HEADERS_ONLY ON CACHE BOOL "Enable only the header library")

# Set CUTLASS_REVISION manually -- its revision detection doesn't work in this case.
set(CUTLASS_REVISION "v3.5.1" CACHE STRING "CUTLASS revision to use")
set(CUTLASS_REVISION "v3.6.0" CACHE STRING "CUTLASS revision to use")

# Use the specified CUTLASS source directory for compilation if VLLM_CUTLASS_SRC_DIR is provided
if (DEFINED ENV{VLLM_CUTLASS_SRC_DIR})
Expand All @@ -257,7 +257,7 @@ if(VLLM_GPU_LANG STREQUAL "CUDA")
FetchContent_Declare(
cutlass
GIT_REPOSITORY https://github.com/nvidia/cutlass.git
GIT_TAG v3.5.1
GIT_TAG v3.6.0
GIT_PROGRESS TRUE

# Speed up CUTLASS download by retrieving only the specified GIT_TAG instead of the history.
Expand All @@ -275,7 +275,10 @@ if(VLLM_GPU_LANG STREQUAL "CUDA")
"csrc/quantization/awq/gemm_kernels.cu"
"csrc/custom_all_reduce.cu"
"csrc/permute_cols.cu"
"csrc/quantization/cutlass_w8a8/scaled_mm_entry.cu")
"csrc/quantization/cutlass_w8a8/scaled_mm_entry.cu"
"csrc/sparse/cutlass/sparse_scaled_mm_entry.cu"
"csrc/sparse/cutlass/sparse_compressor_entry.cu"
"csrc/cutlass_extensions/common.cpp")

set_gencode_flags_for_srcs(
SRCS "${VLLM_EXT_SRC}"
Expand Down Expand Up @@ -304,7 +307,6 @@ if(VLLM_GPU_LANG STREQUAL "CUDA")
" in CUDA target architectures")
endif()

#
# The cutlass_scaled_mm kernels for Hopper (c3x, i.e. CUTLASS 3.x) require
# CUDA 12.0 or later (and only work on Hopper, 9.0/9.0a for now).
cuda_archs_loose_intersection(SCALED_MM_3X_ARCHS "9.0;9.0a" "${CUDA_ARCHS}")
Expand Down Expand Up @@ -357,6 +359,31 @@ if(VLLM_GPU_LANG STREQUAL "CUDA")
endif()
endif()

#
# 2:4 Sparse Kernels

# The 2:4 sparse kernels cutlass_scaled_sparse_mm and cutlass_compressor
# require CUDA 12.2 or later (and only work on Hopper, 9.0/9.0a for now).
if(${CMAKE_CUDA_COMPILER_VERSION} VERSION_GREATER 12.2 AND SCALED_MM_3X_ARCHS)
set(SRCS "csrc/sparse/cutlass/sparse_compressor_c3x.cu"
"csrc/sparse/cutlass/sparse_scaled_mm_c3x.cu")
set_gencode_flags_for_srcs(
SRCS "${SRCS}"
CUDA_ARCHS "${SCALED_MM_3X_ARCHS}")
list(APPEND VLLM_EXT_SRC "${SRCS}")
list(APPEND VLLM_GPU_FLAGS "-DENABLE_SPARSE_SCALED_MM_C3X=1")
message(STATUS "Building sparse_scaled_mm_c3x for archs: ${SCALED_MM_3X_ARCHS}")
else()
if (NOT ${CMAKE_CUDA_COMPILER_VERSION} VERSION_GREATER 12.2 AND SCALED_MM_3X_ARCHS)
message(STATUS "Not building sparse_scaled_mm_c3x kernels as CUDA Compiler version is "
"not >= 12.2, we recommend upgrading to CUDA 12.2 or later "
"if you intend on running FP8 sparse quantized models on Hopper.")
else()
message(STATUS "Not building sparse_scaled_mm_c3x as no compatible archs found "
"in CUDA target architectures")
endif()
endif()


#
# Machete kernels
Expand Down Expand Up @@ -443,7 +470,7 @@ define_gpu_extension_target(
SOURCES ${VLLM_EXT_SRC}
COMPILE_FLAGS ${VLLM_GPU_FLAGS}
ARCHITECTURES ${VLLM_GPU_ARCHES}
INCLUDE_DIRECTORIES ${CUTLASS_INCLUDE_DIR}
INCLUDE_DIRECTORIES ${CUTLASS_INCLUDE_DIR};${CUTLASS_TOOLS_UTIL_INCLUDE_DIR}
USE_SABI 3
WITH_SOABI)

Expand Down Expand Up @@ -583,7 +610,7 @@ else()
FetchContent_Declare(
vllm-flash-attn
GIT_REPOSITORY https://github.com/vllm-project/flash-attention.git
GIT_TAG 04325b6798bcc326c86fb35af62d05a9c8c8eceb
GIT_TAG 96266b1111111f3d11aabefaf3bacbab6a89d03c
GIT_PROGRESS TRUE
# Don't share the vllm-flash-attn build between build types
BINARY_DIR ${CMAKE_BINARY_DIR}/vllm-flash-attn
Expand Down
Loading
Loading