| fix(examples): 修复aclnn示例代码及接口文档问题 Co-authored-by: luoyufan7<luoyufan7@h-partners.com> # message auto-generated for no-merge-commit merge: !10300 merge fix/examples-codecheck into master fix(examples): 修复aclnn示例代码及接口文档问题 Created-by: luoyufan7 Commit-by: luoyufan7 Merged-by: cann-robot Description: ## 描述 修复 6 个算子示例代码与接口文档中的 codecheck 问题,完整问题清单见关联 Issue。 主要修复: - **宿主数据类型与 Tensor dataType 匹配**:DequantBias(inputHostData int16_t→int32_t、resultData int8_t→int16_t、weight/activation/bias int32_t→float、outputDtype true→1)、GeluBackward(gradOutput int→float 且 ACL_INT32→ACL_FLOAT)、GeluBackwardV2(gradOutput/gradInput int→float,0x00000001 位模式错值) - **shape 与 tiling 实现一致**:AdvanceStep inputTokens {8,1}→{8};AdvanceStepV2 按 advance_step_tiling.cpp 的 CheckInputOutputShape 理顺全部输入(inputTokens/inputPositions/seqLens/slotMapping 为 1 维 [numSeqs*(1+specNum)],sampledTokenIds 为 {numSeqs, 1+specNum},specToken 为 {numSeqs, specNum}),并同步修正参数表与报错表中与实现不一致的 shape 描述(原参数表称 inputTokens 为 2 维、报错表称 sampledTokenIds 第二维为 1,均与 tiling 校验矛盾) - **AdvanceStepV2 input7/input8 使用独立 DeviceAddr**:原复用 input5/input6 的地址,指针被二次 malloc 覆盖导致首次分配泄漏 - **清理模板残留**:"mean result" 日志标签(GeluMul/SoftmaxCrossEntropyWithLogits/AdvanceStep/AdvanceStepV2/DequantBias)、头文件"//不确定头文件名字"注释、SoftplusBackward CHECK_RET 多余分号(含 experimental 副本) - **AdvanceStep(V2) blockTables 参数描述**修正为"物理块编号"(原文"block 的大小"与公式语义不符) - 按 clang-format 补齐 8 个示例文件末尾换行等格式;test_aclnn_advance_step_v2.cpp 版权头替换为仓库标准格式 examples 与 docs 双份同步修改。 ## 关联的Issue Closes #5816 ## 测试 - [x] 9 个示例在 A2(Atlas 910B3,CANN 9.2.0)上实际编译(g++ 12.3.1)并运行通过(exit=0),输出数值符合预期(如 DequantBias 输出 fp16 位模式 0x4600=6.0,与 1×2.0×2.0+2.0 一致) ## 文档更新 - docs/aclnnDequantBias.md、aclnnGeluBackward.md、aclnnGeluBackwardV2.md、aclnnGeluMul.md、aclnnSoftmaxCrossEntropyWithLogits.md、aclnnAdvanceStep.md、aclnnAdvanceStepV2.md、aclnnSoftplusBackward.md(含 experimental 副本)中的示例代码同步更新;aclnnAdvanceStepV2.md 参数表与报错表 shape 描述对齐实现 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!10300 | 4 天前 |