| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
remove simplified_key, default value is 0 Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !4892 merge master into master remove simplified_key, default value is 0 Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 当simplified_key中属性只有default=0,且ascendc_config中配置了算子,那么simplified_key.ini文件可以删除,因为默认值为0. 修改了ascendc_config.json文件,将算子host/config中配置了soc,但是未在ascendc_config.json中的算子补充上去。 ## 关联的Issue [#1985](https://gitcode.com/cann/ops-nn/issues/1985) ## 测试 编译950、910bpass ## 文档更新 更新了ascendc_config.json配置了算子的simplified_key的ini文件 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4892 | 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 个月前 | |
下一代芯片支持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 个月前 | |
test: 为 activation 和 norm 算子补充ut测试 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !4312 merge ut_0427 into master test: 为 activation 和 norm 算子补充ut测试 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 为 activation 和 norm 目录下的算子补充ut测试,提升测试覆盖率。包括 op_kernel 和 op_host 两级测试,覆盖多种数据类型和不同维度组合。 ### 改动详情 **新增测试文件统计**: - op_kernel 级别 APT 测试:15 个算子,共 45 个文件(CMakeLists.txt、tiling_def.h、test_*.apt.cpp) - op_host 级别 infershape 测试:3 个算子,共 3 个文件 **涉及的算子**: activation 目录: - confusion_softmax_grad - log_softmax_grad - log_softmax_v2 - softmax_grad - softmax_v2 norm 目录: - add_rms_norm_dynamic_mx_quant - batch_norm - group_norm_v2 - layer_norm - layer_norm_v3 - lp_norm_v2 - rms_norm_dynamic_mx_quant - rms_norm_quant_v2 - sync_batch_norm_backward_elemt - sync_batch_norm_backward_reduce - sync_batch_norm_gather_stats **其他改动**: - 修复 infershape 文件缺失头文件:为 add_rms_norm_dynamic_mx_quant 和 rms_norm_quant_v2 的 infershape 文件添加 #include <algorithm> 头文件引用 **测试覆盖**: - op_kernel APT 测试:覆盖 float、half 等数据类型,不同 tiling key 场景(如 small_r、recompute、ara 等) - op_host infershape 测试:覆盖 DT_FLOAT16、DT_FLOAT、DT_BF16 数据类型,多种维度组合(1D-8D),包括动态 shape(-2) ## 关联的Issue 关联 Issue #2452 ## 测试 所有新增测试文件均可通过编译和执行: - CI Pipeline 已通过验证 - 测试用例覆盖多种数据类型和 shape 组合 ## 文档更新 无文档更新 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4312 | 3 个月前 | |
refactor common headers for op_host/op_api Co-authored-by: 丛吉钰<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !1807 merge master into master refactor common headers for op_host/op_api Created-by: cong-jiyu Commit-by: 丛吉钰 Merged-by: cann-robot Description: ## 描述 迁移common目录下的文件到op_api/op_host中 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1807 | 5 个月前 | |
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 个月前 | |
feat: 新增RmsNormQuantV3算子,支持在RmsNormQuantV2基础上增加rstd输出 Co-authored-by: huanghaihong12138<huanghaihong4@huawei.com> # message auto-generated for no-merge-commit merge: !4871 merge RNQ into master feat: 新增RmsNormQuantV3算子,支持在RmsNormQuantV2基础上增加rstd输出 Created-by: huanghaihong Commit-by: huanghaihong12138 Merged-by: cann-robot Description: ## 描述 盘古训练场景:本PR新增RmsNormQuantV3算子,并同步支持RmsNormQuantV2算子基础上增加rstd(归一化标准差倒数)输出能力。 ### 改动原因 RmsNormQuantV2算子在执行RmsNorm+Quantize融合计算时,不支持输出中间计算产生的rstd值。在大模型训练/推理场景中,下游算子可能需要rstd用于反向传播或其他计算,需要新增此输出能力。 ### 改动方法 **1. 新增RmsNormQuantV3算子** - 完整实现包括:OpDef定义、Tiling策略、InferShape推导、Kernel实现、aclnn两段式API、op_graph原型 - 支持Ascend 950平台,输入数据类型支持FLOAT16/BF16/FLOAT32,输出量化类型支持INT8/INT4/FLOAT8_E4M3FN/FLOAT8_E5M2/HIFLOAT8,rstd输出固定为FLOAT32 - 新增 output_rstd属性控制是否输出有效rstd - V3 Tiling层复用V2的基础设施(RmsNormQuantV2CompileInfo),通过rstdFlag标志区分行为 **2. RmsNormQuantV2算子增强** - Host侧:新增rstdFlag字段和output_rstd属性读取;新增CheckOutputShape()校验rstd维度合法性;新增rstd的dtype校验(必须为FLOAT32) - Kernel侧(full_load & recompute路径):新增rstdGm GlobalTensor、outQueueRstd输出队列;在Compute流程中根据rstdFlag将rstd值通过DataCopyPad输出到GM - 重构tiling数据结构定义,从rms_norm_quant_v2_tiling.h迁移到独立的rms_norm_quant_v2_tiling_data.h,便于V3复用 **3. 文档与配置更新** - 新增docs/aclnnRmsNormQuantV3.md API文档 - 更新op_list.md和op_api_list.md注册新算子 - 更新ascendc_config.json二进制配置 ## 关联的Issue 关联Issue #2869 ## 测试 - 新增V3算子UT测试:tiling测试、infershape测试、aclnn接口测试、kernel测试 - V2算子ttk、fuzz维护用例测试Pass - V3算子ttk泛化用例、Fuzz门槛用例Pass ## 文档更新 - 新增 norm/rms_norm_quant_v3/docs/aclnnRmsNormQuantV3.md 完整API文档 - 新增 norm/rms_norm_quant_v3/README.md 算子说明 - 更新 docs/zh/op_list.md 和 docs/zh/op_api_list.md 注册RmsNormQuantV3 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4871 | 2 个月前 | |
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新算子按照标准整改 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 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 个月前 | ||
| 6 个月前 | ||
| 6 个月前 | ||
| 3 个月前 | ||
| 5 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 |