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. |
||
|---|---|---|
| .. | ||
| CMakeLists.txt | ||
| acl_tensor.cpp | ||
| acl_tensor.h | ||
| aclnn_ops.cpp | ||
| aclnn_ops.h | ||
| common.h | ||
| ggml-cann.cpp | ||