| 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 | 16 days ago | |
refactor: 迁移 arch35 算子 Reg API、修正拼写并规范化日志文案 Co-authored-by: esok11<yangsifa@huawei.com> # message auto-generated for no-merge-commit merge: !5135 merge f082601 into master refactor: 迁移 arch35 算子 Reg API、修正拼写并规范化日志文案 Created-by: esok11 Commit-by: esok11 Merged-by: cann-robot Description: ## 描述 对 arch35 架构下多个算子进行 AscendC Reg API 迁移、命名拼写修正及日志文案规范化,共 46 个文件,涉及 conversion/ 与 math/ 下 15 个算子。 主要改动: - AscendC Reg API 迁移(arch35 kernel 代码,21 个 .h 文件): - 地址空间修饰符: __local_mem__ → __ubuf__ - Reg 数据搬运 API 细化:加载用 AscendC::Reg::LoadAlign(原 Reg::DataCopy 加载语义),存储用 AscendC::Reg::StoreAlign(原 Reg::DataCopy 存储语义) - 掩码操作 API 重命名:AscendC::Reg::MaskNot → AscendC::Reg::Not、AscendC::Reg::MaskAnd → AscendC::Reg::And - 移除冗余 using AscendC::Reg::DataCopy; 声明 - 命名拼写修正(op_host/arch35,3 个文件): - 方法名 TilingForReleatedTranspose → TilingForRelatedTranspose(Releated→Related) - 成员变量 isReleatedTranspsoe_ → isRelatedTranspose_(Releated→Related, Transpsoe→Transpose) - 同步修改 confusion_transpose_d、depth_to_space 中对该方法的调用 - 日志清理(examples、op_host、op_api,22 个文件): - 失败路径日志级别 INFO → ERROR(Initialize ge failed、Run graph failed、Finalize ir graph session failed 等) - 文案语法修正:only support → only supports、is: %s and %s → are: %s and %s、expect %f → expected %f、multiples's → multiples' - tile 示例代码宏定义缩进格式化 ### 改动原因 配合 AscendC Reg API 演进,将 arch35 算子迁移至新的地址空间修饰符与 LoadAlign/StoreAlign/Not/And API;修正 transpose 相关命名中的拼写错误;统一日志级别与文案规范,提升日志可读性与问题定位效率。 ### 改动方法 - kernel 侧:逐文件替换 __local_mem__→__ubuf__、Reg::DataCopy(加载)→Reg::LoadAlign、Reg::DataCopy(存储)→Reg::StoreAlign、Reg::MaskNot→Reg::Not、Reg::MaskAnd→Reg::And,不改变控制流。 - host 侧:重命名 TilingForReleatedTranspose→TilingForRelatedTranspose、isReleatedTranspsoe_→isRelatedTranspose_,同步所有调用点。 - 日志:修改 printf/OP_LOGE/OP_LOGW/OP_LOGI 文案与级别字符串,不改变校验逻辑。 ## 关联的Issue - #2916 ## 测试 本 PR 为 API 迁移、命名修正与日志清理,通过已有测试用例(含 arch35 tiling UT 与 examples 二级冒烟)回归验证。 ## 文档更新 本 PR 未包含文档更新。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述:AscendC Reg API 迁移 + 命名拼写修正 + 日志规范化 See merge request: cann/ops-math!5135 | 2 months 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 | |
refactor: 为公共op_api头文件增加math后缀 Co-authored-by: clinglai0517<laichangling@huawei.com> # message auto-generated for no-merge-commit merge: !5839 merge refactor/math-prefix-common-headers into master refactor: 为公共op_api头文件增加math后缀 Created-by: clinglai0517 Commit-by: clinglai0517 Merged-by: cann-robot Description: ## 描述 ops-math/common/inc/op_api 中的 level2_base.h、level2_base_caculation.h、op_api_def.h 名称缺少仓库标识。在软件包合并交付或公共 include 目录集成时,存在被其他仓库同名文件覆盖,或因 include 路径顺序产生误引用的风险。 本 MR 参考同目录已有的 op_resource_math.h 命名,为三个公共头文件增加 _math 后缀,并通过兼容转发头分阶段迁移现有引用。 ## 修改内容 - 新增 level2_base_math.h、level2_base_caculation_math.h、op_api_def_math.h,作为带仓库标识的正式实现; - 原 level2_base.h、level2_base_caculation.h、op_api_def.h 保留为轻量兼容转发头,避免未迁移代码立即失效; - 新头文件之间的内部依赖统一使用 _math 后缀路径; - 更新 classify_rule.yaml,让 level2_base_math.h 继承原组件及 UT 覆盖率分类; - 将 89 处旧头文件引用迁移到新名称: - level2_base.h:20 处; - level2_base_caculation.h:9 处; - op_api_def.h:60 处; - 当前 MR 共修改 81 个文件,新增 434 行、删除 384 行。 为减少无关格式变化和后续合并冲突,本次未迁移会触发额外 clang-format、尾部空白或 EOF 修复,或组合触发既有 UT 隔离问题的文件。这些文件将拆分到后续 MR 逐步处理。 ## 剩余迁移 当前仓内仍有 67 处旧引用,分布在 65 个唯一文件中,继续通过兼容转发头工作: - level2_base.h:24 个文件; - level2_base_caculation.h:2 个文件; - op_api_def.h:41 个文件。 待旧引用分批迁移完成后,再结合实际打包和安装规则移除兼容转发头。本 MR 不移除旧头文件,也不声明已完成最终软件包去重。 ## 关联的 Issue 关联并在合入后关闭 #3243: https://gitcode.com/cann/ops-math/issues/3243 ## 测试 已完成: - 对本轮新增的 69 个纯引用替换文件逐行检查,80 组增删均仅修改目标 include,无其他代码或格式变化; - 额外纳入 aclnn_log10.cpp 和 aclnn_logdet.cpp,每个文件最终均为 3 行新增、3 行删除,低于 10 行修改阈值;math/sin/op_api/aclnn_sin.cpp 因聚合 UT 存在平台状态泄漏暂缓迁移; - 在 CANN 9.0.0 容器执行完整 pre-commit,尾部空白、EOF、clang-format、codespell 和 OAT 等检查全部通过; - 在 CANN 9.0.0 容器执行 bash build.sh --opapi -j32,全量构建通过; - 成功生成 build/libopapi_math.so,SHA-256:abaa8f8408979d931a8dad09f8e06875722fc42bbdddc72aaf9f14944bc163ea; - classify_rule.yaml 可正常解析,三个旧文件继续作为兼容转发头使用。 ## 文档更新 不涉及用户文档变更。 ## 类型标签 - [ ] Bug 修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他:代码重构 See merge request: cann/ops-math!5839 | 1 month ago | |
FIx the null-check macros for the five operators Co-authored-by: yangjinhan<yangjinhan@huawei.com> # message auto-generated for no-merge-commit merge: !4561 merge fix-add-null-check-macro into master FIx the null-check macros for the five operators Created-by: Ruyue1550 Commit-by: yangjinhan Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 补全5个算子(MatrixSetDiagV2、Erfc、GetShape、HistogramFixedWidth、TileWithAxis)的判空宏 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4561 | 3 months ago | |
[ascend960dt/ascend960pr] conversion/math类9个算子新增ascend960dt/ascend960pr平台支持 Co-authored-by: yangjinwen<yangjinwen2@huawei.com> # message auto-generated for no-merge-commit merge: !5778 merge dev-v121 into master [ascend960dt/ascend960pr] conversion/math类9个算子新增ascend960dt/ascend960pr平台支持 Created-by: yangjinwen Commit-by: yangjinwen Merged-by: cann-robot Description: ## 描述 conversion 类 7 个算子(batch_to_space_nd、concat、concat_d、concat_v2、depth_to_space、pack、space_to_depth)与 math 类 2 个算子(erfc、rint)新增 ascend960dt / ascend960pr 平台支持,复用 arch35 tiling 框架,主要改动: - 平台注册:9 个算子 CMakeLists.txt 的 COMPUTE_UNIT/SUPPORT_COMPUTE_UNIT 新增 ascend960dt、ascend960pr(TILING_DIR 复用 arch35),op_host/*_def.cpp 新增对应 this->AICore().AddConfig(...) 注册; - 预编译 binary 接入:batch_to_space_nd、concat_d、depth_to_space、pack、space_to_depth、rint 新增 op_host/config/ascend960dt/、op_host/config/ascend960pr/ 下的 *_binary.json 与 *_simplified_key.ini;concat_v2 为 HOSTCPU 算子(依赖 concat),无独立 binary;erfc 的 kernel 源码(arch35/erfc.cpp)通过 add_kernel_sources 的 COMPUTE_UNITS 纳入新平台编译; - concat 的 arch35 tiling/kernel 适配 DAV_9201 架构(仅 9201 生效,不影响既有平台路径): - tiling 侧:DAV_9201 平台 ubFactorDim0 按两倍 BLOCK(64B)对齐修正;新增 dtypeSize 提升优化(末轴字节满足 128/64/32/16B 对齐时提升 dtypeSize,减少搬运次数),并注册 bitwidth=16 系列 tilingKey(12116/12126/21116/21216/30016 等); - kernel 侧:__NPU_ARCH__ == 9201 下 DataCopyPad 使用带 enAtomicSync 参数的接口分支。 ## 关联的Issue #3222 https://gitcode.com/cann/ops-math/issues/3222 ## 测试 平台注册与预编译 binary 接入部分不涉及既有 kernel 逻辑修改;concat 为 DAV_9201 架构适配新增专属分支,既有平台路径不变;可通过 PR 评论 compile 触发 CI 编译流水线验证。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5778 | 28 days ago | |
Erfc算子支持AscendC实现 Co-authored-by: yangjinwen<yangjinwen2@huawei.com> # message auto-generated for no-merge-commit merge: !3937 merge dev-erfc into master Erfc算子支持AscendC实现 Created-by: yangjinwen Commit-by: yangjinwen Merged-by: cann-robot Description: ## 描述 Erfc算子支持AscendC实现 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2275 ## 测试 ST和冒烟测试 ## 文档更新 docs/zh/op_list.md docs/zh/op_api_list.md math/erfc/README.md math/erfc/docs/aclnnErfc&aclnnInplaceErfc.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3937 | 3 months ago | |
test: 18 算子 golden 新增 TestSpec 双注册与 third_party Co-authored-by: Xbying<2119046648@qq.com> # message auto-generated for no-merge-commit merge: !5789 merge 14 into master test: 18 算子 golden 新增 TestSpec 双注册与 third_party Created-by: 2301_81474000 Commit-by: Xbying Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - 16 个算子 golden 新增 __spec__(保留旧 __golden__,单一代码源双入口):Pad、PadV2、PadV3、MirrorPad、CircularPadGrad、PadV3GradReplication、DepthToSpace、SpaceToDepth、BatchToSpaceND、MatrixSetDiagV2、Sinc、TruncateDiv、TruncateMod、Erfc、Expand、Tile/TileD - 新建 2 个 golden:ReflectionPad3dGrad、Rint - 全部补 third_party 竞品实现(F.pad / aten backward / np.pad / torch.tile / torch.round 等),视图类输出加 .contiguous() - 顺带修复 4 处原 golden 缺陷(depth_to_space 死链与未定义名、pad_v2 0 维标量越界、pad_v3_grad_replication 部分维 pad、ruff E712/F841) - 全部经 TTK loader 双入口解析与 third_party↔golden 数值互验(BatchToSpaceND 因 golden 依赖 TF 仅做解析验证) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3226 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5789 | 1 month ago | |
[ascend960dt/ascend960pr] conversion/math类9个算子新增ascend960dt/ascend960pr平台支持 Co-authored-by: yangjinwen<yangjinwen2@huawei.com> # message auto-generated for no-merge-commit merge: !5778 merge dev-v121 into master [ascend960dt/ascend960pr] conversion/math类9个算子新增ascend960dt/ascend960pr平台支持 Created-by: yangjinwen Commit-by: yangjinwen Merged-by: cann-robot Description: ## 描述 conversion 类 7 个算子(batch_to_space_nd、concat、concat_d、concat_v2、depth_to_space、pack、space_to_depth)与 math 类 2 个算子(erfc、rint)新增 ascend960dt / ascend960pr 平台支持,复用 arch35 tiling 框架,主要改动: - 平台注册:9 个算子 CMakeLists.txt 的 COMPUTE_UNIT/SUPPORT_COMPUTE_UNIT 新增 ascend960dt、ascend960pr(TILING_DIR 复用 arch35),op_host/*_def.cpp 新增对应 this->AICore().AddConfig(...) 注册; - 预编译 binary 接入:batch_to_space_nd、concat_d、depth_to_space、pack、space_to_depth、rint 新增 op_host/config/ascend960dt/、op_host/config/ascend960pr/ 下的 *_binary.json 与 *_simplified_key.ini;concat_v2 为 HOSTCPU 算子(依赖 concat),无独立 binary;erfc 的 kernel 源码(arch35/erfc.cpp)通过 add_kernel_sources 的 COMPUTE_UNITS 纳入新平台编译; - concat 的 arch35 tiling/kernel 适配 DAV_9201 架构(仅 9201 生效,不影响既有平台路径): - tiling 侧:DAV_9201 平台 ubFactorDim0 按两倍 BLOCK(64B)对齐修正;新增 dtypeSize 提升优化(末轴字节满足 128/64/32/16B 对齐时提升 dtypeSize,减少搬运次数),并注册 bitwidth=16 系列 tilingKey(12116/12126/21116/21216/30016 等); - kernel 侧:__NPU_ARCH__ == 9201 下 DataCopyPad 使用带 enAtomicSync 参数的接口分支。 ## 关联的Issue #3222 https://gitcode.com/cann/ops-math/issues/3222 ## 测试 平台注册与预编译 binary 接入部分不涉及既有 kernel 逻辑修改;concat 为 DAV_9201 架构适配新增专属分支,既有平台路径不变;可通过 PR 评论 compile 触发 CI 编译流水线验证。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5778 | 28 days ago | |
产品名变更 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5912 merge master into master 产品名变更 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5912 | 1 month 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 | 8 days ago |
Erfc
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 | √ |
Function Description
-
Operator function: returns the value of the complementary error function for each element in the input Tensor.
-
Computation formula:
y=erfc(x)=1−2π∫0xe−t2dty=erfc(x)=1-\frac{2}{\sqrt{\pi } } \int_{0}^{x} e^{-t^{2} } \mathrm{d}t y=erfc(x)=1−π2∫0xe−t2dt
Parameter Description
| Parameter Name | Input/Output/Attribute | Description | Data Type | Data Format |
|---|---|---|---|---|
| x | Input | Input parameter for the erfc computation, which is x in the formula. | BFLOAT16, FLOAT16, FLOAT | ND |
| y | Output | Output parameter for the erfc computation, which is y in the formula. | BFLOAT16, FLOAT16, FLOAT | ND |
- Atlas A2 products, Atlas inference products, and Atlas training products: the BFLOAT16 data type is not supported.
Constraint Description
None
Invocation Description
| Invocation Method | Invocation Sample | Description |
|---|---|---|
| aclnn invocation | test_aclnn_erfc | Invokes the Erfc operator through the aclnnErfc API. |
| Graph mode | test_geir_erfc | Invokes the Erfc operator by building a graph through the operator IR. |