llama.cpp/ggml/src/ggml-cann
Chenguang Li 67e3f6f601
CANN: add operator fusion support for ADD + RMS_NORM (#17512)
This commit implements operator fusion for ADD + RMS_NORM operations
in the CANN backend to reduce memory access overhead and improve
performance. The fusion is controlled by the GGML_CANN_OPERATOR_FUSION
environment variable (default: false).

Changes:
- Implement ggml_cann_op_add_rms_norm_fused() using ACLNN AddRmsNorm
- Add ggml_cann_can_fuse() to check fusion eligibility
- Integrate fusion logic into computation graph evaluation
- Add test cases for ADD + RMS_NORM fusion
- Update documentation with new environment variable

The fusion combines ADD and RMS_NORM into a single kernel call,
which is more efficient than executing them separately.
2026-01-05 15:38:18 +08:00
..
CMakeLists.txt CANN: add support for ACL Graph (#15065) 2025-08-06 14:12:42 +08:00
acl_tensor.cpp CANN: Use smart pointers to manage ACL objects (#17238) 2025-11-17 08:43:59 +08:00
acl_tensor.h CANN: Use smart pointers to manage ACL objects (#17238) 2025-11-17 08:43:59 +08:00
aclnn_ops.cpp CANN: add operator fusion support for ADD + RMS_NORM (#17512) 2026-01-05 15:38:18 +08:00
aclnn_ops.h CANN: add operator fusion support for ADD + RMS_NORM (#17512) 2026-01-05 15:38:18 +08:00
common.h CANN : refactor ACL graph cache (#17752) 2025-12-24 17:50:24 +08:00
ggml-cann.cpp CANN: add operator fusion support for ADD + RMS_NORM (#17512) 2026-01-05 15:38:18 +08:00