| Files | Last commit | Last update |
|---|---|---|
master翻译合入 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !6751 merge master into master master翻译合入 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 合入math仓翻译的内容 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/4170 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 docs/context,aclnn等商发文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6751 | 17 days ago | |
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 | |
迁移开源TF插件--math Co-authored-by: yaochen<yaochen15@huawei.com> # message auto-generated for no-merge-commit merge: !4308 merge transfer-math into master 迁移开源TF插件--math Created-by: nextyale Commit-by: yaochen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:迁移TF插件 See merge request: cann/ops-math!4308 | 3 months ago | |
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 | |
fix(proto): 修复39个算子proto.h注释的拼写与语法错误 Co-authored-by: sun-yibo1<sunyibo1@hisilicon.com> # message auto-generated for no-merge-commit merge: !5815 merge fix/proto-comment-grammar into master fix(proto): 修复39个算子proto.h注释的拼写与语法错误 Created-by: sun-yibo1 Commit-by: sun-yibo1 Merged-by: cann-robot Description: ## 描述 对 39 个算子的 op_graph/*_proto.h 注释做拼写与语法修复,仅注释与格式变更,不涉及任何代码逻辑: - **拼写错误**:select_v2 condittion→condition(2处)、axpy_v2 opratioan→operation、clip_by_value 英文 dtype 列表中的全角逗号改半角 - **系统性语法(历史模板复制扩散)**:Support broadcasting→Supports broadcasting(27个文件)、A ND→An ND(33个文件97处) - **单文件语法修复 71 处(含 signbit returns→Returns、axpy should→Should 两处句首大写补漏)**:ger has→have、addcmul/addcdiv multiply→multiplies、muls An required→A required、equal (x=y)→(x1==x2)、Elementwise→Element-wise、bias_add/lerp/gcd 语序与冠词修复、aicore→AiCore、mod/floor_mod 矛盾表述统一、句首大小写与标点空格等 - 附带 pre-commit 钩子强制规范化(clang-format 重排、尾随空白、文件末尾换行),并保留各文件原有行尾风格(CRLF/LF) 涉及算子:add/sub/mul/muls/div/real_div/floor_div/div_no_nan/pow/minimum/maximum/signbit/less/less_equal/greater/greater_equal/not_equal/equal/bias_add/squared_difference/lerp/logical_and/logical_or/bitwise_or/bitwise_and/bitwise_xor/tanh_grad/axpy/axpy_v2/addcmul/addcdiv/select/select_v2/mod/floor_mod/ger/gcd/clip_by_value/clip_by_value_v2 ## 关联的Issue - #3234 - https://gitcode.com/cann/ops-math/issues/3234 ## 测试 - 纯注释变更,无功能影响 - pre-commit 钩子全部通过(clang-format / trailing-whitespace / end-of-file-fixer / codespell / OAT 合规检查) - 严格限定在上述 39 个算子文件,全仓其余算子未改动(其余算子同类问题可后续另行清理) ## 文档更新 不涉及仓内 docs/ 目录;本 PR 即为 proto.h 注释(算子原型文档源)的修正 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5815 | 21 days ago | |
feat(5162):add/cast/tanh/mul/real_div 算子适配5162 Co-authored-by: pcmbyn<liuhaiyang42@huawei.com> # message auto-generated for no-merge-commit merge: !6315 merge master into master feat(5162):add/cast/tanh/mul/real_div 算子适配5162 Created-by: pcmbyn Commit-by: pcmbyn Merged-by: cann-robot Description: ## 描述 将 ops-math 仓 add、cast、tanh、mul、real_div、sub、log、pow、equal、fill 算子适配 Ascend5162A(DAV_5162/Modena 端侧芯片),复用 arch35 同源目录追加式完成,共 24 个文件(10 def + 10 CMakeLists + 4 个 kernel/tiling 文件改动)。 - **统一注册(10 算子)**: *_def.cpp 各追加 1 行 AddConfig("ascend5162a", aicoreConfig)——共享 950 的 config 对象,dtype 注册面与 950 完全一致;CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT 追加 ascend5162a、SUPPORT_TILING_DIR 追加 arch35(与上游 960dt/960pr 条目共存) - **add 源码编译条目**:add_kernel_sources(KERNEL_SRC arch35/add.cpp COMPUTE_UNITS ascend5162a AUTO_SYNC false)——与 950/mc62/kirin 既有条目并列 - **cast kernel 1 处**:cast_impl.h 的 VL_BIT_SIZE 由硬编码 2048 改为 static_cast<int64_t>(AscendC::VECTOR_REG_WIDTH) * B8_BITS(编译期架构常量:950=256B→2048bit 数值不变,5162A=32B→256bit) - **mul kernel 4 处**:#if __CCE_AICORE_SUPPORT_SIMT__ 特性宏隔离 double 乘法的 SIMT 线程仿真路径(mul_dag.h 的 include/定义/调用体 3 处 + mul_apt.cpp 的 double 分支入口 1 处);complex32 与 950 统一走升精度路径(MulComplex32Op),无特殊处理 - **其余零改动**:tanh/sub/log/pow/equal/real_div/fill 的 kernel/tiling、cast 的 tiling、全部 op_api 均无修改 ## 关联的Issue [[Requirement|需求建议]:add、cast、tanh、mul、real_div、sub、log、pow、equal、fill 算子适配5162A](https://gitcode.com/cann/ops-math/issues/3552) ## 测试 ## 文档更新 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6315 | 9 days ago | |
Kirin X90/9030支持Cast/Mul/Transpose/Add/ConcatD/StridedSlice算子 Co-authored-by: chenlong1<chenlong1@huawei.com> Co-authored-by: jinzy1999<jinzy@pku.edu.cn> # message auto-generated for no-merge-commit merge: !6581 merge master into master Kirin X90/9030支持Cast/Mul/Transpose/Add/ConcatD/StridedSlice算子 Created-by: chenlong1 Commit-by: chenlong1;jinzy1999 Merged-by: cann-robot Description: ## 描述 Kirin X90/9030支持Cast/Mul/Transpose/Add/ConcatD/StridedSlice算子 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3790 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6581 | 16 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 | |
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 | |
feat(5162):add/cast/tanh/mul/real_div 算子适配5162 Co-authored-by: pcmbyn<liuhaiyang42@huawei.com> # message auto-generated for no-merge-commit merge: !6315 merge master into master feat(5162):add/cast/tanh/mul/real_div 算子适配5162 Created-by: pcmbyn Commit-by: pcmbyn Merged-by: cann-robot Description: ## 描述 将 ops-math 仓 add、cast、tanh、mul、real_div、sub、log、pow、equal、fill 算子适配 Ascend5162A(DAV_5162/Modena 端侧芯片),复用 arch35 同源目录追加式完成,共 24 个文件(10 def + 10 CMakeLists + 4 个 kernel/tiling 文件改动)。 - **统一注册(10 算子)**: *_def.cpp 各追加 1 行 AddConfig("ascend5162a", aicoreConfig)——共享 950 的 config 对象,dtype 注册面与 950 完全一致;CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT 追加 ascend5162a、SUPPORT_TILING_DIR 追加 arch35(与上游 960dt/960pr 条目共存) - **add 源码编译条目**:add_kernel_sources(KERNEL_SRC arch35/add.cpp COMPUTE_UNITS ascend5162a AUTO_SYNC false)——与 950/mc62/kirin 既有条目并列 - **cast kernel 1 处**:cast_impl.h 的 VL_BIT_SIZE 由硬编码 2048 改为 static_cast<int64_t>(AscendC::VECTOR_REG_WIDTH) * B8_BITS(编译期架构常量:950=256B→2048bit 数值不变,5162A=32B→256bit) - **mul kernel 4 处**:#if __CCE_AICORE_SUPPORT_SIMT__ 特性宏隔离 double 乘法的 SIMT 线程仿真路径(mul_dag.h 的 include/定义/调用体 3 处 + mul_apt.cpp 的 double 分支入口 1 处);complex32 与 950 统一走升精度路径(MulComplex32Op),无特殊处理 - **其余零改动**:tanh/sub/log/pow/equal/real_div/fill 的 kernel/tiling、cast 的 tiling、全部 op_api 均无修改 ## 关联的Issue [[Requirement|需求建议]:add、cast、tanh、mul、real_div、sub、log、pow、equal、fill 算子适配5162A](https://gitcode.com/cann/ops-math/issues/3552) ## 测试 ## 文档更新 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6315 | 9 days ago | |
Kirin X90/9030支持Cast/Mul/Transpose/Add/ConcatD/StridedSlice算子 Co-authored-by: chenlong1<chenlong1@huawei.com> Co-authored-by: jinzy1999<jinzy@pku.edu.cn> # message auto-generated for no-merge-commit merge: !6581 merge master into master Kirin X90/9030支持Cast/Mul/Transpose/Add/ConcatD/StridedSlice算子 Created-by: chenlong1 Commit-by: chenlong1;jinzy1999 Merged-by: cann-robot Description: ## 描述 Kirin X90/9030支持Cast/Mul/Transpose/Add/ConcatD/StridedSlice算子 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3790 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6581 | 16 days ago | |
docs: add English translations for markdown files Co-authored-by: jenny_xiang<jenny.xiang@huawei.com> # message auto-generated for no-merge-commit merge: !7113 merge docs/add-english-translations into master docs: add English translations for markdown files Created-by: jenny_xiang Commit-by: jenny_xiang Merged-by: cann-robot Description: ## 描述 新增仓库Markdown文档英文译稿(第二批,共409个文件):第一批(已合入)之外的其余全部译稿,覆盖conversion、examples、ge、math、random各类算子README译稿,以及CHANGELOG_en.md、.gitcode PR模板英文版等。 本批内全部仓内链接均指向master已有文件(含第一批已合入的21+2篇译稿),合入后本仓432篇英文文档全部就位,链接完整生效。 本批同时包含4篇基于最新源文档的增量更新(math/ada_cast、math/prod_force_se_a、math/sinkhorn、math/xlogy,对应上游近期文档变更)。 ## 关联的Issue 无 ## 测试 文档类变更,无需算子测试;已通过链接有效性校验(本批全部相对链接仅指向master已有文件,无指向本PR外未提交文件的链接),并完成逐篇翻译规范自查与语义校对(含支持状态表、限定词、术语、数值符号核对)。 ## 文档更新 新增409个英文译稿文件(*_en.md / .en-US.md),不修改任何现有文件。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!7113 | 9 days ago |
Add
English | 简体中文
Product Support Status
| Product | Supported |
|---|---|
| Ascend 950PR&950DT products | √ |
| Atlas A3 products | √ |
| Atlas A2 products | √ |
| Atlas 200I/500 A2 inference products | × |
| Atlas inference products | × |
| Atlas training products | √ |
| Kirin X90 processor series products | √ |
| Kirin 9030 processor series products | √ |
Function Description
- Operator function: adds the inputs.
- Computation formula:
y=x1+x2y = x_1 + x_2 y=x1+x2
Parameter Description
| Parameter Name | Input/Output/Attribute | Description | Data Type | Data Format |
|---|---|---|---|---|
| x1 | Input | The input tensor x_1 in the formula | BOOL, INT8, INT16, INT32, INT64, UINT8, FLOAT64, FLOAT16, BFLOAT16, FLOAT32, COMPLEX128, COMPLEX64 | ND |
| x2 | Input | The input tensor x2 in the formula | Same as x1 | ND |
| y | Output | The output tensor y in the formula | Same as x1 | ND |
Constraint Description
- The STRING data type is not supported. Registering DT_STRING in the operator IR (add_proto.h) is only for compatibility with the TensorFlow Add operator. Although the graph-mode (GEIR) invocation path can pass type inference, no corresponding kernel implementation exists, and execution fails at runtime.
- COMPLEX32 is supported only by the kernel implementation of Ascend 950. Neither the aclnnAdd / aclnnInplaceAdd APIs nor the graph-mode path supports it. Use COMPLEX64 / COMPLEX128 instead.
- Kirin X90/Kirin 9030 processor series products support the INT8, UINT8, INT32, FLOAT16, and FLOAT32 data types
Invocation Description
| Invocation Method | Invocation Sample | Description |
|---|---|---|
| aclnn invocation | test_aclnn_add | Invokes the Add operator through the aclnnAdd and aclnnInplaceAdd APIs |
| Graph-mode invocation | test_geir_add | Invokes the Add operator by building a graph through the operator IR |