| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix: fix several binary ops data type promote bug Co-authored-by: wangqi_ai<wangqi195@hisilicon.com> # message auto-generated for no-merge-commit merge: !2215 merge brc_aclnn_fix into master fix: fix several binary ops data type promote bug Created-by: wangqi_ai Commit-by: wangqi_ai Merged-by: cann-robot Description: ## 改动概述 为比较算子适配 **Ascend 950 (RegBase)** 平台 dtype 处理逻辑,优化类型推导和计算性能。 **主要改动**: - 新增公共类型推导工具(张量+标量混合运算支持) - 8 个比较算子 RegBase 平台类型推导适配 - Maximum/Minimum 算子计算类型优化(减少 30%~50% Cast 操作) - 补充 RegBase 平台测试用例(18 个新增测试) --- ## 详细改动内容 ### 1. 新增公共工具函数 **文件**: common/inc/op_api/data_type_utils.h (新增 160 行) **核心函数**: - BinaryOpTypePromote - 双输入类型推导(支持张量+标量) - CombineCategoriesWithComplex - 混合运算类型推导 - IsMaxMinSafeInputDtype - 计算安全性判断 ### 2. 比较算子类型推导适配 修改 8 个算子类型推导逻辑: - Equal、NotEqual、Greater、GreaterEqual、Less、LessEqual - Maximum、Minimum(含性能优化) **策略**:RegBase 使用 BinaryOpTypePromote,其他平台使用 PromoteType ### 3. Maximum/Minimum 性能优化 **优化效果**:减少 30%~50% Cast 操作次数 **新增验证**:computeType 有效性检查,防止未定义类型错误 ### 4. 测试用例 新增 18 个 RegBase 平台测试,覆盖: - 张量+标量混合运算 - 不同数据类型组合 - 输出类型与计算类型差异场景 --- ## 平台支持 | 平台 | 类型推导 | 特性 | |------|---------|------| | Ascend910 | PromoteType | 基础类型 | | Ascend910B | PromoteType | +BF16 | | Ascend950 | BinaryOpTypePromote | +UINT64,扩展支持 | --- ## 测试验证 ✅ 单元测试通过 ✅ OAT 检查通过 ✅ Git Hooks 检查通过 --- ## 改动统计 +587 行,-185 行 15 文件修改 --- See merge request: cann/ops-math!2215 | 2 个月前 | |
style: 全仓统一 clang-format 代码格式化 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !3345 merge master into master style: 全仓统一 clang-format 代码格式化 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 对全仓代码(common、examples、tests 等目录共 113 个文件)统一执行 clang-format 格式化,使代码风格与 .clang-format 配置保持一致。本次变更不涉及任何功能逻辑修改,仅涉及缩进、对齐、空格、换行等代码风格调整。 涉及的主要目录: - common/inc/、common/src/:公共头文件及框架插件代码 - examples/:示例算子代码 - tests/:UT 测试框架及工具代码 ## 关联的Issue #1984 ## 测试 代码仅涉及格式化,不影响编译与功能;全量 UT 已通过。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化(clang-format) See merge request: cann/ops-math!3345 | 2 个月前 | |
style: 全仓统一 clang-format 代码格式化 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !3345 merge master into master style: 全仓统一 clang-format 代码格式化 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 对全仓代码(common、examples、tests 等目录共 113 个文件)统一执行 clang-format 格式化,使代码风格与 .clang-format 配置保持一致。本次变更不涉及任何功能逻辑修改,仅涉及缩进、对齐、空格、换行等代码风格调整。 涉及的主要目录: - common/inc/、common/src/:公共头文件及框架插件代码 - examples/:示例算子代码 - tests/:UT 测试框架及工具代码 ## 关联的Issue #1984 ## 测试 代码仅涉及格式化,不影响编译与功能;全量 UT 已通过。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化(clang-format) See merge request: cann/ops-math!3345 | 2 个月前 | |
refactor: 删除废弃公共头文件,完成 math/random 算子头文件去重 Co-authored-by: tianqiguang<tianqiguang@huawei.com> # message auto-generated for no-merge-commit merge: !3000 merge math_tiling into master refactor: 删除废弃公共头文件,完成 math/random 算子头文件去重 Created-by: tianqiguang Commit-by: tianqiguang Merged-by: cann-robot Description: ## 描述 删除 4 个已废弃的公共头文件,并完成剩余 math 算子和全部 random 算子的重复头文件消除。本 PR 为此系列重构的收尾提交。 ### 改动原因 前三批 PR(#2951 conversion / #2969 math上 / #2980 math下)已完成所有算子到 base 仓头文件的迁移。原公共头文件已成为空壳转发或不再被引用,可安全删除: - tiling_base.h:已改为转发 tiling_base_class.h,可直接删除 - tiling_templates_registry.h:math 专用部分已拆分到 math_tiling_templates_registry.h - tiling_util.h / tiling_util.cpp:功能已迁移至 base 仓 tiling_base_util.h 此前几批遗漏了部分 math 算子(add_lora, atan2, histogram_v2, stft 等 10+ 个)以及 random 目录下全部算子。 ### 改动方法 1. 删除 4 个废弃文件并精简 common/CMakeLists.txt 2. 更新遗漏的 math 算子:#include + 命名空间修正 3. 更新 20+ 个 random 算子:同样的 #include + 命名空间修正 4. 更新示例(add_example, add_example_c_api)和 opgen 模板脚本 ## 关联的Issue - #1697 ## 测试 - 涉及的算子二级冒烟测试已通过 ## 文档更新 无文档变更 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码重构,删除废弃头文件并完成去重收尾 See merge request: cann/ops-math!3000 | 3 个月前 |