版本说明#
v0.9.1 - 2025.09.03#
We are excited to announce the newest official release of vLLM Ascend. This release includes many feature supports, performance improvements and bug fixes. We recommend users to upgrade from 0.7.3 to this version. Please always set VLLM_USE_V1=1 to use V1 engine.
In this release, we added many enhancements for large scale expert parallel case. It's recommended to follow the official guide.
Please note that this release note will list all the important changes from last official release(v0.7.3)
亮点#
DeepSeek V3/R1 is supported with high quality and performance. MTP can work with DeepSeek as well. Please refer to muliti node tutorials and Large Scale Expert Parallelism.
Qwen series models work with graph mode now. It works by default with V1 Engine. Please refer to Qwen tutorials.
Disaggregated Prefilling support for V1 Engine. Please refer to Large Scale Expert Parallelism tutorials.
Automatic prefix caching and chunked prefill feature is supported.
Speculative decoding feature works with Ngram and MTP method.
MOE and dense w4a8 quantization support now. Please refer to quantization guide.
Sleep Mode feature is supported for V1 engine. Please refer to Sleep mode tutorials.
Dynamic and Static EPLB support is added. This feature is still experimental.
Note#
The following notes are especially for reference when upgrading from last final release (v0.7.3):
V0 Engine is not supported from this release. Please always set
VLLM_USE_V1=1to use V1 engine with vLLM Ascend.Mindie Turbo is not needed with this release. And the old version of Mindie Turbo is not compatible. Please do not install it. Currently all the function and enhancement is included in vLLM Ascend already. We'll consider to add it back in the future in needed.
Torch-npu is upgraded to 2.5.1.post1. CANN is upgraded to 8.2.RC1. Don't forget to upgrade them.
核心#
The Ascend scheduler is added for V1 engine. This scheduler is more affine with Ascend hardware.
Structured output feature works now on V1 Engine.
A batch of custom ops are added to improve the performance.
Changes#
已知问题#
When running MoE model, Aclgraph mode only work with tensor parallel. DP/EP doesn't work in this release.
Pipeline parallelism is not supported in this release for V1 engine.
If you use w4a8 quantization with eager mode, please set
VLLM_ASCEND_MLA_PARALLEL=1to avoid oom error.Accuracy test with some tools may not be correct. It doesn't affect the real user case. We'll fix it in the next post release. #2654
We notice that there are still some problems when running vLLM Ascend with Prefill Decode Disaggregation. For example, the memory may be leaked and the service may be stuck. It's caused by known issue by vLLM and vLLM Ascend. We'll fix it in the next post release. #2650 #2604 vLLM#22736 vLLM#23554 vLLM#23981
v0.9.1rc3 - 2025.08.22#
This is the 3rd release candidate of v0.9.1 for vLLM Ascend. Please follow the official doc to get started.
核心#
MTP supports V1 scheduler #2371
Add LMhead TP communication groups #1956
Fix the bug that qwen3 moe doesn't work with aclgraph #2478
Fix
grammar_bitmaskIndexError caused by outdatedapply_grammar_bitmaskmethod #2314Remove
chunked_prefill_for_mla#2177Fix bugs and refactor cached mask generation logic #2326
Fix configuration check logic about ascend scheduler #2327
Cancel the verification between deepseek-mtp and non-ascend scheduler in disaggregated-prefill deployment #2368
Fix issue that failed with ray distributed backend #2306
Fix incorrect req block length in ascend scheduler #2394
Fix header include issue in rope #2398
Fix mtp config bug #2412
Fix error info and adapt
attn_metedatarefactor #2402Fix torchair runtime error caused by configuration mismtaches and
.kv_cache_bytesfile missing #2312Move
with_prefillallreduce from cpu to npu #2230
文档#
Add document for deepseek large EP #2339
已知问题#
test_aclgraph.pyfailed with"full_cuda_graph": Trueon A2 (910B1) #2182
v0.9.1rc2 - 2025.08.06#
This is the 2nd release candidate of v0.9.1 for vLLM Ascend. Please follow the official doc to get started.
亮点#
MOE and dense w4a8 quantization support now: #1320 #1910 #1275 #1480
Dynamic EPLB support in #1943
Disaggregated Prefilling support for V1 Engine and improvement, continued development and stabilization of the disaggregated prefill feature, including performance enhancements and bug fixes for single-machine setups:#1953 #1612 #1361 #1746 #1552 #1801 #2083 #1989
Models improvement:#
DeepSeek DeepSeek DBO support and improvement: #1285 #1291 #1328 #1420 #1445 #1589 #1759 #1827 #2093
DeepSeek MTP improvement and bugfix: #1214 #943 #1584 #1473 #1294 #1632 #1694 #1840 #2076 #1990 #2019
Qwen3 MoE support improvement and bugfix around graph mode and DP: #1940 #2006 #1832
Qwen3 performance improvement around rmsnorm/repo/mlp ops: #1545 #1719 #1726 #1782 #1745
DeepSeek MLA chunked prefill/graph mode/multistream improvement and bugfix: #1240 #933 #1135 #1311 #1750 #1872 #2170 #1551
Qwen2.5 VL improvement via mrope/padding mechanism improvement: #1261 #1705 #1929 #2007
Ray: Fix the device error when using ray and add initialize_cache and improve warning info: #1234 #1501
Graph mode improvement:#
Fix DeepSeek with deepseek with mc2 in #1269
Fix accuracy problem for deepseek V3/R1 models with torchair graph in long sequence predictions in #1332
Fix torchair_graph_batch_sizes bug in #1570
Enable the limit of tp <= 4 for torchair graph mode in #1404
Fix rope accruracy bug #1887
Support multistream of shared experts in FusedMoE #997
Enable kvcache_nz for the decode process in torchair graph mode#1098
Fix chunked-prefill with torchair case to resolve UnboundLocalError: local variable 'decode_hs_or_q_c' issue in #1378
Improve shared experts multi-stream perf for w8a8 dynamic. in #1561
Repair moe error when set multistream. in #1882
Round up graph batch size to tp size in EP case #1610
Fix torchair bug when DP is enabled in #1727
Add extra checking to torchair_graph_config. in #1675
Fix rope bug in torchair+chunk-prefill scenario in #1693
torchair_graph bugfix when chunked_prefill is true in #1748
Improve prefill optimization to support torchair graph mode in #2090
Fix rank set in DP scenario #1247
Reset all unused positions to prevent out-of-bounds to resolve GatherV3 bug in #1397
Remove duplicate multimodal codes in ModelRunner in #1393
Fix block table shape to resolve accuracy issue in #1297
Implement primal full graph with limited scenario in #1503
Restore paged attention kernel in Full Graph for performance in #1677
Fix DeepSeek OOM issue in extreme
--gpu-memory-utilizationscenario in #1829Turn off aclgraph when enabling TorchAir in #2154
Ops improvement:#
Core:#
Upgrade CANN to 8.2.rc1 in #2036
Upgrade torch-npu to 2.5.1.post1 in #2135
Upgrade python to 3.11 in #2136
Disable quantization in mindie_turbo in #1749
fix v0 spec decode in #1323
Enable
ACL_OP_INIT_MODE=1directly only when using V0 spec decode in #1271Refactoring forward_context and model_runner_v1 in #1422
Fix sampling params in #1423
add a switch for enabling NZ layout in weights and enable NZ for GMM. in #1409
Address PrefillCacheHit state to fix prefix cache accuracy bug in #1492
Fix load weight error and add new e2e case in #1651
Optimize the number of rope-related index selections in deepseek. in #1614
add mc2 mask in #1642
Fix static EPLB log2phy condition and improve unit test in #1667 #1896 #2003
add chunk mc2 for prefill in #1703
Fix mc2 op GroupCoordinator bug in #1711
Fix the failure to recognize the actual type of quantization in #1721
Fix deepseek bug when tp_size == 1 in #1755
Added support for delay-free blocks in prefill nodes in #1691
Moe alltoallv communication optimization for unquantized RL training & alltoallv support dpo in #1547
Adapt dispatchV2 interface in #1822
Fix disaggregate prefill hang issue in long output in #1807
Fix flashcomm_v1 when engine v0 in #1859
ep_group is not equal to word_size in some cases. in #1862
Fix wheel glibc version incompatibility in #1808
Fix mc2 process group to resolve self.cpu_group is None in #1831
Pin vllm version to v0.9.1 to make mypy check passed in #1904
Apply npu_moe_gating_top_k_softmax for moe to improve perf in #1902
Fix bug in path_decorator when engine v0 in #1919
Avoid performing cpu all_reduce in disaggregated-prefill scenario. in #1644
add super kernel in decode moe in #1916
[Prefill Perf] Parallel Strategy Optimizations (VRAM-for-Speed Tradeoff) in #1802
Remove unnecessary reduce_results access in shared_experts.down_proj in #2016
Optimize greedy reject sampler with vectorization. in #2002
Make multiple Ps and Ds work on a single machine in #1936
Fixes the shape conflicts between shared & routed experts for deepseek model when tp > 1 and multistream_moe enabled in #2075
Add cpu binding support #2031
Add with_prefill cpu allreduce to handle D-node recomputatio in #2129
Add D2H & initRoutingQuantV2 to improve prefill perf in #2038
Docs:#
Provide an e2e guide for execute duration profiling #1113
Add Referer header for CANN package download url. #1192
Add reinstall instructions doc #1370
Update Disaggregate prefill README #1379
Disaggregate prefill for kv cache register style #1296
Fix errors and non-standard parts in examples/disaggregate_prefill_v1/README.md in #1965
已知问题#
v0.9.2rc1 - 2025.07.11#
这是 vLLM Ascend v0.9.2 的第一个候选发布版本。请参阅官方文档开始使用。从本次发布起,V1 引擎将默认启用,不再需要设置 VLLM_USE_V1=1。此外,该版本也是最后一个支持 V0 引擎的版本,V0 相关代码将在未来被清理。
亮点#
核心#
其它#
官方文档已更新,以提升阅读体验。例如,增加了更多部署教程,用户/开发者文档已更新。更多指南即将推出。
修复 deepseek V3/R1 模型在使用 torchair 图进行长序列预测时的精度问题。#1331
新增了一个环境变量
VLLM_ENABLE_FUSED_EXPERTS_ALLGATHER_EP。它用于启用 Deepseek V3/R1 模型的 fused allgather-experts 内核。默认值为0。#1335新增了一个环境变量
VLLM_ASCEND_ENABLE_TOPK_TOPP_OPTIMIZATION,用于提升 topk-topp 采样的性能。该变量默认值为 0,未来我们会考虑默认启用此选项#1732。Ascend 调度器现在支持前缀缓存。#1446
DeepSeek 现在支持前缀缓存了。#1498
支持使用 prompt logprobs 恢复 V1 的 ceval 准确率 #1483
v0.9.1rc1 - 2025.06.22#
这是 vLLM Ascend v0.9.1 的第一个候选发布版本。请按照官方文档开始使用。
亮点#
核心#
其他改进#
为MLA初步支持分块预填充。 #1172
已新增一个使用 ETP 运行 DeepSeek 的最佳实践示例。#1101
支持 AscendScheduler 的预测性解码功能。#943
提升
VocabParallelEmbedding自定义算子的性能。该优化将在下一个版本中启用。#796修复了在 Ray 上运行 vLLM Ascend 时的设备发现和设置错误 #884
修复了带有静态 EPLB 特性时 log2phy 为 NoneType 的 bug。#1186
重构 AscendFusedMoE #1229
新增初始用户故事页面(包括 LLaMA-Factory/TRL/verl/MindIE Turbo/GPUStack)#1224
添加单元测试框架 #1201
已知问题#
完整更新日志#
https://github.com/vllm-project/vllm-ascend/compare/v0.9.0rc2...v0.9.1rc1
v0.9.0rc2 - 2025.06.10#
本次发布包含了一些针对 v0.9.0rc1 的快速修复。请使用本次发布版本,而不是 v0.9.0rc1。
亮点#
修复当以非可编辑方式安装 vllm-ascend 时的导入错误。#1152
v0.9.0rc1 - 2025.06.09#
这是 vllm-ascend v0.9.0 的第一个候选发布版本。请按照官方文档开始使用。从此版本起,推荐使用 V1 引擎。V0 引擎的代码已被冻结,不再维护。如需启用 V1 引擎,请设置环境变量 VLLM_USE_V1=1。
亮点#
核心#
模型#
其它#
已知问题#
在某些情况下,启用 aclgraph 时 vLLM 进程可能会崩溃。我们正在处理这个问题,并将在下一个版本中修复。
多节点数据并行在此版本中无法使用。这是 vllm 中已知的问题,并已在主分支中修复。 #18981
v0.7.3.post1 - 2025.05.29#
这是 0.7.3 的第一个补丁发布。请按照官方文档开始使用。本次更新包括以下更改:
亮点#
漏洞修复#
文档#
v0.7.3 - 2025.05.08#
🎉 你好,世界!
我们很高兴地宣布 vllm-ascend 0.7.3 版本正式发布。这是首个正式发布的版本。该版本的功能、性能和稳定性已充分测试和验证。我们鼓励您试用并反馈意见。如有需要,未来我们将发布修复版本。请参阅官方文档开启您的体验之旅。
亮点#
本次发布包含了所有在之前候选版本中加入的功能(v0.7.1rc1、v0.7.3rc1、v0.7.3rc2)。所有功能都经过了全面测试和验证。请访问官方文档获取详细的功能和模型支持矩阵。
将 CANN 升级到 8.1.RC1 以启用分块预填充和自动前缀缓存功能。您现在可以启用这些功能了。
升级 PyTorch 至 2.5.1。vLLM Ascend 现在不再依赖于 torch-npu 的开发版本。用户现在无需手动安装 torch-npu,2.5.1 版本的 torch-npu 会被自动安装。#662
将 MindIE Turbo 集成到 vLLM Ascend 以提升 DeepSeek V3/R1、Qwen 2 系列的性能。#708
核心#
现在已经支持 LoRA、多LoRA 和动态服务。下一个版本中性能将会提升。请参阅官方文档以获取更多用法信息。感谢招商银行的贡献。#700
模型#
其它#
v0.8.5rc1 - 2025.05.06#
这是 vllm-ascend v0.8.5 的第一个候选发布版本。请按照官方文档开始使用。现在,您可以通过设置环境变量 VLLM_USE_V1=1 启用 V1 引擎。关于 vLLM Ascend 的特性支持情况,请参见这里。
亮点#
核心#
将 vLLM 升级到 0.8.5.post1 #715
修复在 profile_run 期间 CustomDeepseekV2MoE.forward 过早返回的问题 #682
适配由 modelslim 生成的新量化模型 #719
基于 llm_datadist 的 P2P 分布式 Prefill 初步支持 #694
使用
/vllm-workspace作为代码路径,并在容器镜像中包含.git,以修复在/workspace下启动 vllm 时的问题 #726优化NPU内存使用,以使 DeepSeek R1 W8A8 32K 模型长度能够运行。#728
修复 setup.py 中的
PYTHON_INCLUDE_PATH拼写错误 #762
其它#
v0.8.4rc2 - 2025.04.29#
这是 vllm-ascend 的 v0.8.4 第二个候选版本。请按照官方文档开始使用。本版本包含了一些实验性功能,如 W8A8 量化和 EP/DP 支持。我们将在下一个版本中使这些功能更加稳定。
亮点#
核心#
其它#
v0.8.4rc1 - 2025.04.18#
这是 vllm-ascend v0.8.4 的第一个候选发布版本。请按照官方文档开始使用。本版本起,vllm-ascend 将跟随 vllm 的最新版本并每两周发布一次。例如,如果 vllm 在接下来的两周内发布 v0.8.5,vllm-ascend 将发布 v0.8.5rc1,而不是 v0.8.4rc2。详细信息请参考官方文档。
亮点#
核心#
其它#
v0.7.3rc2 - 2025.03.29#
这是 vllm-ascend v0.7.3 的第二个候选发布版本。请根据官方文档开始使用。
容器快速入门: https://vllm-ascend.readthedocs.io/en/v0.7.3-dev/quick_start.html
安装: https://vllm-ascend.readthedocs.io/en/v0.7.3-dev/installation.html
亮点#
核心#
将 torch_npu 版本升级到 dev20250320.3 以提升精度,修复
!!!输出问题。#406
模型#
通过优化 patch embedding(Conv3D),Qwen2-vl 的性能得到了提升。#398
其它#
v0.7.3rc1 - 2025.03.14#
🎉 你好,世界!这是 vllm-ascend v0.7.3 的第一个候选发布版本。请按照官方文档开始你的旅程。
容器快速入门: https://vllm-ascend.readthedocs.io/en/v0.7.3-dev/quick_start.html
安装: https://vllm-ascend.readthedocs.io/en/v0.7.3-dev/installation.html
亮点#
核心#
将 torch_npu 版本升级到 dev20250308.3,以提升
_exponential的精度新增了对池化模型的初步支持。现在支持 Bert 基础模型,如
BAAI/bge-base-en-v1.5和BAAI/bge-reranker-v2-m3。 #229
模型#
其它#
已知问题#
v0.7.1rc1 - 2025.02.19#
🎉 你好,世界!
我们很高兴地宣布 vllm-ascend v0.7.1 的第一个候选版本发布。
vLLM Ascend 插件(vllm-ascend)是一个由社区维护的硬件插件,用于在 Ascend NPU 上运行 vLLM。通过此版本,用户现在可以在 Ascend NPU 上享受到 vLLM 的最新功能和改进。
请参阅官方文档开始您的体验之旅。请注意,这是一个候选发布版本,可能会有一些漏洞或问题。我们非常欢迎您在这里提交反馈和建议。
亮点#
核心#
其它#
已知问题#
此版本依赖于尚未发布的 torch_npu 版本。该版本已集成在官方容器镜像中。如果您使用的是非容器环境,请手动安装。
在运行 vllm-ascend 时,会显示类似
No platform detected, vLLM is running on UnspecifiedPlatform或Failed to import from vllm._C with ModuleNotFoundError("No module named 'vllm._C'")的日志。这实际上不会影响任何功能和性能,你可以直接忽略它。这个问题已在此 PR 中修复,并很快会在 v0.7.3 版本中包含。在运行 vllm-ascend 时,会显示类似
# CPU blocks: 35064, # CPU blocks: 2730的日志,实际应该为# NPU blocks:。这实际上不会影响任何功能和性能,你可以忽略它。该问题已在这个 PR 中修复,并将在 v0.7.3 版本中包含。