Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
e2c1412
feat(ascend): add split_qkv_rmsnorm_mrope fused kernel for Qwen3.5/3.6
appleinsky Jun 24, 2026
ab0798f
Integrate Ascend NPU graph backend and npugraph_ex passes into vllm-p…
appleinsky Jun 24, 2026
163ddfc
Make FL OOT ops Dynamo-safe on Ascend NPU for graph-mode serving
appleinsky Jun 25, 2026
8768619
feat(ascend): enable MoE MTP for Qwen3.6-35B-A3B
appleinsky Jul 1, 2026
a3644b2
fix(ascend): fallback to npu_fusion_attention for unsupported head_di…
appleinsky Jul 1, 2026
ef7d52e
> 范围:vllm-plugin-FL 上 Qwen3.6-27B(model_type `qwen3_5`)在 Ascend 910B …
appleinsky Jul 20, 2026
ab33933
> 范围:vllm-plugin-FL 上 Qwen3.6-27B(model_type `qwen3_5`)在 Ascend 910B …
appleinsky Jul 20, 2026
616af26
Merge branch 'add-qwen3_6_pto_chunk_gdn' of https://github.com/applei…
appleinsky Jul 21, 2026
9afbb65
moe_gating_top_k、npu_moe_init_routing_custom算子接入;convert_moe_weights_…
appleinsky Jul 21, 2026
23d39a1
fix csrc ascend complier
appleinsky Jul 21, 2026
a84a92b
fixed compiler swich branch
appleinsky Jul 21, 2026
8dd4b6d
delete compute_slot_mapping feature
appleinsky Jul 22, 2026
42337cd
Merge pull request #1 from 1190201122/qwen36_dense_moe
appleinsky Jul 22, 2026
d254209
feat(ascend): port GDN decode fusion optimizations from z-zanez/optim…
appleinsky Jul 22, 2026
69f1278
Merge pull request #2 from z-zanez/optimize-gdn-decode-for-upstream
appleinsky Jul 22, 2026
9006d18
Revert "Merge pull request #2 from z-zanez/optimize-gdn-decode-for-up…
appleinsky Jul 22, 2026
a6a9d02
fix(ascend): pad block-table rows with block 0 to fix crash when deco…
appleinsky Jul 22, 2026
5a57d40
Reapply "Merge pull request #2 from z-zanez/optimize-gdn-decode-for-u…
appleinsky Jul 22, 2026
a5c8d11
Merge pull request #3 from z-zanez/fix-decode-pad-block-table-upstream
appleinsky Jul 22, 2026
cf99a64
Merge branch 'add-qwen3_6_pto_chunk_gdn' of https://github.com/applei…
appleinsky Jul 22, 2026
d3865fa
perf(ascend): stabilize Qwen3.6 graph decode
appleinsky Jul 22, 2026
61097d6
Merge pull request #4 from Lntano061105/optimize-qwen3_6-full-graph-d…
appleinsky Jul 23, 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
  •  
  •  
  •  
249 changes: 241 additions & 8 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,16 +1,249 @@
*.egg-info
## vLLM Ascend Ignore
# VSCode
.vscode/

# egg-info
vllm_ascend.egg-info/

# DS Store
.DS_Store

# Linting
actionlint
shellcheck*/


# Python gitignore
## Adapted from:
## https://github.com/github/gitignore/blob/main/Python.gitignore

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
vllm_fl/_version.py
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Coverage
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
htmlcov/
coverage*.json
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
.python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
Pipfile.lock

# UV
# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
uv.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
poetry.lock

# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
.pdm.toml
.pdm-python
.pdm-build/

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
.idea/

# Ruff stuff:
.ruff_cache/

# PyPI configuration file
.pypirc

kernel_meta/

# version file generated by setuptools-scm
/vllm_ascend/_version.py
# build info file generated by setup.py
/vllm_ascend/_build_info.py
/vllm_ascend/include/

# benchmark results generated by run-performance-benchmarks.sh
/benchmarks/results/

# _cann_ops_custom generated by build_aclnn.sh
/vllm_ascend/_cann_ops_custom/*
!/vllm_ascend/_cann_ops_custom/.gitkeep

# generated by CANN
fusion_result.json
csrc/output/

# claude code skills
.claude/skills/*

# vllm-plugin-FL generated artifacts
vllm_plugin_fl.egg-info/
/vllm_fl/_cann_ops_custom/*
!/vllm_fl/_cann_ops_custom/.gitkeep
vllm_fl/ops/pto_chunk_gdn/kernels/compiled_lib/*.so

# CANN framework operator build directories
csrc/ascend/build/
csrc/ascend/build_out/

#benchmark result
benchmark_results

#documents design
docs/*

# Exception: these are source patches, not build artifacts.
# The parent directories must also be un-ignored because the generic
# 'build/' rule above ignores every directory named 'build'.
!csrc/ascend/cmake/third_party/build/
!csrc/ascend/cmake/third_party/build/modules/
!csrc/ascend/cmake/third_party/build/modules/patch/
!csrc/ascend/cmake/third_party/build/modules/patch/**

# Reports
report*.json
test-results-*
# CANN framework operator downloaded third-party libraries.
# Keep only the catlass and pto-isa source submodules.
csrc/ascend/third_party/abseil-cpp/
csrc/ascend/third_party/ascend_protobuf/
csrc/ascend/third_party/json/
csrc/ascend/third_party/makeself/
csrc/ascend/third_party/pkg/
# csrc/ascend/third_party/pto-isa/
# csrc/ascend/third_party/catlass
8 changes: 8 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[submodule "csrc/ascend/third_party/catlass"]
path = csrc/ascend/third_party/catlass
url = https://gitcode.com/cann/catlass.git
branch = master
[submodule "csrc/ascend/third_party/pto-isa"]
path = csrc/ascend/third_party/pto-isa
url = https://gitcode.com/cann/pto-isa.git
branch = main
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ In theory, vllm-plugin-FL can support all models available in vLLM, as long as n
| MiniCPM-o 4.5 | Supported | [example](./examples/minicpm/) |
| GLM-5 | Supported | [example](./examples/glm_5_offline_inference.py) |
| Qwen3.5-35B-A3B | Supported | [example](./examples/glm_5_offline_inference.py) |
| Qwen3.6-27B | Supported | [Ascend patch](./vllm_fl/dispatch/backends/vendor/ascend/patches/patch_qwen3_5.py) |
| BAAI/bge-m3 | Supported | [implementation](./vllm_fl/models/bge_m3.py) |

### Supported Chips
Expand Down
Loading
Loading