[Fusion] [Graph] Add qknorm rope fusion operator (#4711)
### What this PR does / why we need it?
This PR add `qkv_rmsnorm_rope` operator and introduces a graph fusion
pass for `qknorm_rope` operations. The implementation includes a new
configuration flag, a pattern matching pass using
`torch._inductor.pattern_matcher`, and a custom Triton kernel for the
fused operation.
Co-authored-by: Angazenn
[supperccell@163.com](mailto:supperccell@163.com)
### Does this PR introduce _any_ user-facing change?
Yes, add new additional_config
- vLLM version: v0.12.0
- vLLM main:
ad32e3e19c
---------
Signed-off-by: wxsIcey <1790571317@qq.com>
This commit is contained in:
@@ -50,4 +50,7 @@ class GraphFusionPassManager:
|
||||
from .passes.norm_quant_fusion_pass import \
|
||||
AddRMSNormQuantFusionPass
|
||||
self.passes.append(AddRMSNormQuantFusionPass(config))
|
||||
# Add more passes here as needed
|
||||
|
||||
if self.ascend_compilation_config.get("fuse_qknorm_rope", True):
|
||||
from .passes.qknorm_rope_fusion_pass import QKNormRopeFusionPass
|
||||
self.passes.append(QKNormRopeFusionPass(config))
|
||||
|
||||
Reference in New Issue
Block a user