| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
算子插件迁移 Co-authored-by: welt_lester<songlizhe1@h-partners.com> Co-authored-by: x00842564<xuyanke@huawei.com> # message auto-generated for no-merge-commit merge: !8474 merge master into master 算子插件迁移 Created-by: welt_lester Commit-by: x00842564;welt_lester Merged-by: cann-robot Description: ## 描述 落实issue #4279,将adaptive_avg_pool2d、adaptive_max_pool2d、ascend_anti_quant、ascend_dequant、ascend_quant、batch_mat_mul_v3、batch_norm、celu_v2、instance_norm_v3、ascend_quant、log_softmax_v2、mat_mul_v3、unique_with_counts_and_sorting这13个算子对应的插件从common\src\framework迁出到各自算子目录新建的\framework目录下。 ## 关联的Issue [Bug-Report|缺陷反馈]: 有对应算子的插件不应该放到公共目录 [#4279](https://gitcode.com/cann/ops-nn/issues/4279) ## 测试 compile、本地验证build通过 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码重构(算子插件归属迁移,落实 #4279 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8474 | 1 个月前 | |
docs: 统一原型注释中的产品名称(master) Co-authored-by: yolic<chenyuning1@huawei.com> # message auto-generated for no-merge-commit merge: !11186 merge 923soc into master docs: 统一原型注释中的产品名称(master) Created-by: yolic Commit-by: yolic Merged-by: cann-robot Description: ## 描述 原型注释里的产品名称仍沿用 Series Product、Ascend 950 AI Processor、Ascend 950PR/Ascend 950DT 等旧表述,与当前产品命名不一致。本次只改注释,不改算子接口和计算逻辑。 合入目标:cann/ops-nn 的 master。 覆盖各算子 op_graph/*_proto.h,以及 common/inc/op_graph/op_nn_proto_extend.h、common/stub/op_graph/math_proto_stub.cpp。 ## 关联的Issue 关联 Issue #6213(Close #6213) https://gitcode.com/cann/ops-nn/issues/6213 ## 测试 仅修改原型注释中的产品名称,不涉及算子 host/kernel 计算逻辑,无需算子泛化。已在本地用仓库 pre-commit 的 end-of-file-fixer 与 clang-format 核对格式,且没有改动算子输入、输出和属性定义。 ## 文档更新 更新了 op_graph 原型注释中的产品名称,无独立 markdown 文档。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!11186 | 15 天前 | |
fix(quant): 补齐 aclnnAscendQuant/V3 与 aclnnGroupQuant 第一段参数校验 Co-authored-by: cuijie25<cuijie24@h-partners.com> # message auto-generated for no-merge-commit merge: !11387 merge fix/quant-param-validation into master fix(quant): 补齐 aclnnAscendQuant/V3 与 aclnnGroupQuant 第一段参数校验 Created-by: cuijie25 Commit-by: cuijie25 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复 issue #6272 与 #6298 指出的两个第一段接口参数校验问题: 1. aclnnAscendQuant / aclnnAscendQuantV3:roundMode 传 nullptr 时返回 161002,与同族算子(quant_max/grouped_quant_max)整改后的 161001 范式不一致。本次将判空前移至 CheckNotNull 并返回 ACLNN_ERR_PARAM_NULLPTR(161001),CheckRoundMode 仅保留取值校验(非空非法值仍返回 161002)。 2. aclnnGroupQuant:scale 第 0 维为 0(如 shape [0, 8])时第一段接口未拦截,错误落到 tiling 阶段返回 561103,与文档约束“scale 第 0 维大小不支持为 0”规定的 161002 不符。本次在 CheckDim 新增 scaleDim0 > 0 校验;同时将 offsetOptional 校验由 ShapeSize<=1 收紧为 ==1,拦截 shape 为 [0] 的空 offset(文档约束“为1个数”)。 3. 同步更新三个算子文档:aclnnAscendQuant/aclnnAscendQuantV3 错误码表 161001 行补充 roundMode 空指针说明;aclnnGroupQuant 参数表三处“支持空Tensor”改为“不支持空Tensor”(scale 以单独 li 注明第 0 维大小不支持为 0),消除与约束说明的矛盾。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue [#6272](https://gitcode.com/cann/ops-nn/issues/6272)、[#6298](https://gitcode.com/cann/ops-nn/issues/6298) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> A2(Ascend 910B3 / CANN 9.1.0)实机验证: - ophost UT:ascend_quant_v2 + group_quant 共 19 例全部通过; - opapi UT:共 54 例全部通过,含 roundMode=nullptr 期望改为 161001 的两算子用例、新增的 group_quant 空 scale(shape [0,8])/空 offset(shape [0])负向用例(均断言 161002);roundMode 非空非法值用例确认仍返回 161002; - example 实卡验证(基于修复代码打包 custom 包):aclnnAscendQuant/aclnnAscendQuantV3/aclnnGroupQuant 正常路径两段式跑通且输出数值与手算期望一致;roundMode=nullptr 返回 161001,scale 第 0 维为 0 与空 offset 均在第一段返回 161002; - 反向对照:撤回 group_quant 校验后新增负向用例失败,恢复后通过,确认用例有效。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> - quant/ascend_quant_v2/docs/aclnnAscendQuant.md、aclnnAscendQuantV3.md:161001 错误码行补充 roundMode 空指针。 - quant/group_quant/docs/aclnnGroupQuant.md:scale/groupIndex/offsetOptional 参数约束澄清。 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11387 | 13 天前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
删除冗余字符、删除多余的数据类型 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11634 merge master into master 删除冗余字符、删除多余的数据类型 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除冗余字符、删除多余的数据类型 ## 关联的Issue [#6409](https://gitcode.com/cann/ops-nn/issues/6409) ## 测试 只涉及md文档改动,已经完成文档语法和链接一致性检查 ## 文档更新 activation/relu6/README.md activation/glu_grad/README.md activation/relu6/README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11634 | 3 天前 | |
批量修改ws=0 Co-authored-by: ligen<ligen75@h-partners.com> # message auto-generated for no-merge-commit merge: !11512 merge master into master 批量修改ws=0 Created-by: ligen75 Commit-by: ligen Merged-by: cann-robot Description: ## 描述 批量修改算子的系统workspace大小 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/5482 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 自验通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11512 | 1 天前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
fix(dynamic_mx_quant): bound packed stores to tail row strides Co-authored-by: jiaoyiming<jiaoyiming2@huawei.com> # message auto-generated for no-merge-commit merge: !11661 merge fix/dynamic-mx-quant-tail-store-mask into master fix(dynamic_mx_quant): bound packed stores to tail row strides Created-by: jiaoyiming Commit-by: jiaoyiming Merged-by: cann-robot Description: ## 描述 修复 DynamicMxQuant 非尾轴量化大尾轴优化模板中,FP16/BF16 转 FP4/FP8 时尾部输出存储覆盖下一行的问题。 原实现使用全掩码存储,部分尾部形状的写入宽度超过输出行步长。例如输入 [203, 440]、axis=-2、FP4 输出时,尾核行步长为 32B,但每次写入 64B,存在偶发精度异常风险。 本次根据输出类型及对齐后的行步长生成存储掩码,限制四条转换路径的写入范围。保持完整行的写入宽度不变,不修改 tiling、量化计算、scale 或同步逻辑。新增 8 条回归用例,覆盖两种输入类型和四种输出类型。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/6477 ## 测试 - Ascend950 完整算子包构建通过。 - 在设备 6 上执行 100 条专项用例、5 条仓库既有用例及 13 条补充回归,共 118 条。 - 覆盖尾长边界、完整行、合法舍入模式、scale_alg、blocksize,以及 FP32、小尾轴、尾量化轴和大 shape 对照。 - y、scale 均使用二进制一致性比较:115 条精度通过,全部内存检查通过。 - 其余 3 条精度失败已使用相同输入对照未修改主线:两版输入、golden 和完整输出逐字节一致,确认不是本次修改引入。 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 使用 AI Agent 辅助进行问题分析、代码修改、回归用例编写及构建验证。 See merge request: cann/ops-nn!11661 | 3 天前 | |
批量修改ws=0 Co-authored-by: ligen<ligen75@h-partners.com> # message auto-generated for no-merge-commit merge: !11512 merge master into master 批量修改ws=0 Created-by: ligen75 Commit-by: ligen Merged-by: cann-robot Description: ## 描述 批量修改算子的系统workspace大小 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/5482 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 自验通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11512 | 1 天前 | |
批量修改ws=0 Co-authored-by: ligen<ligen75@h-partners.com> # message auto-generated for no-merge-commit merge: !11512 merge master into master 批量修改ws=0 Created-by: ligen75 Commit-by: ligen Merged-by: cann-robot Description: ## 描述 批量修改算子的系统workspace大小 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/5482 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 自验通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11512 | 1 天前 | |
fix: 修复 10 算子 TTK golden 参考实现的输出 dtype 与 fp64 精度处理缺陷 Co-authored-by: tianqiguang<tianqiguang@huawei.com> # message auto-generated for no-merge-commit merge: !11042 merge goldenMod into master fix: 修复 10 算子 TTK golden 参考实现的输出 dtype 与 fp64 精度处理缺陷 Created-by: tianqiguang Commit-by: tianqiguang Merged-by: cann-robot Description: ## 描述 本 MR 修正 loss / norm / optim / quant 共 10 个算子的 TTK golden 参考实现( <算子>/tests/assets/golden.py),使 golden 严格按用例声明的输出 dtype(output_dtypes)生成真值,并在 TTK Promote 提供 fp64 时保留 fp64 计算精度。仅修改测试参考实现(纯 Python,numpy/torch 计算),不涉及 kernel / op_host 代码。 ### 改动原因 1. **忽略用例声明的输出 dtype(output_dtypes)**:次级输出被硬编码为 float32,不看声明。典型如 norm/deep_norm/tests/assets/golden.py:旧实现 _compute_deep_norm 直接将 mean/rstd 强制 .to(torch.float32),deep_norm_golden 只从 output_dtypes[2] 取 y 的 dtype,output_dtypes[0]/[1](mean/rstd 声明)被忽略;norm/batch_norm3_d、norm/batch_norm3_d_grad、norm/batch_norm_grad_ext2 的 batch_mean/saved_var/saved_rstd/dscale/doffset、optim/apply_adam_w_quant 的 absmax_m/absmax_v、quant/dynamic_quant_update_scatter(_v2) 的 scale/offset 同样被强制 float32。 2. **把 TTK Promote 的 fp64 精度截回 fp32**:golden 内部一律经 astype(np.float32) / .to(torch.float32)(_to_f32 / _to_torch_float32 / _to_numpy_float32 及一系列 dtype=np.float32 的归约助手),TTK Promote 送入的 fp64 输入被降为 fp32,cross_check 真值被截回 fp32(修复后代码注释对应 "retaining fp64 (TTK Promote) so the true value is not cut back to fp32")。 ### 改动方法 - **统一计算 dtype 入口**:_to_f32 → _to_compute(apply_adam_w_quant / apply_came_part4)、_to_torch_float32/_to_numpy_float32 → _to_torch_compute/_to_numpy_compute(deep_norm_grad)、_to_torch(x, dtype=float32) 改为保持输入自身 dtype(dynamic_quant_update_scatter)。语义:fp64 原样保留,fp16/bf16 提升到 fp32。 - **归约/累加助手改为输入 dtype 驱动**:batch_norm3_d_grad / batch_norm_grad_ext2 的 _sum_fp32、_sum_seq_fp32、_binary_fold_sum、_ra_split_r_channel_sum、_sum_pairwise_fp32、_chunk32_pair_channel_sum、_chunk_channel_sum、_ascend_like_channel_sum 由 np.float32 改为 x.dtype;deep_norm_grad 的 _reduce_sum_vl、_reduce_sum_regbase(_1d)、_reduce_sum_rows、_reduce_sum_rows_fp64 改为 values.dtype 驱动;新增 _compute_dtype() 判定(fp64 输入 → 全程 fp64,否则 fp32)。 - **按声明输出 dtype 生成输出**:新增 _output_dtype(kwargs, index, default) 从 TTK 传入的 output_dtypes 取声明 dtype(缺省 float32)。应用于 mean/rstd(deep_norm、deep_norm_grad)、batch_mean/saved_var/saved_rstd(batch_norm3_d)、dscale/doffset(batch_norm3_d_grad、batch_norm_grad_ext2)、dbeta/dgamma(deep_norm_grad)、absmax_m/absmax_v(apply_adam_w_quant,改为保持计算 dtype)、scale(dynamic_quant_update_scatter,改用 var_scale 实际 dtype)、out_scale/out_offset(_v2,保持原 dtype,去掉 np.float32 强制转换)。 - **常量与超参对齐计算 dtype**:apply_adam_w_quant 的 one/lr/beta1/beta2/weight_decay/eps/gnorm_scale、dynamic_quant_update_scatter 的 QUANT_MAX、_v2 的 INT4_SCALE_RANGE/INT4_QUANT_MAX/QUANT_EPSILON、batch_norm*_grad 的 reduce_count/epsilon 标量等改用 compute dtype。 - **cosine_embedding_loss**:计算 dtype 用 torch.promote_types(torch.float32, a.dtype) 并再与声明输出 dtype 提升;整数输入经 _to_compute_tensor 提升到计算 dtype;归约不再强制 dtype=torch.float32;reduction 结果按 out_dtype 输出。 - **batch_norm3_d**:__spec__ / __golden__ 增加算子名别名 batch_norm3_d(原仅注册 batch_norm3d)。 - **apply_came_part4**:_dtype_of 支持 float64;customize_inputs 增加 **kwargs 并使返回顺序与函数签名一致(sum_r 移至 sum_u_rc 之后);移除 __input__ 注册。 - **dynamic_quant_update_scatter / _v2**:_compute_dtype 由输入与声明输出 dtype 联合提升;量化写回不再经 np.float32 截断。 | # | 算子 | 文件 | +/− | |---|------|------|-----| | 1 | loss/cosine_embedding_loss | tests/assets/golden.py | +54/−18 | | 2 | norm/batch_norm3_d | tests/assets/golden.py | +36/−6 | | 3 | norm/batch_norm3_d_grad | tests/assets/golden.py | +53/−29 | | 4 | norm/batch_norm_grad_ext2 | tests/assets/golden.py | +53/−29 | | 5 | norm/deep_norm | tests/assets/golden.py | +7/−3 | | 6 | norm/deep_norm_grad | tests/assets/golden.py | +82/−55 | | 7 | optim/apply_adam_w_quant | tests/assets/golden.py | +45/−19 | | 8 | optim/apply_came_part4 | tests/assets/golden.py | +29/−21 | | 9 | quant/dynamic_quant_update_scatter | tests/assets/golden.py | +41/−10 | | 10 | quant/dynamic_quant_update_scatter_v2 | tests/assets/golden.py | +30/−13 | | | **合计** | **10 个文件** | **+430/−203** | ## 关联的Issue - #6449 ## 测试 本 MR 仅修改 TTK golden 参考实现(纯 Python,numpy/torch 计算,无 kernel / op_host 代码变更),建议按仓库 TTK ST 流程验证(需 Linux + CANN + Ascend 环境): bash cd /path/to/ops-test-kit REPO=/path/to/ops-nn # 仓内已提供用例的 3 个算子 python3 -m ttk kernel -i "$REPO/norm/deep_norm/tests/st/arch35/ttk_kernel_deep_norm_generalization.csv" \ --plugin "$REPO/norm/deep_norm/tests/assets/golden.py" python3 -m ttk kernel -i "$REPO/quant/dynamic_quant_update_scatter/tests/st/arch35/ttk_kernel_dynamic_quant_update_scatter_st.csv" \ --plugin "$REPO/quant/dynamic_quant_update_scatter/tests/assets/golden.py" python3 -m ttk kernel -i "$REPO/quant/dynamic_quant_update_scatter_v2/tests/st/arch35/ttk_kernel_dynamic_quant_update_scatter_v2_st.csv" \ --plugin "$REPO/quant/dynamic_quant_update_scatter_v2/tests/assets/golden.py" 检查点: - 各输出 dtype 与用例 output_dtypes 声明一致(如 deep_norm fp16 用例 ('float32','float32','float16')); - fp64 Promote 用例的 cross_check 真值保持 fp64,不被截回 fp32; - 既有 float16/bfloat16 用例的容差与判定不变。 ## 文档更新 本 MR 未包含文档修改。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [ ] AI辅助编写 See merge request: cann/ops-nn!11042 | 3 天前 | |
fix: 修复 10 算子 TTK golden 参考实现的输出 dtype 与 fp64 精度处理缺陷 Co-authored-by: tianqiguang<tianqiguang@huawei.com> # message auto-generated for no-merge-commit merge: !11042 merge goldenMod into master fix: 修复 10 算子 TTK golden 参考实现的输出 dtype 与 fp64 精度处理缺陷 Created-by: tianqiguang Commit-by: tianqiguang Merged-by: cann-robot Description: ## 描述 本 MR 修正 loss / norm / optim / quant 共 10 个算子的 TTK golden 参考实现( <算子>/tests/assets/golden.py),使 golden 严格按用例声明的输出 dtype(output_dtypes)生成真值,并在 TTK Promote 提供 fp64 时保留 fp64 计算精度。仅修改测试参考实现(纯 Python,numpy/torch 计算),不涉及 kernel / op_host 代码。 ### 改动原因 1. **忽略用例声明的输出 dtype(output_dtypes)**:次级输出被硬编码为 float32,不看声明。典型如 norm/deep_norm/tests/assets/golden.py:旧实现 _compute_deep_norm 直接将 mean/rstd 强制 .to(torch.float32),deep_norm_golden 只从 output_dtypes[2] 取 y 的 dtype,output_dtypes[0]/[1](mean/rstd 声明)被忽略;norm/batch_norm3_d、norm/batch_norm3_d_grad、norm/batch_norm_grad_ext2 的 batch_mean/saved_var/saved_rstd/dscale/doffset、optim/apply_adam_w_quant 的 absmax_m/absmax_v、quant/dynamic_quant_update_scatter(_v2) 的 scale/offset 同样被强制 float32。 2. **把 TTK Promote 的 fp64 精度截回 fp32**:golden 内部一律经 astype(np.float32) / .to(torch.float32)(_to_f32 / _to_torch_float32 / _to_numpy_float32 及一系列 dtype=np.float32 的归约助手),TTK Promote 送入的 fp64 输入被降为 fp32,cross_check 真值被截回 fp32(修复后代码注释对应 "retaining fp64 (TTK Promote) so the true value is not cut back to fp32")。 ### 改动方法 - **统一计算 dtype 入口**:_to_f32 → _to_compute(apply_adam_w_quant / apply_came_part4)、_to_torch_float32/_to_numpy_float32 → _to_torch_compute/_to_numpy_compute(deep_norm_grad)、_to_torch(x, dtype=float32) 改为保持输入自身 dtype(dynamic_quant_update_scatter)。语义:fp64 原样保留,fp16/bf16 提升到 fp32。 - **归约/累加助手改为输入 dtype 驱动**:batch_norm3_d_grad / batch_norm_grad_ext2 的 _sum_fp32、_sum_seq_fp32、_binary_fold_sum、_ra_split_r_channel_sum、_sum_pairwise_fp32、_chunk32_pair_channel_sum、_chunk_channel_sum、_ascend_like_channel_sum 由 np.float32 改为 x.dtype;deep_norm_grad 的 _reduce_sum_vl、_reduce_sum_regbase(_1d)、_reduce_sum_rows、_reduce_sum_rows_fp64 改为 values.dtype 驱动;新增 _compute_dtype() 判定(fp64 输入 → 全程 fp64,否则 fp32)。 - **按声明输出 dtype 生成输出**:新增 _output_dtype(kwargs, index, default) 从 TTK 传入的 output_dtypes 取声明 dtype(缺省 float32)。应用于 mean/rstd(deep_norm、deep_norm_grad)、batch_mean/saved_var/saved_rstd(batch_norm3_d)、dscale/doffset(batch_norm3_d_grad、batch_norm_grad_ext2)、dbeta/dgamma(deep_norm_grad)、absmax_m/absmax_v(apply_adam_w_quant,改为保持计算 dtype)、scale(dynamic_quant_update_scatter,改用 var_scale 实际 dtype)、out_scale/out_offset(_v2,保持原 dtype,去掉 np.float32 强制转换)。 - **常量与超参对齐计算 dtype**:apply_adam_w_quant 的 one/lr/beta1/beta2/weight_decay/eps/gnorm_scale、dynamic_quant_update_scatter 的 QUANT_MAX、_v2 的 INT4_SCALE_RANGE/INT4_QUANT_MAX/QUANT_EPSILON、batch_norm*_grad 的 reduce_count/epsilon 标量等改用 compute dtype。 - **cosine_embedding_loss**:计算 dtype 用 torch.promote_types(torch.float32, a.dtype) 并再与声明输出 dtype 提升;整数输入经 _to_compute_tensor 提升到计算 dtype;归约不再强制 dtype=torch.float32;reduction 结果按 out_dtype 输出。 - **batch_norm3_d**:__spec__ / __golden__ 增加算子名别名 batch_norm3_d(原仅注册 batch_norm3d)。 - **apply_came_part4**:_dtype_of 支持 float64;customize_inputs 增加 **kwargs 并使返回顺序与函数签名一致(sum_r 移至 sum_u_rc 之后);移除 __input__ 注册。 - **dynamic_quant_update_scatter / _v2**:_compute_dtype 由输入与声明输出 dtype 联合提升;量化写回不再经 np.float32 截断。 | # | 算子 | 文件 | +/− | |---|------|------|-----| | 1 | loss/cosine_embedding_loss | tests/assets/golden.py | +54/−18 | | 2 | norm/batch_norm3_d | tests/assets/golden.py | +36/−6 | | 3 | norm/batch_norm3_d_grad | tests/assets/golden.py | +53/−29 | | 4 | norm/batch_norm_grad_ext2 | tests/assets/golden.py | +53/−29 | | 5 | norm/deep_norm | tests/assets/golden.py | +7/−3 | | 6 | norm/deep_norm_grad | tests/assets/golden.py | +82/−55 | | 7 | optim/apply_adam_w_quant | tests/assets/golden.py | +45/−19 | | 8 | optim/apply_came_part4 | tests/assets/golden.py | +29/−21 | | 9 | quant/dynamic_quant_update_scatter | tests/assets/golden.py | +41/−10 | | 10 | quant/dynamic_quant_update_scatter_v2 | tests/assets/golden.py | +30/−13 | | | **合计** | **10 个文件** | **+430/−203** | ## 关联的Issue - #6449 ## 测试 本 MR 仅修改 TTK golden 参考实现(纯 Python,numpy/torch 计算,无 kernel / op_host 代码变更),建议按仓库 TTK ST 流程验证(需 Linux + CANN + Ascend 环境): bash cd /path/to/ops-test-kit REPO=/path/to/ops-nn # 仓内已提供用例的 3 个算子 python3 -m ttk kernel -i "$REPO/norm/deep_norm/tests/st/arch35/ttk_kernel_deep_norm_generalization.csv" \ --plugin "$REPO/norm/deep_norm/tests/assets/golden.py" python3 -m ttk kernel -i "$REPO/quant/dynamic_quant_update_scatter/tests/st/arch35/ttk_kernel_dynamic_quant_update_scatter_st.csv" \ --plugin "$REPO/quant/dynamic_quant_update_scatter/tests/assets/golden.py" python3 -m ttk kernel -i "$REPO/quant/dynamic_quant_update_scatter_v2/tests/st/arch35/ttk_kernel_dynamic_quant_update_scatter_v2_st.csv" \ --plugin "$REPO/quant/dynamic_quant_update_scatter_v2/tests/assets/golden.py" 检查点: - 各输出 dtype 与用例 output_dtypes 声明一致(如 deep_norm fp16 用例 ('float32','float32','float16')); - fp64 Promote 用例的 cross_check 真值保持 fp64,不被截回 fp32; - 既有 float16/bfloat16 用例的容差与判定不变。 ## 文档更新 本 MR 未包含文档修改。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [ ] AI辅助编写 See merge request: cann/ops-nn!11042 | 3 天前 | |
aclnnDynamicQuantV2参数校验修改 Co-authored-by: liujie12345678<liujie81@huawei.com> # message auto-generated for no-merge-commit merge: !11389 merge master into master aclnnDynamicQuantV2参数校验修改 Created-by: liujie12345678 Commit-by: liujie12345678 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复 issue [#6271](https://gitcode.com/CANN/ops-nn/issues/6271):MoE 场景(groupIndexOptional 提供)下专家数为 0 时, aclnnDynamicQuantV2 第一段接口未拦截非法 shape,错误被推迟到 tiling/构图阶段并以 561103(ACLNN_ERR_INNER_NULLPTR)报出,与文档约定的 161002(ACLNN_ERR_PARAM_INVALID)不符。 具体改动: 1. 第一段接口(quant/dynamic_quant/op_host/op_api/aclnn_dynamic_quant.cpp):group_index 提供时补齐对 smooth_scales 的关联校验——smooth_scales 必须非空、必须为 2 维(专家数, x 最后一维)、第一维与 group_index 长度一致、专家数不超过 1024、x 非空时专家数不小于 1,均返回 ACLNN_ERR_PARAM_INVALID。 2. Tiling(quant/dynamic_quant/op_host/dynamic_quant_tiling.cpp):group_index 提供且专家数为 0 时直接校验失败;MoE 分支判断由 groupNum >= 1 调整为按 group_index 是否提供,避免专家数为 0 的 MoE 输入落入非 MoE 分支报出误导性错误信息。 说明:该校验为 aclnnDynamicQuant / V2 / V3 / V4 共用,本改动对四个入口同时生效。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#6271](https://gitcode.com/CANN/ops-nn/issues/6271) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 1. 新增 L2 UT(quant/dynamic_quant_v2/tests/ut/op_host/test_aclnn_dynamic_quant_v2.cpp): - x 非空 + smoothScales(0,8) + groupIndex(0,):第一段返回 ACLNN_ERR_PARAM_INVALID(issue 复现用例); - x 为空 Tensor + 专家数为 0:走空 Tensor 提前返回,返回 ACLNN_SUCCESS; - group_index 提供时 smooth_scales 缺省 / 为 1 维 / 专家数与 group_index 长度不一致:均返回 ACLNN_ERR_PARAM_INVALID; - 存量 3 个 MoE 用例的 smooth_scales 形状由 1 维修正为 (8, 32)。 2. 新增 tiling UT(quant/dynamic_quant/tests/ut/op_host/test_dynamic_quant_tiling.cpp):group_index(0,) 提供时 tiling 返回 GRAPH_FAILED。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 本 PR 未包含文档更新。 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11389 | 5 天前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
适配350 Co-authored-by: Hana77<wangtianqi27@huawei.com> # message auto-generated for no-merge-commit merge: !11579 merge master into master 适配350 Created-by: Hana77 Commit-by: Hana77 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 算子适配ascend350 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#6432](https://gitcode.com/cann/ops-nn/issues/6432) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11579 | 1 天前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
批量修改ws=0 Co-authored-by: ligen<ligen75@h-partners.com> # message auto-generated for no-merge-commit merge: !11512 merge master into master 批量修改ws=0 Created-by: ligen75 Commit-by: ligen Merged-by: cann-robot Description: ## 描述 批量修改算子的系统workspace大小 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/5482 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 自验通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11512 | 1 天前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
重命名mxquant相关变量 Co-authored-by: ji-jun1<jijun1@huawei.com> # message auto-generated for no-merge-commit merge: !9285 merge rename_mx into master 重命名mxquant相关变量 Created-by: ji-jun1 Commit-by: ji-jun1 Merged-by: cann-robot Description: ## 描述 重命名mxquant相关变量,包括原型和md中的说明 ## 关联的Issue #5420 ## 测试 已通过st测试 ## 文档更新 更新了 quant/dynamic_mx_quant_with_dual_axis/README.md quant/dynamic_mx_quant_with_dual_axis/aclnnDynamicMxQuantWithDualAxis.md quant/dynamic_mx_quant_with_dual_axis/aclnnDynamicMxQuantWithDualAxisV2.md quant/grouped_dynamic_mx_quant_with_dual_axis/docs/aclnnGroupedDynamicMxQuantWithDualAxis.md ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9285 | 1 个月前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
fix(quantize): 修正 aclnnQuantize 头文件注释与函数签名不一致 Co-authored-by: cuijie25<cuijie24@h-partners.com> # message auto-generated for no-merge-commit merge: !11674 merge fix/quantize-param-doc into master fix(quantize): 修正 aclnnQuantize 头文件注释与函数签名不一致 Created-by: cuijie25 Commit-by: cuijie25 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复 issue #6399 第7点: quant/quantize/op_api/aclnn_quantize.h 中 aclnnQuantizeGetWorkspaceSize 的 @param 注释与函数签名不一致: - 注释中 axis 写在 dtype 之前,与签名 (x, scales, zeroPoints, aclDataType dtype, int32_t axis, ...) 顺序相反,且两参数类型不同(int32_t vs aclDataType),按注释顺序做位置传参会编译错误; - 出参 out 零文档。 修复方式(最小化改动,2 行新增 / 1 行删除): - dtype/axis 两行注释交换顺序,文字保持原文不变; - 补齐出参 out 的 @param 文档(数据类型由入参 dtype 指定,shape 与 x 一致),写法对齐同算子 experimental/quant/quantize/op_api/aclnn_quantize.h 的既有注释。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#6399](https://gitcode.com/cann/ops-nn/issues/6399)(第7点:quantize 注释 axis/dtype 顺序颠倒、出参 out 零文档) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 纯注释改动,不影响编译产物;注释顺序已与签名 (x, scales, zeroPoints, dtype, axis, out, workspaceSize, executor) 逐参核对一致,out/axis/dtype 约束与 docs/aclnnQuantize.md 及 aclnn_quantize.cpp 参数校验逻辑核对一致;本地 pre-commit 钩子(clang-format、OAT 合规检查等)全部通过。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无。仅头文件注释修复,docs/aclnnQuantize.md 参数表本就正确,无需改动。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11674 | 3 天前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 21 天前 | |
test(swiglu_mx_quant): 修复 golden 参考实现的量化计算逻辑缺陷(dtype 导入/scale_alg/round_mode/目标网格/NaN 语义) Co-authored-by: cheng-ziyang2<chengziyang2@huawei.com> # message auto-generated for no-merge-commit merge: !11211 merge cherry-pick-mr-11136-1790242311941-auto into master test(swiglu_mx_quant): 修复 golden 参考实现的量化计算逻辑缺陷(dtype 导入/scale_alg/round_mode/目标网格/NaN 语义) Created-by: huang-qiang Commit-by: cheng-ziyang2 Merged-by: cann-robot Description: ## 描述 修复 swiglu_mx_quant ST 测试 golden 参考实现(tests/assets/golden.py,经 __golden__ 注册供测试框架调用)的 6 处量化计算逻辑缺陷,使其与 kernel 实现及接口文档语义对齐。 ### 改动原因 原 golden 参考实现与 kernel/文档语义存在以下偏差: 1. **dtype 导入退化**:原从 ml_dtypes 导入 float8_e8m0/float4_e2m1_fn/float4_e1m2_fn(该包不提供),ImportError 时静默置 None,导致 FP4/FP8 dst_type 的参考输出退化为 float32。 2. **scale_alg 被忽略**:_mx_quantize 无论 scale_alg 取值均按 OCP 公式计算 scale,未实现文档场景2(aclnnSwigluMxQuant.md:131-145,scaleAlg=1 仅 FP8:S = Amax/Amax(DType),指数在尾数非零时向上取整)与 kernel BLAS 缩放(swiglu_mx_quant_common.h:270 ComputeScaleCuBLASNotLastAxis、:881 ComputeScaleBLASLast)语义。 3. **round_mode 舍入错误**:'round' 原用 np.round(ties-to-even),与 kernel CAST_ROUND(远离零舍入,swiglu_mx_quant_apt.cpp:42 RoundModeMapper)不一致;缺 ceil/trunc 分支;未知模式静默按 rint 处理。 4. **整数网格取整**:原对缩放后数值直接 floor/round/rint(按整数网格),未按目标 dtype 浮点网格量化(private_exp + 尾数位缩放 + min_exp/max_norm 截断),FP4/FP8 参考值系统性错误。 5. **inf/NaN 语义错误**:末尾对 y/scale 统一 nan_to_num,将 inf/huge 块的 E8M0 NaN scale(byte 255)改为 0,与 kernel 语义(NaN 块产 NaN scale、元素 NaN 转 +0)不符;且 shared_exp>127 原被 clip 为 byte 255 后按 2^128 解释。 6. **mxscale 偶数 pad 槽**:pad 槽用 np.zeros 填充,未显式填 2^-127(E8M0 byte 0),与 kernel 零填充幻影块语义不一致。 ### 改动方法 - 文件:quant/swiglu_mx_quant/tests/assets/golden.py(+113/-60),不涉及 kernel/host/docs 变更: - dtype 导入分拆:ml_dtypes(bfloat16/float8_e4m3fn/float8_e5m2)+ en_dtypes(float8_e8m0/float4_e2m1/float4_e1m2),缺失时显式 ImportError,删除全部 None 降级分支。 - _DST_TYPE_MAP 扩展为 (name, dtype, emax, exp_bits, mant_bits, min_exp, max_norm),支撑网格量化与 BLAS scale。 - 新增 _round_mantissa(rint/round 远离零/floor/ceil/trunc,未知模式 ValueError)、_share_exp_ocp(OCP 公式,全零块 → -inf)、_share_exp_blas(S = amax/max_norm,fp32 指数 + 尾数非零进位)、_quantize_elements(private_exp + 尾数位缩放 + round + ±max_norm 截断)。 - _mx_quantize:use_blas = scale_alg != 0 and dst_type in (35, 36)(FP8 才走 BLAS);shared_exp > 127 → NaN(E8M0 byte 255),< -127 → clamp;元素 NaN → +0;scale pad 槽显式填 2^-127。 - 删除末尾 y/scale 的 nan_to_num,保留 E8M0 NaN scale;删除死代码 output_dtypes 检查。 - docstring 同步补充量化语义说明(OCP/cuBLAS scale、网格量化、round modes、NaN 语义、mxscale 布局)。 ## 关联的Issue - #6182 ## 测试 - 改动为测试资产(golden 参考实现),不改变算子 kernel/host 代码与 tiling 行为。 - 修复后 golden 语义与 kernel RoundModeMapper(swiglu_mx_quant_apt.cpp:30-45)、BLAS scale(swiglu_mx_quant_common.h:270/881)及文档公式(aclnnSwigluMxQuant.md:111-145 场景1/场景2)对齐。 ## 文档更新 - 无。仅测试资产内 docstring 说明同步更新,不涉及 docs/ 目录变更。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [ ] AI辅助编写 See merge request: cann/ops-nn!11211 | 8 天前 | |
[agent] [Requirement|需求建议]: 补齐 SwigluMxQuantWithDualAxis 的 TTK golden Co-authored-by: huang-qiang<huangqiang3@huawei.com> # message auto-generated for no-merge-commit merge: !11151 merge agent/issue-96 into master [agent] [Requirement|需求建议]: 补齐 SwigluMxQuantWithDualAxis 的 TTK golden Created-by: huang-qiang Commit-by: huang-qiang Merged-by: cann-robot Description: 由 agent 自动创建。 所有阶段均已真正完成: - **需求分析**:明确 4 输出契约、8 dtype 分支、SwiGLU mode0 + 双轴 MX 量化语义,登记 README 冲突证据。 - **方案设计**:复用同仓已合入 golden 的 MX 量化内核组合,锁定 mx_scale 布局与精度传递约定。 - **编码实现**: golden.py(独立 CPU 参考,不依赖被测 NPU 算子)+ 两份 ST CSV(10 确定性用例)。 - **测试验证**:TTK 2.8.0 发现/加载/调用端到端正确、CSV 可解析、离线自测全通过、pre-commit 全通过;已 commit a7502d39a 到 agent/issue-96(未 push、未建 PR)。NPU 数值 ST 因 CANN opp 无该算子预编译二进制、分组 ST 因组间 padding 逐位一致性待实测,均按 issue 允许项如实标注为 unverified。交付记录见 DELIVERY_RECORD.md。 TASK_COMPLETE See merge request: cann/ops-nn!11151 | 1 天前 | |
docs: 修正量化矩阵乘与 TransQuantParam 文档表述 Co-authored-by: smdbha<panzhijie2@huawei.com> # message auto-generated for no-merge-commit merge: !11413 merge codex/quant-matmul-doc-fixes into master docs: 修正量化矩阵乘与 TransQuantParam 文档表述 Created-by: smdbha Commit-by: smdbha Merged-by: cann-robot Description: ## 描述 修正量化矩阵乘及 TransQuantParam 系列文档中的注释、示例日志、约束描述、参数名称、错误码说明和 Markdown 标记,统一文档与接口实现语义。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/6323 ## 测试 - 已执行 git diff --check upstream/master...35fd0c931564473fde53c52ba8c4133ab9e3d49f,检查通过。 - 已对照接口实现和示例调用核对 FP16/BF16 输出注释、aclnnPermute 日志、TransQuantParam 位段说明、错误码含义及 roundMode 参数名称。 - 未执行 CANN 编译或设备测试,本 PR 仅包含文档修改。 ## 文档更新 - matmul/quant_batch_matmul_inplace_add/docs/aclnnQuantBatchMatmulInplaceAdd.md - matmul/quant_batch_matmul_v3/docs/aclnnQuantMatmulV3.md - matmul/quant_batch_matmul_v3/docs/aclnnQuantMatmulWeightNz.md - matmul/quant_batch_matmul_v4/docs/aclnnQuantMatmulV5.md - quant/trans_quant_param/docs/aclnnTransQuantParam.md - quant/trans_quant_param_v2/README.md - quant/trans_quant_param_v2/docs/aclnnTransQuantParamV2.md - quant/trans_quant_param_v2/docs/aclnnTransQuantParamV3.md ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!11413 | 13 天前 | |
docs: 修正量化矩阵乘与 TransQuantParam 文档表述 Co-authored-by: smdbha<panzhijie2@huawei.com> # message auto-generated for no-merge-commit merge: !11413 merge codex/quant-matmul-doc-fixes into master docs: 修正量化矩阵乘与 TransQuantParam 文档表述 Created-by: smdbha Commit-by: smdbha Merged-by: cann-robot Description: ## 描述 修正量化矩阵乘及 TransQuantParam 系列文档中的注释、示例日志、约束描述、参数名称、错误码说明和 Markdown 标记,统一文档与接口实现语义。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/6323 ## 测试 - 已执行 git diff --check upstream/master...35fd0c931564473fde53c52ba8c4133ab9e3d49f,检查通过。 - 已对照接口实现和示例调用核对 FP16/BF16 输出注释、aclnnPermute 日志、TransQuantParam 位段说明、错误码含义及 roundMode 参数名称。 - 未执行 CANN 编译或设备测试,本 PR 仅包含文档修改。 ## 文档更新 - matmul/quant_batch_matmul_inplace_add/docs/aclnnQuantBatchMatmulInplaceAdd.md - matmul/quant_batch_matmul_v3/docs/aclnnQuantMatmulV3.md - matmul/quant_batch_matmul_v3/docs/aclnnQuantMatmulWeightNz.md - matmul/quant_batch_matmul_v4/docs/aclnnQuantMatmulV5.md - quant/trans_quant_param/docs/aclnnTransQuantParam.md - quant/trans_quant_param_v2/README.md - quant/trans_quant_param_v2/docs/aclnnTransQuantParamV2.md - quant/trans_quant_param_v2/docs/aclnnTransQuantParamV3.md ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!11413 | 13 天前 | |
feat(quant): 新增 TurboQuant 算子 Co-authored-by: chen-weipeng12<chenweipeng12@huawei.com> # message auto-generated for no-merge-commit merge: !10099 merge feat/turboquant-compress-commercial into master feat(quant): 新增 TurboQuant 算子 Created-by: chen-weipeng12 Commit-by: chen-weipeng12 Merged-by: cann-robot Description: ## 描述 ### 背景 TurboQuant 将 MLA 的 KV latent 按 token 归一化后量化为 4bit codebook 索引,并单独输出每个 token 的 FLOAT16 L2 norm,用于 KV cache 的 4bit 压缩。生产路径为 quant/turbo_quant。 ### 本 PR 内容 新增turboquant算子 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/5714 ## 测试 - op_host UT:23/23 通过(Tiling 14 + InferShape 9) - op_kernel 仿真 UT:15/15 通过 - ACLNN eager example:编译运行通过并产出输出 - 环境:容器 tq4-b234-e2e,CANN 9.1.0,Ascend 910B - 格式门禁:clang-format 18.1.8、ruff-format 0.14.14(.pre-commit-config.yaml 中 pin 的版本)通过 - UT 当前仅覆盖 ascend910B1 / Ascend910B,尚未覆盖 910_93 的核数/UB 组合 - 注:infershape UT 为去除对 op_graph/ 的依赖已改写为 InferShapeContextFaker 写法,用例数与覆盖范围不变,改写后尚未实机复跑 ## 文档更新 新增: - quant/turbo_quant/README.md - quant/turbo_quant/docs/aclnnTurboQuant.md - quant/turbo_quant/docs/torchapi_turbo_quant.md 更新(各新增 1 行接口登记): - docs/zh/op_api_list.md - docs/zh/torch_api_list.md - docs/zh/menu_aclnn_api.md - docs/zh/menu_torch_api.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [ ] AI辅助编写 See merge request: cann/ops-nn!10099 | 20 天前 | |
feat: 新增 WtsARQ 算子(AMCT QAT 权重自适应范围伪量化,GE IR 图模式,arch35 RegBase) Co-authored-by: tianqiguang<tianqiguang@huawei.com> # message auto-generated for no-merge-commit merge: !11140 merge master into master feat: 新增 WtsARQ 算子(AMCT QAT 权重自适应范围伪量化,GE IR 图模式,arch35 RegBase) Created-by: tianqiguang Commit-by: tianqiguang Merged-by: cann-robot Description: ## 描述 新增 WtsARQ(Weights Adaptive Range Quantization)算子,用于 AMCT 量化感知训练(QAT)场景:根据输入权重 w 及其量化范围下界 w_min、上界 w_max 自适应计算量化 scale,对 w 做 round-to-nearest(half-to-even)伪量化到 int8 栅格后再反量化回浮点,输出 y。 - 交付形态:GE IR 图模式算子(REG_OP 注册),无 aclnn 接口;TensorFlow 前端经框架插件(framework/wts_arq_tf_plugin.cpp)映射为同一 IR 后调用 - 硬件平台:arch35(Ascend 950 / DAV_3510),RegBase kernel 实现 - 输入:w(float16/float32,ND,rank 0~8)、w_min、w_max(dtype 与 w 一致,受限广播) - 输出:y(shape/dtype 与 w 相同) - 属性:num_bits(int64,仅支持 8)、offset_flag(bool,默认 false) 计算流程:范围修正(w_min=min(w_min,0)、w_max=max(w_max,0))→ scale 计算(offset_flag=false 时 max(|w_min|/128, w_max/127);true 时 w_max/255 - w_min/255)→ 除零保护(scale < float32 eps 取 1.0)→ 伪量化 q=clamp(rint(w/scale)+offset, -128, 127)-offset → 反量化 y=q*scale。 实现要点: - op_host:算子定义(wts_arq_def.cpp)、InferShape(wts_arq_infershape.cpp,支持动态 shape/rank 与受限广播校验)、arch35 tiling(wts_arq_tiling.cpp,动态多核切分、受限广播拷贝策略) - op_kernel:arch35 RegBase kernel(wts_arq_kernel.h,fp32 寄存器级计算链) - op_graph:GE IR 算子注册(wts_arq_proto.h) - config:ascend950 binary.json(float16/float32 两个二进制) - 文档:README.md + docs/zh/op_list.md 算子列表登记 ## 关联的Issue #6254 ## 测试 - 单元测试:tests/ut/op_host/arch35/test_wts_arq_tiling.cpp(tiling)、tests/ut/op_host/test_wts_arq_infershape.cpp(infershape) - 精度验证:tests/assets/golden.py 生成 golden 数据对比 - 示例:examples/test_geir_wts_arq.cpp(GE IR 图模式调用示例) ## 文档更新 - 新增 quant/wts_arq/README.md(功能说明、参数说明、约束说明、调用说明) - 更新 docs/zh/op_list.md(新增 wts_arq 算子条目) ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [ ] AI辅助编写 See merge request: cann/ops-nn!11140 | 15 天前 | |
torch_extension API文档新增产品型号标签 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !8233 merge master into master torch_extension API文档新增产品型号标签 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. torchapi_*.md增加产品型号标签注释 2. 中文png改为英文文件名 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#4551](https://gitcode.com/cann/ops-nn/issues/4551) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 已自验 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> torchapi_*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8233 | 2 个月前 | |
Format update: Adjusted the license description format in all relevant files. Co-authored-by: jiangqi<jiangqi47@h-partners.com> # message auto-generated for no-merge-commit merge: !366 merge license6 into master Format update: Adjusted the license description format in all relevant files. Created-by: jiangqi2025 Commit-by: jiangqi Merged-by: turing_project1 Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!366 | 9 个月前 | |
refactor(swiglu_group_grad): 迁移至 activation 目录 Co-authored-by: ZhouChuping<24171214023@stu.xidian.edu.cn> # message auto-generated for no-merge-commit merge: !9329 merge refactor/swiglu-group-grad-to-activation into master refactor(swiglu_group_grad): 迁移至 activation 目录 Created-by: qq_52056150 Commit-by: ZhouChuping Merged-by: cann-robot Description: ## 描述 迁移swiglu_group_grad至 activation 目录 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/5285 ## 测试 本地进行了白盒、门槛用例的验证,共200条用例无功能性问题,线上进行了david冒烟无异常。 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 更新路径 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:迁移算子至新目录 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9329 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 21 天前 | ||
| 21 天前 | ||
| 21 天前 | ||
| 21 天前 | ||
| 21 天前 | ||
| 21 天前 | ||
| 21 天前 | ||
| 1 个月前 | ||
| 15 天前 | ||
| 13 天前 | ||
| 21 天前 | ||
| 21 天前 | ||
| 21 天前 | ||
| 3 天前 | ||
| 1 天前 | ||
| 21 天前 | ||
| 21 天前 | ||
| 21 天前 | ||
| 3 天前 | ||
| 1 天前 | ||
| 1 天前 | ||
| 3 天前 | ||
| 3 天前 | ||
| 5 天前 | ||
| 21 天前 | ||
| 21 天前 | ||
| 21 天前 | ||
| 21 天前 | ||
| 21 天前 | ||
| 21 天前 | ||
| 21 天前 | ||
| 1 天前 | ||
| 21 天前 | ||
| 1 天前 | ||
| 21 天前 | ||
| 21 天前 | ||
| 21 天前 | ||
| 21 天前 | ||
| 1 个月前 | ||
| 21 天前 | ||
| 3 天前 | ||
| 21 天前 | ||
| 21 天前 | ||
| 21 天前 | ||
| 8 天前 | ||
| 1 天前 | ||
| 13 天前 | ||
| 13 天前 | ||
| 20 天前 | ||
| 15 天前 | ||
| 2 个月前 | ||
| 9 个月前 | ||
| 1 个月前 |