| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
docs: fix inplace divs parameter constraints Co-authored-by: zhang-song-rui<zhangsongrui@h-partners.com> # message auto-generated for no-merge-commit merge: !3493 merge docs-fix-inplace-divs-param-desc-9.1.0 into 9.1.0 docs: fix inplace divs parameter constraints Created-by: zhang-song-rui Commit-by: zhang-song-rui Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 将 inplace 接口小节中的 self/out 约束表述统一修正为 selfRef ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/2026 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3493 | 1 个月前 | |
[feat]Add two aicpu op ReduceAll and Div Co-authored-by: FengHaozhan<fenghaozhan@huawei.com> # message auto-generated for no-merge-commit merge: !2750 merge ReduceAll-Div into master [feat]Add two aicpu op ReduceAll and Div Created-by: FengHaozhan Commit-by: FengHaozhan Merged-by: cann-robot Description: ## 描述 新增 Div 和 ReduceAll 两个 AICPU 算子实现,补充对应的算子定义、AICPU kernel、GE IR 图模式样例以及单元测试。 同步更新 Div、ReduceAll 的 README 和中文算子列表,补充 AI CPU 支持信息与图模式调用说明。 ## 关联的Issue #1566 ## 测试 基于本次代码变更,建议重点验证以下场景: 1. 单元测试 - 验证新增 Div AICPU UT,覆盖基础除法、广播、整型边界等场景。 - 验证新增 ReduceAll AICPU UT,覆盖逻辑归约行为。 2. 功能验证 - 编译并运行 Div 的 GE IR 图模式样例,确认图模式调用链路可用。 - 编译并运行 ReduceAll 的 GE IR 图模式样例,确认图模式调用链路可用。 3. 构建与文档验证 - 验证新增 AICPU 实现、样例和测试代码可参与构建。 - 检查 README 与 docs/zh/op_list.md 的入口和支持信息是否一致。 ## 文档更新 更新了 Div、ReduceAll 的 README,并在 docs/zh/op_list.md 中补充相关算子的 AI CPU 支持说明。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2750 | 2 个月前 | |
修复truancate_div在pytorch调用时产生的coredump Co-authored-by: yefeicoding<yefei25@huawei.com> # message auto-generated for no-merge-commit merge: !3877 merge cherry-pick-mr-3869-1783418641844-auto into 9.1.0 修复truancate_div在pytorch调用时产生的coredump Created-by: yefeicoding Commit-by: yefeicoding Merged-by: cann-robot Description: ## 描述 在tiling里面通过getconstdata方法获取scalar的值,从torch侧传入的tensor无法获取。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2169 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3877 | 1 个月前 | |
math仓算子代码整改 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !881 merge math_op_back_1 into master math仓算子代码整改 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 math仓算子代码整改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!881 | 6 个月前 | |
refactor: 消除 math 算子重复头文件依赖,统一引用 base 仓 Co-authored-by: tianqiguang<tianqiguang@huawei.com> # message auto-generated for no-merge-commit merge: !2969 merge feature/conversion-dedup into master refactor: 消除 math 算子重复头文件依赖,统一引用 base 仓 Created-by: tianqiguang Commit-by: tianqiguang Merged-by: cann-robot Description: ## 描述 消除 math 目录下 60+ 个算子的重复头文件依赖,将 tiling 基类和模板注册引用统一到 base 仓。 ### 改动原因 math 目录下各算子各自直接 #include tiling_base.h 和 tiling_templates_registry.h,且通过 using namespace Ops::Math::OpTiling 引入全局命名空间: - tiling_base.h 中 TilingBaseClass 已在 base 仓提取为 tiling_base_class.h - tiling_templates_registry.h 中 math 专用注册宏已拆分到 math_tiling_templates_registry.h - using namespace 引入全局命名空间会导致符号冲突风险 ### 改动方法 1. 修正 math_tiling_templates_registry.h 中文件注释和拼写错误 2. 批量更新 math 算子文件的 #include: - tiling_base.h → tiling_base_class.h - tiling_templates_registry.h → math_tiling_templates_registry.h 3. 移除 using namespace Ops::Math::OpTiling,改用显式命名空间: - TilingBaseClass → Ops::Base::TilingBaseClass - TilingRegistry::GetInstance() → Ops::Math::OpTiling::TilingRegistry::GetInstance() ## 关联的Issue - #1682 ## 测试 - 涉及的 math 算子二级冒烟测试已通过 ## 文档更新 无文档变更 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码重构,消除重复头文件依赖 See merge request: cann/ops-math!2969 | 2 个月前 | |
支持Div算子在下一代实现 Co-authored-by: yuhwang<wangyuhang70@huawei.com> # message auto-generated for no-merge-commit merge: !654 merge master into master 支持Div算子在下一代实现 Created-by: yuhwang Commit-by: yuhwang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!654 | 7 个月前 | |
fix(aicpu): correct op def config for math ops Co-authored-by: zhaowenrui666<zhaowenrui7@huawei.com> # message auto-generated for no-merge-commit merge: !2876 merge opdeffix into master fix(aicpu): correct op def config for math ops Created-by: zhaowenrui666 Commit-by: zhaowenrui666 Merged-by: cann-robot Description: ## 描述 修正一批 math 仓 AICPU 算子的 op def 配置信息错误。 本次修改主要覆盖 opsFlag、subTypeOfInferShape、formatAgnostic 等配置项;其中与默认配置一致的场景,优先回收为默认值,减少冗余显式配置。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/1633 ## 测试 完成静态检查与配置项比对,确认相关算子的 def 配置修改后符合预期。 ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2876 | 2 个月前 | |
[bugfix] Align A5 div scalar TrueDiv reciprocal and FloorDiv compute dtype with PyTorch CUDA Co-authored-by: wangqi_ai<wangqi195@hisilicon.com> # message auto-generated for no-merge-commit merge: !3531 merge div_bug_fix_9.1.0 into 9.1.0 [bugfix] Align A5 div scalar TrueDiv reciprocal and FloorDiv compute dtype with PyTorch CUDA Created-by: wangqi_ai Commit-by: wangqi_ai Merged-by: cann-robot Description: ## 描述 对齐 A5(Ascend950 / DAV_3510 / RegBase)上 div 标量路径与 PyTorch CUDA 的计算口径,含两处修复: 1. TrueDiv 标量计算口径与倒数: - fp16/bf16 self 经 PromoteLowPrecToFloat 提升到 float 再计算,标量不被提前降精。 该提升同时覆盖 aclnnDivs 与 aclnnDivMods mode=0(trueDiv 入口)。 - aclnnDivs 命中 CanUseMuls 倒数乘快路时,原实现 1.0f / other->ToFloat() 先把标量 舍到 float 再取倒数;CUDA BinaryDivTrueKernel 在 cpu-scalar 分支以 high_prec(double) 取倒数再单次舍入到 float。改为 static_cast<float>(1.0 / other->ToDouble()),口径一致。 注: 该倒数乘快路仅存在于 aclnnDivs;aclnnDivMods mode=0 走 RealDiv,无倒数乘。 2. FloorDiv 计算 dtype(aclnnDivMods / aclnnInplaceDivMods mode=2): 原实现对 fp16/bf16 self 推导出的 promoteType 仍为 fp16/bf16,使标量除数被 ConvertToTensor 提前压到低精度;CUDA 在 accscalar_t(half/bf16→float)下计算 floor div 并以 float 精度读取标量。将 PromoteLowPrecToFloat 的提升从仅 MODE_REAL_DIV 扩展到同时覆盖 MODE_FLOOR_DIV,使 fp16/bf16 self + 标量在 float 下 计算、标量保留精度,输出 dtype 不变(末尾 Cast 回 out)。 两处改动均隔离在 RegBase(IsRegBase 门禁)分支内;对整型/bool/complex 为 no-op (PromoteLowPrecToFloat 幂等);A2/A3 非 RegBase 及 trunc 推导均不受影响。 ## 回合说明 本 PR 为 PR #3342(master 分支已合入)在 9.1.0 分支的 cherry-pick 回合。 ## 关联的Issue - #2042 - 原始 Issue: #2002 - 原始 PR: #3342 ## 测试 新增 Ascend950 平台 UT(math/div/tests/ut/op_api/test_aclnn_div.cpp): - TrueDiv: fp16/bf16/fp32 self + float/double 标量的 aclnnDivs 倒数乘路径,aclnnDivMods mode=0 的 RealDiv 路径,及 inplace 委派路径。 - FloorDiv: fp16/bf16 self + float/double 标量经 aclnnDivMods mode=2 的路径,及 inplace 委派路径。 opapi UT 全量 43/43 通过。数值逐位对齐由真机精度用例覆盖。 ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3531 | 1 个月前 | |
feat: 新增truncate_div A5 实现 Co-authored-by: ly_cann_coder<liyao152@huawei.com> Co-authored-by: focusforce<gongquanchao@huawei.com> Co-authored-by: yefeicoding<yefei25@huawei.com> # message auto-generated for no-merge-commit merge: !2798 merge truncate_div into master feat: 新增truncate_div A5 实现 Created-by: yefeicoding Commit-by: yefeicoding;ly_cann_coder;focusforce Merged-by: cann-robot Description: ## 描述 新增truncate_div A5 实现 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/1740 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2798 | 2 个月前 | |
[feat]Add two aicpu op ReduceAll and Div Co-authored-by: FengHaozhan<fenghaozhan@huawei.com> # message auto-generated for no-merge-commit merge: !2750 merge ReduceAll-Div into master [feat]Add two aicpu op ReduceAll and Div Created-by: FengHaozhan Commit-by: FengHaozhan Merged-by: cann-robot Description: ## 描述 新增 Div 和 ReduceAll 两个 AICPU 算子实现,补充对应的算子定义、AICPU kernel、GE IR 图模式样例以及单元测试。 同步更新 Div、ReduceAll 的 README 和中文算子列表,补充 AI CPU 支持信息与图模式调用说明。 ## 关联的Issue #1566 ## 测试 基于本次代码变更,建议重点验证以下场景: 1. 单元测试 - 验证新增 Div AICPU UT,覆盖基础除法、广播、整型边界等场景。 - 验证新增 ReduceAll AICPU UT,覆盖逻辑归约行为。 2. 功能验证 - 编译并运行 Div 的 GE IR 图模式样例,确认图模式调用链路可用。 - 编译并运行 ReduceAll 的 GE IR 图模式样例,确认图模式调用链路可用。 3. 构建与文档验证 - 验证新增 AICPU 实现、样例和测试代码可参与构建。 - 检查 README 与 docs/zh/op_list.md 的入口和支持信息是否一致。 ## 文档更新 更新了 Div、ReduceAll 的 README,并在 docs/zh/op_list.md 中补充相关算子的 AI CPU 支持说明。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2750 | 2 个月前 |
Div
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | √ |
| Atlas 推理系列产品 | × |
| Atlas 训练系列产品 | √ |
功能说明
-
接口功能:完成除法计算
-
计算公式:
outi=inputiotheriout_i = \frac{input_i}{other_i} outi=otheriinputi
-
例外说明:当涉及Complex运算时,且分母的模为0时,仍然采用通用的复数计算公式,不做特殊处理,此处表现和CPU/GPU存在差异。
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x1 | 输入 | 公式中的input。 | BFLOAT16、FLOAT16、FLOAT、INT32、UINT8、INT8、COMPLEX32、COMPLEX64 | ND |
| x2 | 输入 | 公式中的other。 | BFLOAT16、FLOAT16、FLOAT、INT32、UINT8、INT8、COMPLEX32、COMPLEX64 | - |
| y | 输出 | 公式中的out。 | BFLOAT16、FLOAT16、FLOAT、INT32、UINT8、INT8、COMPLEX32、COMPLEX64 | ND |
约束说明
无
调用说明
| 调用方式 | 样例代码 | 说明 |
|---|---|---|
| aclnn接口 | test_aclnn_div | 通过AclnnDiv接口方式调用Div算子。 |
| 图模式调用 | test_geir_div | 通过算子IR构图方式调用Div算子。 |