| 下一代芯片支持RmsNormQuant Co-authored-by: wangwenman<wangwenman@huawei.com> # message auto-generated for no-merge-commit merge: !1057 merge dev_rms_norm_quant_v2 into master 下一代芯片支持RmsNormQuant Created-by: wmw_beta Commit-by: wangwenman Merged-by: cann-robot Description: ## 描述 为下一代芯片新增RmsNormQuantV2算子。 1. 支持可选参数,支持两路量化输出。 2. 支持int8, int4, hifloat8, fp8_e5m2, fp8_e4m3fn量化。 ## 关联 [Requirement|需求建议](https://gitcode.com/cann/ops-nn/issues/637) ## 测试 冒烟、geir、aclnn、算子泛化验证通过  ## 文档更新 更新norm/rms_norm_quant/docs/aclnnRmsNormQuant.md 新增norm/rms_norm_quant_v2/README.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1057 | 6 个月前 |
| fix: RmsNormQuantV2/V3新算子按照标准整改 Co-authored-by: liiu-qii<liuqi330@huawei.com> # message auto-generated for no-merge-commit merge: !5393 merge fixRNQ into master fix: RmsNormQuantV2/V3新算子按照标准整改 Created-by: huanghaihong Commit-by: liiu-qii Merged-by: cann-robot Description: ## 描述 修复RmsNormQuantV2和RmsNormQuantV3算子的tiling key不合规问题,将旧的硬编码tiling key(5000/6000)+ 运行时TILING_KEY_IS()分发方式,迁移到标准的模板化tiling key体系(ASCENDC_TPL_ARGS_DECL + if constexpr编译期分发)。同时对V3算子进行目录结构合规化改造。 ### 改动原因 RmsNormQuantV2/V3算子使用了非标准的tiling key硬编码方式(#define RMSNORMQUANTV2_REGBASE_NORMAL 5000),不符合当前仓库的模板化tiling key规范。V3算子的目录结构(kernel文件未放入arch35/、op_api在op_host下、使用simplified_key.ini配置等)也不符合生产仓标准。 ### 改动方法 **RmsNormQuantV2改造:** - 新增op_kernel/arch35/rms_norm_quant_v2_tiling_key.h,使用ASCENDC_TPL_ARGS_DECL宏声明模板参数(COMPUTE_MODE: FULL_LOAD=0, RECOMPUTE=1) - 新增RmsNormQuantV2TilingKey类,通过GET_TPL_TILING_KEY生成tiling key - 内核函数从extern "C"改为模板函数template <int8_t COMPUTE_MODE> - 内核分发从运行时TILING_KEY_IS()改为if constexpr编译期分发 - REGISTER_TILING_DEFAULT从函数内部移至函数外部 **RmsNormQuantV3合规化:** - 内核文件从op_kernel/rms_norm_quant_v3_apt.cpp迁移至op_kernel/arch35/rms_norm_quant_v3.cpp - 新增op_kernel/CMakeLists.txt,使用add_kernel_sources配置(SIMPLIFIED_KEY=0, AUTO_SYNC=false) - op_api/目录从op_host/op_api/迁移至算子根目录下的op_api/ - 删除op_host/config/ascend950/rms_norm_quant_v3_simplified_key.ini - 移除rms_norm_quant_v3_def.cpp中的ExtendCfgInfo("opFile.value", "rms_norm_quant_v3_apt") - 根CMakeLists.txt改用add_modules_sources宏,声明芯片类型和tiling目录 - 从ascendc_config.json中移除RmsNormQuantV3条目(改由CMake管理) - op_graph/rms_norm_quant_v3_proto.h中y1/y2输出dtype补充int4类型 **测试更新:** - V2 tiling单测中tiling key期望值从5000/6000更新为0/1 - V3 kernel单测文件重命名并更新为模板化调用方式 - V3 aclnn单测迁移至tests/ut/op_api/目录 ## 关联的Issue 关联Issue #2969 ## 测试 - 更新了RmsNormQuantV2 tiling单元测试,验证新tiling key值(FULL_LOAD=0, RECOMPUTE=1) - 更新了RmsNormQuantV3 kernel单元测试,适配模板化内核调用 - 迁移并更新了RmsNormQuantV3 aclnn单元测试 ## 文档更新 - 更新了op_graph/rms_norm_quant_v3_proto.h中的接口注释,y1/y2输出新增int4类型说明 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5393 | 2 个月前 |
| fix: 修复 rmsnormquantv2/v3 的 GM 数据拷贝长度问题 Co-authored-by: huanghaihong<huanghaihong4@huawei.com> # message auto-generated for no-merge-commit merge: !7389 merge 9.1.0 into 9.1.0 fix: 修复 rmsnormquantv2/v3 的 GM 数据拷贝长度问题 Created-by: huanghaihong Commit-by: huanghaihong Merged-by: cann-robot Description: ## 描述 修复 rmsnormquantv2 与 rmsnormquantv3 中 GM 数据拷贝长度设置不当导致的潜在问题。 ### 改动原因 在 norm/rms_norm_quant_v2/op_kernel/arch35/rms_norm_quant_v2_regbase_full_load.h 中: - gamma 的 DataCopyPad blockLen 原使用 xGammaBetaAlign * sizeof(T_X),实际应使用 numR * sizeof(T_X)。 - scales 与 zeroPoints 的 blockLen 原使用 scalesAlign / zeroPointsAlign 对齐长度,未区分 numQ == 1 的标量量化场景与 numQ != 1 的分组量化场景,可能导致 GM 读取越界或多余拷贝。 在 norm/rms_norm_quant_v3/op_api/aclnn_rms_norm_quant_v3.cpp 中: - 移除未使用的 #include "op_api/op_api_def.h",避免不必要的依赖。 ### 改动方法 1. rms_norm_quant_v2_regbase_full_load.h: - 将 gamma 拷贝的 blockLen 修正为 numR * sizeof(T_X)。 - 对 scales 和 zeroPoints 的 blockLen 增加 numQ == 1 分支: - 当 numQ == 1 时,仅拷贝单个元素(sizeof(T_SCALES) / sizeof(T_ZEROPOINTS))。 - 否则按 numR * sizeof(...) 拷贝。 2. aclnn_rms_norm_quant_v3.cpp: - 删除冗余的 op_api/op_api_def.h 头文件引用。 ## 关联的Issue - #4032 ## 测试 - 已在本地完成 rmsnormquantv2/v3 相关用例编译。 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [ ] AI辅助编写 See merge request: cann/ops-nn!7389 | 27 天前 |
| fix: RmsNormQuantV2/V3新算子按照标准整改 Co-authored-by: liiu-qii<liuqi330@huawei.com> # message auto-generated for no-merge-commit merge: !5393 merge fixRNQ into master fix: RmsNormQuantV2/V3新算子按照标准整改 Created-by: huanghaihong Commit-by: liiu-qii Merged-by: cann-robot Description: ## 描述 修复RmsNormQuantV2和RmsNormQuantV3算子的tiling key不合规问题,将旧的硬编码tiling key(5000/6000)+ 运行时TILING_KEY_IS()分发方式,迁移到标准的模板化tiling key体系(ASCENDC_TPL_ARGS_DECL + if constexpr编译期分发)。同时对V3算子进行目录结构合规化改造。 ### 改动原因 RmsNormQuantV2/V3算子使用了非标准的tiling key硬编码方式(#define RMSNORMQUANTV2_REGBASE_NORMAL 5000),不符合当前仓库的模板化tiling key规范。V3算子的目录结构(kernel文件未放入arch35/、op_api在op_host下、使用simplified_key.ini配置等)也不符合生产仓标准。 ### 改动方法 **RmsNormQuantV2改造:** - 新增op_kernel/arch35/rms_norm_quant_v2_tiling_key.h,使用ASCENDC_TPL_ARGS_DECL宏声明模板参数(COMPUTE_MODE: FULL_LOAD=0, RECOMPUTE=1) - 新增RmsNormQuantV2TilingKey类,通过GET_TPL_TILING_KEY生成tiling key - 内核函数从extern "C"改为模板函数template <int8_t COMPUTE_MODE> - 内核分发从运行时TILING_KEY_IS()改为if constexpr编译期分发 - REGISTER_TILING_DEFAULT从函数内部移至函数外部 **RmsNormQuantV3合规化:** - 内核文件从op_kernel/rms_norm_quant_v3_apt.cpp迁移至op_kernel/arch35/rms_norm_quant_v3.cpp - 新增op_kernel/CMakeLists.txt,使用add_kernel_sources配置(SIMPLIFIED_KEY=0, AUTO_SYNC=false) - op_api/目录从op_host/op_api/迁移至算子根目录下的op_api/ - 删除op_host/config/ascend950/rms_norm_quant_v3_simplified_key.ini - 移除rms_norm_quant_v3_def.cpp中的ExtendCfgInfo("opFile.value", "rms_norm_quant_v3_apt") - 根CMakeLists.txt改用add_modules_sources宏,声明芯片类型和tiling目录 - 从ascendc_config.json中移除RmsNormQuantV3条目(改由CMake管理) - op_graph/rms_norm_quant_v3_proto.h中y1/y2输出dtype补充int4类型 **测试更新:** - V2 tiling单测中tiling key期望值从5000/6000更新为0/1 - V3 kernel单测文件重命名并更新为模板化调用方式 - V3 aclnn单测迁移至tests/ut/op_api/目录 ## 关联的Issue 关联Issue #2969 ## 测试 - 更新了RmsNormQuantV2 tiling单元测试,验证新tiling key值(FULL_LOAD=0, RECOMPUTE=1) - 更新了RmsNormQuantV3 kernel单元测试,适配模板化内核调用 - 迁移并更新了RmsNormQuantV3 aclnn单元测试 ## 文档更新 - 更新了op_graph/rms_norm_quant_v3_proto.h中的接口注释,y1/y2输出新增int4类型说明 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5393 | 2 个月前 |
| 下一代芯片支持RmsNormQuant Co-authored-by: wangwenman<wangwenman@huawei.com> # message auto-generated for no-merge-commit merge: !1057 merge dev_rms_norm_quant_v2 into master 下一代芯片支持RmsNormQuant Created-by: wmw_beta Commit-by: wangwenman Merged-by: cann-robot Description: ## 描述 为下一代芯片新增RmsNormQuantV2算子。 1. 支持可选参数,支持两路量化输出。 2. 支持int8, int4, hifloat8, fp8_e5m2, fp8_e4m3fn量化。 ## 关联 [Requirement|需求建议](https://gitcode.com/cann/ops-nn/issues/637) ## 测试 冒烟、geir、aclnn、算子泛化验证通过  ## 文档更新 更新norm/rms_norm_quant/docs/aclnnRmsNormQuant.md 新增norm/rms_norm_quant_v2/README.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1057 | 6 个月前 |
| 修改doc tools低错 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !4214 merge master into master 修改doc tools低错 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 修改nn仓的markdown语法、htlm是否闭合、链接是否可以正常跳转、本地链接是否正常跳转修改低错修改 ## 关联的Issue 关联Issue [#1783](https://gitcode.com/cann/ops-nn/issues/1783) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 全部文档的链接跳转、htlm标签闭合、markdown语法规范问题 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [X] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4214 | 3 个月前 |