Upstream marge conflicts fix#2
Conversation
…2673) Signed-off-by: fan2956 <zhoufan53@huawei.com>
…roject#2647) Signed-off-by: bjf-frz <frz123db@gmail.com>
Signed-off-by: Jinheng Li <ahengljh@gmail.com> Signed-off-by: Canlin Guo <961750412@qq.com> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com> Co-authored-by: Canlin Guo <961750412@qq.com>
…figs (vllm-project#2622) Signed-off-by: Yiyang Liu <yiyangliu@microsoft.com> Co-authored-by: Yiyang Liu <yiyangliu@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Nick Cao <ncao@redhat.com> Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Yueqian Lin <70319226+linyueqian@users.noreply.github.com> Co-authored-by: SYLAR <lishunyang12@users.noreply.github.com>
…g ref_text (vllm-project#2203) Signed-off-by: Yueqian Lin <70319226+linyueqian@users.noreply.github.com> Co-authored-by: Yueqian Lin <70319226+linyueqian@users.noreply.github.com>
…enchmarks (vllm-project#1971) Signed-off-by: samithuang <285365963@qq.com> Signed-off-by: Samit <285365963@qq.com>
Signed-off-by: akshatvishu <akshatnayak197@gmail.com>
…with cuda tests (vllm-project#2340) Signed-off-by: tjtanaa <tunjian.tan@embeddedllm.com>
Signed-off-by: Nick Cao <ncao@redhat.com>
…oject#2676) Signed-off-by: JuanPZuluaga <juanz9312@gmail.com>
…sage (vllm-project#2688) Signed-off-by: tjtanaa <tunjian.tan@embeddedllm.com>
…#2519) Signed-off-by: yuanheng <jonathan.zhaoyh@gmail.com> Signed-off-by: Yuanheng Zhao <jonathan.zhaoyh@gmail.com> Co-authored-by: Hongsheng Liu <liuhongsheng4@huawei.com> Co-authored-by: SYLAR <125541396+lishunyang12@users.noreply.github.com>
…ookup (vllm-project#2407) Signed-off-by: reidliu41 <reid201711@gmail.com> Co-authored-by: Hongsheng Liu <liuhongsheng4@huawei.com>
Signed-off-by: david6666666 <david6666666@users.noreply.github.com> Co-authored-by: david6666666 <david6666666@users.noreply.github.com>
…project#2551) Signed-off-by: gcanlin <canlinguosdu@gmail.com>
…load) (vllm-project#2689) Signed-off-by: Alex Brooks <albrooks@redhat.com> Co-authored-by: SYLAR <125541396+lishunyang12@users.noreply.github.com>
…2706) Signed-off-by: gcanlin <canlinguosdu@gmail.com>
Signed-off-by: tjtanaa <tunjian.tan@embeddedllm.com>
…in OmniEngineArgs (vllm-project#2684) Signed-off-by: Zhengyuan Su <su.zhengyuan@u.nus.edu> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…Non-deterministic image quality regression. (vllm-project#2458) Signed-off-by: natureofnature <wzliu@connect.hku.hk>
…tor (vllm-project#2520) Signed-off-by: Sy03 <1370724210@qq.com>
…llm-project#2134) Signed-off-by: Celeste-jq <591998922@qq.com> Co-authored-by: Canlin Guo <canlinguosdu@gmail.com>
…lm-project#2720) Signed-off-by: Yueqian Lin <linyueqian@outlook.com>
…t timeout and stage init timeout in order to resolve the CI timeout error. (vllm-project#2711) Signed-off-by: wangyu <410167048@qq.com>
…h AsyncLL… (vllm-project#2716) Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
…llm-project#1555) Signed-off-by: natureofnature <wzliu@connect.hku.hk> Co-authored-by: Hongsheng Liu <liuhongsheng4@huawei.com>
Co-authored-by: wuzhongjian <wuzhongjian@cmss.chinamobile.com>
Signed-off-by: bjf-frz <frz123db@gmail.com>
…ect#2691) Signed-off-by: Alex Brooks <albrooks@redhat.com> Co-authored-by: lengrongfu <lenronfu@gmail.com>
Signed-off-by: Alex Brooks <albrooks@redhat.com> Co-authored-by: Didan Deng <33117903+wtomin@users.noreply.github.com>
…_generates_video[wan22_i2v_usp2_hsdp2] (vllm-project#2883) Signed-off-by: wangyu <410167048@qq.com>
Signed-off-by: Lancer <maruixiang6688@gmail.com>
…t#2343) Signed-off-by: Nick Cao <ncao@redhat.com> Co-authored-by: Claude <noreply@anthropic.com>
…ures (vllm-project#1837) Signed-off-by: CHEN <116010019@link.cuhk.edu.cn> Signed-off-by: Yueqian Lin <70319226+linyueqian@users.noreply.github.com> Signed-off-by: linyueqian <linyueqian@outlook.com> Co-authored-by: Yueqian Lin <70319226+linyueqian@users.noreply.github.com> Co-authored-by: linyueqian <linyueqian@outlook.com>
Signed-off-by: Joshna Medisetty <joshna.medisetty@intel.com> Signed-off-by: Joshna-Medisetty <joshna.medisetty@intel.com> Co-authored-by: Hongsheng Liu <liuhongsheng4@huawei.com>
Signed-off-by: Alex Brooks <albrooks@redhat.com>
Signed-off-by: hsliuustc0106 <liuhongsheng4@huawei.com> Signed-off-by: hsliu <liuhongsheng4@huawei.com> Signed-off-by: Hongsheng Liu <liuhongsheng4@huawei.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: david6666666 <david6666666@users.noreply.github.com> Co-authored-by: david6666666 <david6666666@users.noreply.github.com>
Signed-off-by: Nick Cao <ncao@redhat.com>
…t#2581) Signed-off-by: CHEN <116010019@link.cuhk.edu.cn>
Signed-off-by: princepride <wangzhipeng628@gmail.com> Signed-off-by: 汪志鹏 <wangzhipeng628@gmail.com> Co-authored-by: Hongsheng Liu <liuhongsheng4@huawei.com>
Signed-off-by: CHEN <116010019@link.cuhk.edu.cn>
Signed-off-by: Lancer <maruixiang6688@gmail.com> Co-authored-by: Samit <285365963@qq.com>
Signed-off-by: gcanlin <canlinguosdu@gmail.com>
…pt (vllm-project#2894) Signed-off-by: Sy03 <1370724210@qq.com>
…2383) Signed-off-by: lishunyang <lishunyang12@163.com> Signed-off-by: reidliu41 <reid201711@gmail.com> Signed-off-by: Alex Brooks <albrooks@redhat.com> Co-authored-by: reidliu41 <reid201711@gmail.com> Co-authored-by: xiaohajiayou <75477391+xiaohajiayou@users.noreply.github.com> Co-authored-by: Alex Brooks <albrooks@redhat.com> Co-authored-by: Hongsheng Liu <liuhongsheng4@huawei.com>
…+decode batches (vllm-project#2903) Signed-off-by: Sy03 <1370724210@qq.com>
…memory (vllm-project#2474) Signed-off-by: willamhou <willamhou@ceresman.com> Co-authored-by: willamhou <willamhou@ceresman.com>
Signed-off-by: xiaohajiayou <923390377@qq.com> Signed-off-by: Samit <285365963@qq.com> Co-authored-by: Samit <285365963@qq.com> Co-authored-by: SYLAR <125541396+lishunyang12@users.noreply.github.com>
…m-project#2018) Signed-off-by: Yuanheng Zhao <jonathan.zhaoyh@gmail.com> Signed-off-by: yuanheng <jonathan.zhaoyh@gmail.com> Co-authored-by: Didan Deng <33117903+wtomin@users.noreply.github.com>
Signed-off-by: lishunyang <lishunyang12@163.com>
…2852) Signed-off-by: fan2956 <zhoufan53@huawei.com>
Signed-off-by: Rein Yang <ruiruyang2@gmail.com>
…m-project#2934) Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Signed-off-by: Zejian Wang <zejianwang@sjtu.edu.cn>
There was a problem hiding this comment.
Code Review
This pull request refactors the deployment and testing infrastructure by introducing a new 'deploy config' schema and migrating several models (Qwen3-Omni, Qwen3-TTS) to it. It adds support for new models like Ming-flash-omni 2.0, VoxCPM, and VoxCPM2, and removes external audio dependencies (librosa, sox) in favor of internal vLLM utilities. The changes also include new Claude skills for contributors, documentation for features like frame interpolation and prefix caching, and various CI pipeline updates. Reviewers identified critical issues where benchmark scripts could silently pass by falling back to empty templates on failure, and noted several instances in new examples where Omni engine instances were not properly closed or librosa was still being imported despite its removal from the project requirements.
| if not os.path.exists(result_path): | ||
| with open(OMNI_RESULT_TEMPLATE_PATH, encoding="utf-8") as f: | ||
| template_result: dict[str, Any] = json.load(f) | ||
| Path(result_path).parent.mkdir(parents=True, exist_ok=True) | ||
| with open(result_path, "w", encoding="utf-8") as f: | ||
| json.dump(template_result, f, ensure_ascii=False, indent=2) | ||
| print(f"Benchmark result file not generated, fallback to template: {result_path}") | ||
| result = template_result | ||
| else: | ||
| with open(result_path, encoding="utf-8") as f: | ||
| result = json.load(f) |
There was a problem hiding this comment.
Falling back to a zeroed template when the benchmark result file is missing can hide performance regressions or execution failures in CI. Assertions against zeroed metrics (e.g., latency <= threshold) will pass incorrectly. It is better to raise an explicit error here if the benchmark fails to produce data.
result_path = os.path.join(result_dir, result_filename)
if not os.path.exists(result_path):
raise FileNotFoundError(f"Benchmark result file not generated: {result_path}")
with open(result_path, encoding="utf-8") as f:
result = json.load(f)| if not tmp_result_file.exists(): | ||
| raise FileNotFoundError(f"Benchmark result file not found: {tmp_result_file}") | ||
| with open(DIFFUSION_RESULT_TEMPLATE_PATH, encoding="utf-8") as f: | ||
| template_payload = json.load(f) | ||
| # Template schema is fixed and owned by this repo: | ||
| # ``diffusion_result_template.json`` is a one-item list and metrics live at [0]["result"]. | ||
| template_metrics: dict[str, Any] = template_payload[0]["result"] | ||
| with open(tmp_result_file, "w", encoding="utf-8") as f: | ||
| json.dump(template_metrics, f, ensure_ascii=False, indent=2) | ||
| print(f"Benchmark result file not generated, fallback to template: {tmp_result_file}") | ||
|
|
||
| try: | ||
| with open(tmp_result_file, encoding="utf-8") as f: | ||
| metrics: dict[str, Any] = json.load(f) |
There was a problem hiding this comment.
Similar to run_benchmark.py, falling back to a template when the result file is missing hides failures. If the benchmark script crashes or fails to generate output, the test should fail explicitly.
| if not tmp_result_file.exists(): | |
| raise FileNotFoundError(f"Benchmark result file not found: {tmp_result_file}") | |
| with open(DIFFUSION_RESULT_TEMPLATE_PATH, encoding="utf-8") as f: | |
| template_payload = json.load(f) | |
| # Template schema is fixed and owned by this repo: | |
| # ``diffusion_result_template.json`` is a one-item list and metrics live at [0]["result"]. | |
| template_metrics: dict[str, Any] = template_payload[0]["result"] | |
| with open(tmp_result_file, "w", encoding="utf-8") as f: | |
| json.dump(template_metrics, f, ensure_ascii=False, indent=2) | |
| print(f"Benchmark result file not generated, fallback to template: {tmp_result_file}") | |
| try: | |
| with open(tmp_result_file, encoding="utf-8") as f: | |
| metrics: dict[str, Any] = json.load(f) | |
| if not tmp_result_file.exists(): | |
| raise FileNotFoundError(f"Benchmark result file not generated: {tmp_result_file}") | |
| try: | |
| with open(tmp_result_file, encoding="utf-8") as f: | |
| metrics: dict[str, Any] = json.load(f) |
| import time | ||
| from typing import NamedTuple | ||
|
|
||
| import librosa |
There was a problem hiding this comment.
Since librosa has been removed from requirements/common.txt in this PR, direct imports and usage of it will fail unless manually installed. Please use vllm.multimodal.media.audio.load_audio instead, which is consistent with other updates in this PR.
| import librosa | |
| from vllm.multimodal.media.audio import load_audio |
| if audio_path: | ||
| if not os.path.exists(audio_path): | ||
| raise FileNotFoundError(f"Audio file not found: {audio_path}") | ||
| audio_signal, sr = librosa.load(audio_path, sr=sampling_rate) |
| if audio_path: | ||
| if not os.path.exists(audio_path): | ||
| raise FileNotFoundError(f"Audio file not found: {audio_path}") | ||
| sig, sr = librosa.load(audio_path, sr=sampling_rate) |
| default=None, | ||
| help="Path to local audio file. Uses default asset if not provided.", | ||
| ) | ||
| parser.add_argument( |
| omni = Omni( | ||
| model=args.model, | ||
| stage_configs_path=args.stage_configs_path, | ||
| log_stats=args.log_stats, | ||
| stage_init_timeout=args.stage_init_timeout, | ||
| ) |
There was a problem hiding this comment.
The Omni instance created in _run_sync is never closed, which can lead to leaked resources (e.g., orphaned stage worker processes). Please wrap the usage in a with block or call omni.close() in a finally block.
| omni = Omni( | |
| model=args.model, | |
| stage_configs_path=args.stage_configs_path, | |
| log_stats=args.log_stats, | |
| stage_init_timeout=args.stage_init_timeout, | |
| ) | |
| with Omni( | |
| model=args.model, | |
| stage_configs_path=args.stage_configs_path, | |
| log_stats=args.log_stats, | |
| stage_init_timeout=args.stage_init_timeout, | |
| ) as omni: |
| engine = Omni( | ||
| model=args.model, | ||
| stage_configs_path=args.stage_configs_path, | ||
| ) |
There was a problem hiding this comment.
The Omni instance (engine) is not closed at the end of main(), which may leak background processes. Please use a context manager.
| engine = Omni( | |
| model=args.model, | |
| stage_configs_path=args.stage_configs_path, | |
| ) | |
| with Omni( | |
| model=args.model, | |
| stage_configs_path=args.stage_configs_path, | |
| ) as engine: |
Conflicts resolved
qwen2_5_omni_multiconnector.yaml— dropped (moved tovllm_omni/deploy/by upstream refactor [Config Refactor 2.5/N] Centralize pipeline registry vllm-project/vllm-omni#2915; mori_connector registration preserved inqwen2_5_omni_mori_intranode.yaml)async_omni_engine.py— kept both morireceiver_connectorspath and upstream'spd_configdetection; pass both toOrchestrator(...)orchestrator.py— kept both mori machinery (param / field / PUT logic) and upstream's PD state init + mm_features filteringVerification
pre-commit run --all-filespasses