| Files | Last commit | Last update |
|---|---|---|
fix: 修复 Add 算子 alpha 是否为 1 的判断逻辑以及示例资源泄漏 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !7073 merge ccc_1103 into master fix: 修复 Add 算子 alpha 是否为 1 的判断逻辑以及示例资源泄漏 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 本次修改针对 Add 算子,主要包含以下改动: 1. **修复示例资源泄漏**( math/add/examples/test_aclnn_add.cpp、test_aclnn_adds.cpp): - 将示例中的裸指针资源(aclrtStream、device 内存、aclTensor、aclScalar)改为 RAII 智能指针管理(unique_ptr 自定义删除器),在正常与异常路径下均自动释放资源,避免资源泄漏。 - 补充 aclCreateTensor 返回空指针的校验。 - 释放 workspace 前先 reset 指针,避免后续 aclnnInplaceAdd/aclnnInplaceAdds 再次申请覆盖指针导致泄漏。 2. **修复 GEIR 示例内存泄漏**(math/add/examples/test_geir_add.cpp): - 移除调试打印 std::cout << argv[1]。 - 补充 delete session; 释放 Graph session。 3. **修复 alpha 是否为 1 的判断逻辑**: - math/add/op_api/aclnn_add.cpp:混合数据类型分支改用 IsEqualToOne 判断 alpha 是否为 1。 - math/add/op_api/aclnn_add_v3.cpp:新增 IsEqualToOne 辅助函数,正确处理 NaN、复数类型、double 精度场景,避免原 !(alpha->ToFloat() > 1 || alpha->ToFloat() < 1) 判断在 NaN 或复数类型时误判为 1。 4. **补充测试规格**(math/add/tests/assets/golden.py): - 新增 aclnnAddV3、aclnnInplaceAddV3 测试规格。 - 支持 complex32 输出的 golden 计算(拆实虚部抬 complex64 相加后拼回)。 - 修复整数输入时 alpha 的整型转换逻辑(仅对张量判定)。 ## 关联的Issue - #4591 ## 测试 - 更新 Add 算子的 TTK 测试规格 golden.py,新增 aclnnAddV3/aclnnInplaceAddV3 及 complex32 的 golden 计算逻辑。 ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!7073 | 8 days ago | |
refactor: 统一 add/mul/pow/real_div/sub 算子代码风格 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !6053 merge ccc_0929 into master refactor: 统一 add/mul/pow/real_div/sub 算子代码风格 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 对 add、mul、pow、real_div、sub 五个数学算子的代码进行统一的代码风格规范化(clang-format),包括: - 统一命名空间/类的括号风格与缩进 - 统一指针、引用修饰符位置(如 const char* const) - 规范函数声明与调用的换行对齐 - 统一注释风格及文件结尾换行符 - 修正 real_div 配置注释中的拼写错误(build-in → built-in) 本次改动仅涉及代码格式调整,不包含任何功能或逻辑变更。 ## 关联的Issue - #3464 ## 测试 无功能变更,仅代码格式调整,未新增测试。 ## 文档更新 无。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码风格规范化 See merge request: cann/ops-math!6053 | 1 month ago | |
test: 同步 Math BRC 零 workspace 的 Host UT 期望值 Co-authored-by: zhang-song-rui<zhangsongrui@h-partners.com> # message auto-generated for no-merge-commit merge: !6242 merge fix/ascend950-vector-workspace into master test: 同步 Math BRC 零 workspace 的 Host UT 期望值 Created-by: zhang-song-rui Commit-by: zhang-song-rui Merged-by: cann-robot Description: ## 修改内容 仅同步公共 BroadcastBaseTiling(BRC)workspace 清零所影响的 Host UT:把成功 BRC 用例的 workspace 期望由 16777216(16 MiB)改为 0。 共修改 38 个已有 UT 文件,228 行增加、228 行删除,全部为上述 workspace 字面值替换。无生产代码、kernel、CMake、公共 UT 框架、依赖版本或失败用例修改;分支保持一次提交。 ## Major 意见核对与处理 opbase #1007 在 BroadcastBaseTiling::DoTiling 公共成功出口写入 DEFAULT_TILING_WORKSPACE_SIZE=0,默认 kernel type 同样受影响,并非可排除条件。结合本地 opbase 与当前 ops-math 源码,逐项处理如下: | 算子 | 本 PR 处理 | 保留原期望的依据 | | --- | --- | --- | | AddV2 | 生产文件及 UT 均保持主线原样 | BRC 返回后 SetWorkspace 显式按 CompileInfo/平台信息重新申请 workspace,最终结果仍为 16 MiB;不能仅改 UT 为 0。 | | LeftShift | 8 个成功用例改为 0 | 另 1 个失败用例的占位期望不参与 workspace 检查,保持原样。 | | RightShift | 10 个成功用例改为 0 | 另 2 个失败用例同上,保持原样。 | | MaximumGrad | 7 个成功 BRC 用例改为 0 | 另 4 个空张量用例走 HandleEmptyTensor 独立分支,仍显式申请系统 workspace,保留 16 MiB。 | | MinimumGrad | 7 个成功 BRC 用例改为 0 | 同上,另 4 个空张量独立分支保留 16 MiB。 | | MaskedFill | 7 个成功 BRC 用例改为 0 | 无遗漏。 | | TruncateDiv | 6 个成功 BRC 用例改为 0 | 原有两个 0 是失败用例,不是非 BRC 成功路径;保持原样。 | 全仓扫描发现的另外三组遗漏也已补齐:FusedMulAdd(10 处)、FusedMulAddAdd(10 处)、MulNoNan(11 处)。上述新增补齐共 9 个文件、76 处。其余原有 UT 中仅属于失败用例的 8 处占位值修改也已撤回,避免无关修改。 ## 本地验证(2026-11-05) 最终提交: ae55efaba。 环境:aarch64、GNU 9.4.0、CANN 9.2.0(用户目录安装)、目标 ascend950。使用仓库默认固定 opbase 8e8cf1b60b28bc1f8aaa1652fe054ac7e35d5852,未叠加本地 opbase 补丁。 - 最终 UT-only 版本已重新编译、最终链接并运行 math_op_host_ut:**548/548 测试通过,78 个测试套件,构建退出码 0**。范围包括全部 38 个变更算子,以及保持原样的 AddV2,共 39 个算子;保留 16 MiB 的 AddV2/梯度空张量用例也实际通过。 - 逐字节检查全部 38 个变更文件,仅存在 {16777216} → {0} 的替换;失败用例无差异,AddV2 无差异。 - 按原有 CRLF 换行格式执行差异空白检查,通过。 - 扫描仓库 50 个直接 BRC Host 消费算子,核对剩余 16 MiB 用例及上述独立分支。 最终复测日志:/tmp/pr6242-ut-only-final.log。日志含复用构建目录产生的 gcov profile 时间戳提示;测试和构建均成功,本次不提供覆盖率结论。Host UT 不替代设备 kernel 精度、性能或越界验证;本轮未执行设备测试。 ## 关联 PR - [opbase #1007](https://gitcode.com/cann/opbase/pull/1007):已合入的公共 BRC workspace 清理。 - [ops-math #6711](https://gitcode.com/cann/ops-math/pull/6711):已合入独立实现路径清理及其 4 个 UT 文件。已同步包含该修改的主线,上述 10 个文件不在本 PR 差异中。 See merge request: cann/ops-math!6242 | 9 days ago |