| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
删除查看源码冗余信息 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6345 merge master into master 删除查看源码冗余信息 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> gitcode支持直接发布md,需要删除acl*.md中查看源码冗余信息 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> acl*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6345 | 4 天前 | |
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 | 1 个月前 | |
modify aclnn_sinc errorcode and BroadcastTo README Co-authored-by: t00850857<tanxin44@huawei.com> # message auto-generated for no-merge-commit merge: !6159 merge master-sinc into master modify aclnn_sinc errorcode and BroadcastTo README Created-by: tan_xin Commit-by: t00850857 Merged-by: cann-robot Description: ## 描述 本PR为两处文档修改,不涉及代码逻辑: ### 1. 修改 aclnn_sinc.cpp错误码 - **错误码/返回码说明整改**:统一规范 aclnnStatus 返回状态码说明,正确引用 [aclnn返回码] 上下文文档(aclnn_return_code.md),覆盖 aclnnSincGetWorkspaceSize / aclnnSinc / aclnnInplaceSincGetWorkspaceSize / aclnnInplaceSinc 全部两段式接口 ### 2. 修改 BroadcastTo README(支持的数据类型与算子定义对齐) conversion/broadcast_to/README.md - x 支持的数据类型与 op_host/broadcast_to_def.cpp 中 xDType 注册列表对齐: - 删除 def 中**未注册**的类型:DOUBLE、UINT16、UINT64、COMPLEX32、COMPLEX64、COMPLEX128、QINT8、QUINT8、QINT16、QUINT16、QINT32、STRING - 保留 def 实际注册的 13 种:INT8、INT16、INT32、INT64、UINT8、UINT32、FLOAT16、BF16、FLOAT、BOOL、HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FN ## 关联的Issue (https://gitcode.com/cann/ops-math/issues/3359) ## 测试 - 纯文档变更,不涉及代码逻辑,无需新增测试用例 - 已自查文档内相对路径链接可达(两段式接口/非连续Tensor/数据格式/数据类型推导/aclnn返回码等上下文文档) - markdownlint 通过 ## 文档更新 - [x] conversion/broadcast_to/README.md ## 类型标签 - [x] 文档更新 See merge request: cann/ops-math!6159 | 9 天前 | |
add sinc Co-authored-by: t00850857<tanxin44@huawei.com> # message auto-generated for no-merge-commit merge: !2866 merge master-sinc-1 into master add sinc Created-by: tan_xin Commit-by: t00850857 Merged-by: cann-robot Description: ## 描述 sinc新增A5实现 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/2808 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2866 | 4 个月前 | |
feat: 新增 ascend960pr/ascend960dt 平台算子适配(14 个算子) Co-authored-by: esok11<yangsifa@huawei.com> # message auto-generated for no-merge-commit merge: !6157 merge f1008 into master feat: 新增 ascend960pr/ascend960dt 平台算子适配(14 个算子) Created-by: esok11 Commit-by: esok11 Merged-by: cann-robot Description: ## 描述 为 ascend960pr / ascend960dt 两个新增芯片形态适配算子,覆盖 conversion 与 math 目录下共 14 个算子;同时修正 addr 的 dtype 支持列表判断逻辑,并对个别文件做版权头/格式整理。 ### 改动原因 ascend960pr / ascend960dt 为新增芯片形态,现有算子需补齐平台注册、编译单元与二进制配置后,才能在新平台上被算子信息库发现、编译并选择正确的 kernel 二进制。 ### 改动方法 1. **算子信息库注册**( *_def.cpp):新增 this->AICore().AddConfig("ascend960pr", ...) 与 AddConfig("ascend960dt", ...) - conversion:assign、dynamic_partition、masked_fill、mem_set、tensor_move、tril、triu - math:addr、asin、eye、mod、sinc、truncate_div、truncate_mod 2. **编译配置**(CMakeLists.txt):在 SUPPORT_COMPUTE_UNIT / COMPUTE_UNIT 中追加 ascend960pr、ascend960dt,并在 SUPPORT_TILING_DIR / TILING_DIR 中追加对应的 arch35(tiling 目录沿用 arch35) 3. **二进制配置**:为每个算子新增 op_host/config/ascend960pr/ 与 op_host/config/ascend960dt/ 目录,包含 <op>_binary.json 与 <op>_simplified_key.ini 4. **addr dtype 判断修正**(math/addr/op_api/aclnn_addr.cpp):GetDtypeSupportList() 的判断由区间判断 >= ASCEND910B && <= ASCEND910E 改为显式判断 == ASCEND910B || == ASCEND910_93 || IsRegBase(),使 reg-base 平台复用 910B dtype 支持列表 5. **格式整理**:conversion/mem_set_v2/op_host/mem_set_v2_def.cpp、math/adds/op_host/adds_def.cpp、math/adds/CMakeLists.txt 仅做版权头/空行/行尾换行等整理 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3440 ## 测试 本 PR 未包含测试代码改动;适配涉及算子信息库、编译配置与二进制配置,需在 ascend960pr / ascend960dt 平台补充二级冒烟与算子泛化验证。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6157 | 9 天前 | |
format: batch_to_space_nd 等算子代码格式化 Co-authored-by: zhanw_coding<zhanwang@huawei.com> # message auto-generated for no-merge-commit merge: !3822 merge fix-fmt into master format: batch_to_space_nd 等算子代码格式化 Created-by: zhanw_coding Commit-by: zhanw_coding Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> format: batch_to_space_nd 等算子代码格式化 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/2147 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化 See merge request: cann/ops-math!3822 | 3 个月前 | |
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 | 6 天前 | |
feat: 新增 ascend960pr/ascend960dt 平台算子适配(14 个算子) Co-authored-by: esok11<yangsifa@huawei.com> # message auto-generated for no-merge-commit merge: !6157 merge f1008 into master feat: 新增 ascend960pr/ascend960dt 平台算子适配(14 个算子) Created-by: esok11 Commit-by: esok11 Merged-by: cann-robot Description: ## 描述 为 ascend960pr / ascend960dt 两个新增芯片形态适配算子,覆盖 conversion 与 math 目录下共 14 个算子;同时修正 addr 的 dtype 支持列表判断逻辑,并对个别文件做版权头/格式整理。 ### 改动原因 ascend960pr / ascend960dt 为新增芯片形态,现有算子需补齐平台注册、编译单元与二进制配置后,才能在新平台上被算子信息库发现、编译并选择正确的 kernel 二进制。 ### 改动方法 1. **算子信息库注册**( *_def.cpp):新增 this->AICore().AddConfig("ascend960pr", ...) 与 AddConfig("ascend960dt", ...) - conversion:assign、dynamic_partition、masked_fill、mem_set、tensor_move、tril、triu - math:addr、asin、eye、mod、sinc、truncate_div、truncate_mod 2. **编译配置**(CMakeLists.txt):在 SUPPORT_COMPUTE_UNIT / COMPUTE_UNIT 中追加 ascend960pr、ascend960dt,并在 SUPPORT_TILING_DIR / TILING_DIR 中追加对应的 arch35(tiling 目录沿用 arch35) 3. **二进制配置**:为每个算子新增 op_host/config/ascend960pr/ 与 op_host/config/ascend960dt/ 目录,包含 <op>_binary.json 与 <op>_simplified_key.ini 4. **addr dtype 判断修正**(math/addr/op_api/aclnn_addr.cpp):GetDtypeSupportList() 的判断由区间判断 >= ASCEND910B && <= ASCEND910E 改为显式判断 == ASCEND910B || == ASCEND910_93 || IsRegBase(),使 reg-base 平台复用 910B dtype 支持列表 5. **格式整理**:conversion/mem_set_v2/op_host/mem_set_v2_def.cpp、math/adds/op_host/adds_def.cpp、math/adds/CMakeLists.txt 仅做版权头/空行/行尾换行等整理 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3440 ## 测试 本 PR 未包含测试代码改动;适配涉及算子信息库、编译配置与二进制配置,需在 ascend960pr / ascend960dt 平台补充二级冒烟与算子泛化验证。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6157 | 9 天前 | |
产品名变更 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 | 26 天前 |
Sinc
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR&950DT系列产品 | √ |
| Atlas A3系列产品 | x |
| Atlas A2系列产品 | x |
| Atlas 200I/500 A2推理产品 | × |
| Atlas推理系列产品 | × |
| Atlas训练系列产品 | × |
功能说明
-
算子功能:对输入Tensor完成sinc运算。
-
计算公式:
outi={1,selfi=0sin(π∗selfi)/(π∗selfi),otherwiseout_i = \begin{cases} 1,\quad self_i = 0\\ \sin(\pi*self_i)/(\pi*self_i),\quad otherwise\\ \end{cases} outi={1,selfi=0sin(π∗selfi)/(π∗selfi),otherwise
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x | 输入 | 公式中的输入张量x。 | FLOAT、BFLOAT16、FLOAT16 | ND |
| y | 输出 | 公式中的输出张量y。 | FLOAT、BFLOAT16、FLOAT16 | ND |
约束说明
输入与输出的shape和type需要一致
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| aclnn调用 | test_aclnn_sinc | 通过aclnnSinc&aclnnInplaceSinc接口方式调用Sinc算子。 |
| 图模式调用 | test_geir_sinc | 通过算子IR构图方式调用Sinc算子。 |