| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
md大模型检测低错修改 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5183 merge master into master md大模型检测低错修改 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> md大模型检测低错修改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 2466](https://gitcode.com/cann/ops-math/issues/2446) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5183 | 2 个月前 | |
perf(tanh): 移除 arch35 DAG 层冗余 Cast 节点,类型转换改由 TanhCustom内cast逻辑完成 Co-authored-by: ywx1080114<yuanbin22@huawei.com> !5250 merge perf/tanh-remove-redundant-cast into master perf(tanh): 移除 arch35 DAG 层冗余 Cast 节点,类型转换改由 TanhCustom内cast逻辑完成 Created-by: yuanbin_22 Commit-by: ywx1080114 Merged-by: cann-robot Description: ## 描述 本 PR 优化 tanh 算子在 arch35 平台上的执行性能,通过移除 DAG 层的冗余 Cast 节点,将 FP16/BF16 与 FP32 之间的类型转换从软件 Cast 节点改为由 类型转换改由 TanhCustom内cast逻辑完成,减少不必要的寄存器搬运和转换开销。 | 文件 | 变更类型 | +行 | -行 | |------|----------|-----|-----| | math/tanh/op_kernel/arch35/tanh_dag.h | 内核优化 | +3 | -7 | 原 TanhDAG 结构为: CopyIn<U> → Cast<float, U> → TanhCustom<float> → Cast<U, float> → CopyOut<U> 其中 OpCopyIn0Cast(FP16/BF16→FP32)和 OpResultCast(FP32→FP16/BF16)是两个额外的软件 Cast 节点,带来冗余的寄存器搬运开销。 优化后 TanhDAG 结构为: CopyIn<U> → TanhCustom<U> → CopyOut<U> Cast 操作被移除,类型转换由 类型转换改由 TanhCustom内cast逻辑完成,无需额外的软件 Cast 节点。 具体修改: - 移除 OpCopyIn0Cast(Cast<T, U, CAST_MODE_NONE>)节点 - 移除 OpResultCast(Cast<U, T, CAST_MODE_RINT>)节点 - TanhCustom 模板参数从 <T>(float)改为 <U>(实际 dtype),内部通过 TanhCustom内cast的逻辑完成 类型转换 - TanhDAG 模板参数从 <typename U, typename T = float> 简化为 <typename U>,移除默认 float 类型参数 关联Issue #2993 - tanh 算子 arch35 平台 FP16/BF16/FP32 各 dtype 功能验证通过,精度与优化前一致 - 性能对比:FP16/BF16 路径吞吐提升(消除冗余 Cast 开销) - CI 流水线通过(ci-pipeline-passed) 不涉及 - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5250 | 2 个月前 | |
迁移开源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 个月前 | |
perf(tanh): 移除 arch35 DAG 层冗余 Cast 节点,类型转换改由 TanhCustom内cast逻辑完成 Co-authored-by: ywx1080114<yuanbin22@huawei.com> !5250 merge perf/tanh-remove-redundant-cast into master perf(tanh): 移除 arch35 DAG 层冗余 Cast 节点,类型转换改由 TanhCustom内cast逻辑完成 Created-by: yuanbin_22 Commit-by: ywx1080114 Merged-by: cann-robot Description: ## 描述 本 PR 优化 tanh 算子在 arch35 平台上的执行性能,通过移除 DAG 层的冗余 Cast 节点,将 FP16/BF16 与 FP32 之间的类型转换从软件 Cast 节点改为由 类型转换改由 TanhCustom内cast逻辑完成,减少不必要的寄存器搬运和转换开销。 | 文件 | 变更类型 | +行 | -行 | |------|----------|-----|-----| | math/tanh/op_kernel/arch35/tanh_dag.h | 内核优化 | +3 | -7 | 原 TanhDAG 结构为: CopyIn<U> → Cast<float, U> → TanhCustom<float> → Cast<U, float> → CopyOut<U> 其中 OpCopyIn0Cast(FP16/BF16→FP32)和 OpResultCast(FP32→FP16/BF16)是两个额外的软件 Cast 节点,带来冗余的寄存器搬运开销。 优化后 TanhDAG 结构为: CopyIn<U> → TanhCustom<U> → CopyOut<U> Cast 操作被移除,类型转换由 类型转换改由 TanhCustom内cast逻辑完成,无需额外的软件 Cast 节点。 具体修改: - 移除 OpCopyIn0Cast(Cast<T, U, CAST_MODE_NONE>)节点 - 移除 OpResultCast(Cast<U, T, CAST_MODE_RINT>)节点 - TanhCustom 模板参数从 <T>(float)改为 <U>(实际 dtype),内部通过 TanhCustom内cast的逻辑完成 类型转换 - TanhDAG 模板参数从 <typename U, typename T = float> 简化为 <typename U>,移除默认 float 类型参数 关联Issue #2993 - tanh 算子 arch35 平台 FP16/BF16/FP32 各 dtype 功能验证通过,精度与优化前一致 - 性能对比:FP16/BF16 路径吞吐提升(消除冗余 Cast 开销) - CI 流水线通过(ci-pipeline-passed) 不涉及 - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5250 | 2 个月前 | |
支持neg等单目运算算子下一代kernel实现 Co-authored-by: 张磊<zhanglei121@huawei.com> # message auto-generated for no-merge-commit merge: !494 merge master into master 支持neg等单目运算算子下一代kernel实现 Created-by: zl_hw Commit-by: 张磊 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!494 | 10 个月前 | |
针对math仓部分算子错误日志进行统一整改 Co-authored-by: qq_52874943<gaomingyuan3@h-partners.com> # message auto-generated for no-merge-commit merge: !5067 merge master into master 针对math仓部分算子错误日志进行统一整改 Created-by: qq_52874943 Commit-by: qq_52874943 Merged-by: cann-robot Description: ## 描述 本 PR 针对 math 仓部分算子的日志进行统一整改,核心是规范错误日志输出(在失败日志中补充 dtype、tilingKey 等关键信息)、清理冗余的调试日志(OP_LOGD),并统一相关 tiling 与 aclnn 接口文件的代码格式与错误提示标点。涉及 logical_not、masked_scale、neg、reciprocal、round、rsqrt、rsqrt_grad 等算子的 arch35 tiling 实现及 aclnn_round.cpp 接口,不涉及业务逻辑变更。 ## 关联的Issue 关联Issue[#2853](https://gitcode.com/cann/ops-math/issues/2853) ## 测试 本地已完成新精度对比与性能测试,通过静态检查、蓝区冒烟、算子ST以及算子二级冒烟。 ## 文档更新 修正文档中算子命名不规范问题,打开Ascend950支持选项。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5067 | 2 个月前 | |
refactor: arch35 算子 Regbase Reg 层旧接口替换为新接口 Co-authored-by: ywx1080114<yuanbin22@huawei.com> # message auto-generated for no-merge-commit merge: !4527 merge fix/api-rename-regbase into master refactor: arch35 算子 Regbase Reg 层旧接口替换为新接口 Created-by: yuanbin_22 Commit-by: ywx1080114 Merged-by: cann-robot Description: ## 描述 将 ops-math 仓库中 19 个算子的 arch35 regbase kernel 实现从 Reg 层旧接口替换为新接口,同时将地址空间限定符 __local_mem__ 统一替换为 __ubuf__,使代码与 AscendC SDK 最新命名规范保持一致。 ### 改动原因 AscendC SDK 新版本对 Reg 层 API 进行了重命名,旧 API(如 Reg::DataCopy、Reg::CompareScalar、Reg::MaskAnd、Reg::MaskOr、Reg::MaskPack、Reg::FusedAbsSub、Reg::FusedMulDstAdd 等)将逐步废弃。本 PR 同步更新仓库中 arch35 regbase 算子 kernel 的接口调用,避免使用将废弃的 API。 ### 改动方法 对 22 个 arch35 regbase kernel 头文件进行批量接口替换,涉及 19 个 math 算子: add_n(2 个文件:add_n_regbase.h、add_n_regbase_fullload.h)、assign_add、assign_sub、cast(cast_impl.h)、ceil、exp、floor(3 个文件:floor_bf16.h、floor_f16.h、floor_f32.h)、is_close(is_close_dag.h)、log、log1p、nan_to_num、neg、reciprocal、round、rsqrt、rsqrt_grad、sign(sign.h)、tanh、trunc 接口替换映射如下: | 旧接口 | 新接口 | 说明 | |--------|--------|------| | Reg::DataCopy(reg, addr) | Reg::LoadAlign(reg, addr) | UB→Reg 加载 | | Reg::DataCopy(addr, reg) | Reg::StoreAlign(addr, reg) | Reg→UB 存储 | | Reg::DataCopy<T, LoadDist/StoreDist> | Reg::LoadAlign/StoreAlign<T, Dist> | 带 Dist 模板参数 | | Reg::DataCopy<T, PostLiteral, Dist> | Reg::LoadAlign/StoreAlign<T, PostLiteral, Dist> | 带 PostLiteral | | Reg::CompareScalar | Reg::Compares | 标量比较 | | CompareScalar(无命名空间) | Compares | 标量比较 | | Reg::MaskAnd | Reg::And | 掩码与运算 | | Reg::MaskOr | Reg::Or | 掩码或运算 | | Reg::MaskPack | Reg::Pack | 掩码打包 | | Reg::FusedAbsSub | Reg::AbsSub | 融合绝对差 | | Reg::FusedMulDstAdd | Reg::MulDstAdd | 融合乘加 | | __local_mem__ | __ubuf__ | 地址空间限定符(涉及 floor、is_close 算子) | > 注:上述替换同时覆盖带 AscendC:: 前缀和不带前缀两种调用形式。替换为纯命名变更,不涉及计算逻辑修改,部分接口替换伴随行格式重排(缩进调整)。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2585 ## 测试 接口替换为纯命名变更,不涉及计算逻辑修改,通过编译验证和已有 ST/UT 用例回归验证。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:接口重命名,代码规范对齐 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-math!4527 | 2 个月前 | |
feat: migrate math+conversion json ops to opdef pipeline Co-authored-by: zhaowenrui666<zhaowenrui7@huawei.com> # message auto-generated for no-merge-commit merge: !2130 merge mathdef into master feat: migrate math+conversion json ops to opdef pipeline Created-by: zhaowenrui666 Commit-by: zhaowenrui666 Merged-by: cann-robot Description: ## 描述 math仓aicpu算子信息库由json融合修改为op def文件,修改注册方式以及工程适配 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/1271 ## 测试 本次按 ENABLE_CUSTOM=ON 的 custom 路径验收,已验证 OpDef -> libaicpu_ops.so -> op_build --aicpu -> aicpu_kernel.ini -> parser_ini.py -> cust_aicpu_kernel.json 链路跑通,相关产物已生成并校验通过。AICPU before/after 与 I/O 对比已按新规则重评:input/output -> input0/output0 视为规范化差异;RightShift、SearchSorted、Sinh 在整改前 JSON 缺 I/O,但已对齐 CANN 基线 aicpu_kernel.ini,不判缺失;AddN: input0 -> dynamic_input0 和 AddFake -> Add 也已确认接受,不作为阻塞项。 AICore 回归已补做,before/after 经 parser_ini.py 转 json 后无差异。综合结论:本提交满足当前 OpDef 整改验收标准,可通过。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2130 | 6 个月前 | |
feat: Add aclnn st cases and golden functions Co-authored-by: yanzhi2024<yanzhi@huawei.com> # message auto-generated for no-merge-commit merge: !5200 merge master into master feat: Add aclnn st cases and golden functions Created-by: yanzhi2024 Commit-by: yanzhi2024 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 添加蓝区aclnn用例和golden函数 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-nn/issues/5325 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 不涉及 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5200 | 2 个月前 | |
math算子目录与代码中误用的arch32统一改为arch22 Co-authored-by: clinglai0517<laichangling@huawei.com> # message auto-generated for no-merge-commit merge: !4873 merge arch32-fix-math into master math算子目录与代码中误用的arch32统一改为arch22 Created-by: clinglai0517 Commit-by: clinglai0517 Merged-by: cann-robot Description: ## 描述 将math目录下误用arch32的算子目录、文件名及代码引用统一修正为 arch22(与cdist_grad、segsum等算子的arch22约定保持一致): 1. 目录重命名(6处): - math/bessel_i1e/op_host/arch32 -> arch22 - math/is_finite/op_host/arch32 -> arch22 - math/histogram_v2/tests/ut/op_host/arch32 -> arch22 2. 文件重命名(3个):bessel_i1e_tiling_arch32.cpp、 is_finite_tiling_arch32.h/.cpp -> 对应arch22文件名 3. 内容替换(42个文件): - 约30个算子的CMakeLists.txt中SUPPORT_TILING_DIR的"arch32" -> "arch22" - include路径、is_finite的结构体/函数名/include guard - 相关注释 4. 同步更新classify_rule.yaml中4处math路径条目。 【影响范围】 - 涉及算子:bessel_i1e、is_finite、 histogram_v2,以及CMakeLists中引用arch32的约30个math算子 - 仅改动命名与引用,未修改任何算子逻辑 - 纯重命名,git可完整追踪(16个文件100%相似度重命名) ## 关联的Issue Issue #2749 ## 测试 - 算子编译及ut通过 - math目录下rg检索arch32(含Arch32/ARCH32)无残留 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 See merge request: cann/ops-math!4873 | 2 个月前 | |
md大模型检测低错修改 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5183 merge master into master md大模型检测低错修改 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> md大模型检测低错修改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 2466](https://gitcode.com/cann/ops-math/issues/2446) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5183 | 2 个月前 |
Neg
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | √ |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |
功能说明
-
算子功能:对输入的每个元素完成相反数计算。
-
计算公式:
outputi=(−1)∗selfi output_i = (-1) * self_i outputi=(−1)∗selfi
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x | 输入 | 公式中的输出张量self。 | BFLOAT16、FLOAT16、FLOAT、DOUBLE、INT32、INT8、INT64、COMPLEX64、COMPLEX128 | ND |
| y | 输出 | 取反输出,公式中的输出张量output。 | BFLOAT16、FLOAT16、FLOAT、DOUBLE、INT32、INT8、INT64、COMPLEX64、COMPLEX128 | ND |
约束说明
无
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| aclnn调用 | test_aclnn_neg | 通过aclnnNeg接口方式调用Neg算子。 |
| 图模式调用 | test_geir_neg | 通过算子IR构图方式调用Neg算子。 |