| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
产品名变更 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 | 29 天前 | |
【社区任务】feat(mod): add int16 same/mixed-dtype support + large-quotient numerical stability enhancement (A2/A3) Co-authored-by: Admin05210<2916838196@qq.com> # message auto-generated for no-merge-commit merge: !3788 merge fmod-mod-enhance-v7 into master 【社区任务】feat(mod): add int16 same/mixed-dtype support + large-quotient numerical stability enhancement (A2/A3) Created-by: Admin05210 Commit-by: Admin05210 Merged-by: cann-robot Description: ## 描述 本 PR 是对已有官方 Mod 算子(experimental/math/mod,!3240 引入)的**增强**,非新增算子、非替换。关联需求 issue:#2114。 > 本 PR 取代 #3701(内容一致,重建以刷新流水线)。#3701 的 codecheck_precommit 失败经排查为上游 scripts/oat_check.sh 在 pre-commit 并行分批下共享非唯一 PlainReport_*.txt 的竞态(OAT 实际 0 violation),与本 PR 代码无关。 ### 新增能力 1. **INT16 同 dtype + 混合 dtype 支持**:补齐 int16⊗int16→int16 的 tensor-tensor 计算,以及 int16 与 bf16/fp16/fp32 的混合 dtype 组合。 2. **大商场景数值稳定性增强**:浮点截断求模(trunc-mod)在 |self/other| 较大时的精度隐患修复,仅在检测到相应条件时启用增强路径,其余场景保持原 Div -> Trunc -> Mul -> Sub 行为逐位不变。 ### 影响范围 - 新增能力**仅在 Atlas A2 训练系列(Ascend910B)与 Atlas A3 系列(Ascend910_93)生效**;其余平台(Ascend310P/Ascend910/950 等)行为不变。 - 现有 BF16/FLOAT16/FLOAT32/INT32/DOUBLE/INT64/INT8/UINT8 的既有支持范围与行为不受影响。 - **零删除**:diff 仅修改既有文件(op_api/op_host/op_kernel 实现 + README/docs)+ 新增 op_kernel 拆分头文件,无删除文件;op_kernel/mod.cpp(kernel 入口)与全部 tests/ut/* 逻辑保持等价。 ### 验证状态(CANN 9.0.0 / Atlas 910B) - ✅ 编译:build.sh --pkg --experimental --soc=ascend910b --ops=mod,rc=0,20/20 device kernel 二进制(.o)全部编出。 - ✅ 精度:官方 AscendOpTest 代表性用例 FmodTensor / FmodScalar 全部通过(覆盖 fp32/fp16/bf16、int16 同 dtype / 混合 dtype、大商数值稳定路径、大 shape)。 --- ### 追加 general 广播性能修复 (本版 vs #3776) 前序版本对**非可融合广播几何**(混合 dtype / 中间轴 / 高维)在 A2/A3 走 in-kernel 通用 broadcast, 高维几何 tile 退化到近逐元素, 在泛化测试矩阵上出现数百倍劣化。本版在 L0 路由层改为对非可融合几何走 BroadcastTo 物化(对标参考实现), kernel 见连续输入。 - 数值**逐字节不变**(物化复刻 in-kernel stride 广播语义; 含 NaN/Inf/大商)。 - **kernel .o 全部不变**, 仅 op_api/mod.cpp 一个 L0 文件改动。 - A2/A3 (arch22) 守卫, 上游能力/AICPU/通用广播路全保留 (0-deletion / additive)。 关联需求 issue #2114。 > 本 PR 取代 #3786(内容逐字节一致、同 git tree),重建以刷新 codecheck_precommit 的 oat-check 并发批次竞态(infra flake,0 违规:日志全 All checks passed + PlainReport not found/code 127,与代码无关)。codecheck / clang-format / SCA / UT 等在 #3786 均已 SUCCESS。 See merge request: cann/ops-math!3788 | 2 个月前 | |
【社区任务】feat(mod): add int16 same/mixed-dtype support + large-quotient numerical stability enhancement (A2/A3) Co-authored-by: Admin05210<2916838196@qq.com> # message auto-generated for no-merge-commit merge: !3788 merge fmod-mod-enhance-v7 into master 【社区任务】feat(mod): add int16 same/mixed-dtype support + large-quotient numerical stability enhancement (A2/A3) Created-by: Admin05210 Commit-by: Admin05210 Merged-by: cann-robot Description: ## 描述 本 PR 是对已有官方 Mod 算子(experimental/math/mod,!3240 引入)的**增强**,非新增算子、非替换。关联需求 issue:#2114。 > 本 PR 取代 #3701(内容一致,重建以刷新流水线)。#3701 的 codecheck_precommit 失败经排查为上游 scripts/oat_check.sh 在 pre-commit 并行分批下共享非唯一 PlainReport_*.txt 的竞态(OAT 实际 0 violation),与本 PR 代码无关。 ### 新增能力 1. **INT16 同 dtype + 混合 dtype 支持**:补齐 int16⊗int16→int16 的 tensor-tensor 计算,以及 int16 与 bf16/fp16/fp32 的混合 dtype 组合。 2. **大商场景数值稳定性增强**:浮点截断求模(trunc-mod)在 |self/other| 较大时的精度隐患修复,仅在检测到相应条件时启用增强路径,其余场景保持原 Div -> Trunc -> Mul -> Sub 行为逐位不变。 ### 影响范围 - 新增能力**仅在 Atlas A2 训练系列(Ascend910B)与 Atlas A3 系列(Ascend910_93)生效**;其余平台(Ascend310P/Ascend910/950 等)行为不变。 - 现有 BF16/FLOAT16/FLOAT32/INT32/DOUBLE/INT64/INT8/UINT8 的既有支持范围与行为不受影响。 - **零删除**:diff 仅修改既有文件(op_api/op_host/op_kernel 实现 + README/docs)+ 新增 op_kernel 拆分头文件,无删除文件;op_kernel/mod.cpp(kernel 入口)与全部 tests/ut/* 逻辑保持等价。 ### 验证状态(CANN 9.0.0 / Atlas 910B) - ✅ 编译:build.sh --pkg --experimental --soc=ascend910b --ops=mod,rc=0,20/20 device kernel 二进制(.o)全部编出。 - ✅ 精度:官方 AscendOpTest 代表性用例 FmodTensor / FmodScalar 全部通过(覆盖 fp32/fp16/bf16、int16 同 dtype / 混合 dtype、大商数值稳定路径、大 shape)。 --- ### 追加 general 广播性能修复 (本版 vs #3776) 前序版本对**非可融合广播几何**(混合 dtype / 中间轴 / 高维)在 A2/A3 走 in-kernel 通用 broadcast, 高维几何 tile 退化到近逐元素, 在泛化测试矩阵上出现数百倍劣化。本版在 L0 路由层改为对非可融合几何走 BroadcastTo 物化(对标参考实现), kernel 见连续输入。 - 数值**逐字节不变**(物化复刻 in-kernel stride 广播语义; 含 NaN/Inf/大商)。 - **kernel .o 全部不变**, 仅 op_api/mod.cpp 一个 L0 文件改动。 - A2/A3 (arch22) 守卫, 上游能力/AICPU/通用广播路全保留 (0-deletion / additive)。 关联需求 issue #2114。 > 本 PR 取代 #3786(内容逐字节一致、同 git tree),重建以刷新 codecheck_precommit 的 oat-check 并发批次竞态(infra flake,0 违规:日志全 All checks passed + PlainReport not found/code 127,与代码无关)。codecheck / clang-format / SCA / UT 等在 #3786 均已 SUCCESS。 See merge request: cann/ops-math!3788 | 2 个月前 | |
【社区任务】feat(mod): add int16 same/mixed-dtype support + large-quotient numerical stability enhancement (A2/A3) Co-authored-by: Admin05210<2916838196@qq.com> # message auto-generated for no-merge-commit merge: !3788 merge fmod-mod-enhance-v7 into master 【社区任务】feat(mod): add int16 same/mixed-dtype support + large-quotient numerical stability enhancement (A2/A3) Created-by: Admin05210 Commit-by: Admin05210 Merged-by: cann-robot Description: ## 描述 本 PR 是对已有官方 Mod 算子(experimental/math/mod,!3240 引入)的**增强**,非新增算子、非替换。关联需求 issue:#2114。 > 本 PR 取代 #3701(内容一致,重建以刷新流水线)。#3701 的 codecheck_precommit 失败经排查为上游 scripts/oat_check.sh 在 pre-commit 并行分批下共享非唯一 PlainReport_*.txt 的竞态(OAT 实际 0 violation),与本 PR 代码无关。 ### 新增能力 1. **INT16 同 dtype + 混合 dtype 支持**:补齐 int16⊗int16→int16 的 tensor-tensor 计算,以及 int16 与 bf16/fp16/fp32 的混合 dtype 组合。 2. **大商场景数值稳定性增强**:浮点截断求模(trunc-mod)在 |self/other| 较大时的精度隐患修复,仅在检测到相应条件时启用增强路径,其余场景保持原 Div -> Trunc -> Mul -> Sub 行为逐位不变。 ### 影响范围 - 新增能力**仅在 Atlas A2 训练系列(Ascend910B)与 Atlas A3 系列(Ascend910_93)生效**;其余平台(Ascend310P/Ascend910/950 等)行为不变。 - 现有 BF16/FLOAT16/FLOAT32/INT32/DOUBLE/INT64/INT8/UINT8 的既有支持范围与行为不受影响。 - **零删除**:diff 仅修改既有文件(op_api/op_host/op_kernel 实现 + README/docs)+ 新增 op_kernel 拆分头文件,无删除文件;op_kernel/mod.cpp(kernel 入口)与全部 tests/ut/* 逻辑保持等价。 ### 验证状态(CANN 9.0.0 / Atlas 910B) - ✅ 编译:build.sh --pkg --experimental --soc=ascend910b --ops=mod,rc=0,20/20 device kernel 二进制(.o)全部编出。 - ✅ 精度:官方 AscendOpTest 代表性用例 FmodTensor / FmodScalar 全部通过(覆盖 fp32/fp16/bf16、int16 同 dtype / 混合 dtype、大商数值稳定路径、大 shape)。 --- ### 追加 general 广播性能修复 (本版 vs #3776) 前序版本对**非可融合广播几何**(混合 dtype / 中间轴 / 高维)在 A2/A3 走 in-kernel 通用 broadcast, 高维几何 tile 退化到近逐元素, 在泛化测试矩阵上出现数百倍劣化。本版在 L0 路由层改为对非可融合几何走 BroadcastTo 物化(对标参考实现), kernel 见连续输入。 - 数值**逐字节不变**(物化复刻 in-kernel stride 广播语义; 含 NaN/Inf/大商)。 - **kernel .o 全部不变**, 仅 op_api/mod.cpp 一个 L0 文件改动。 - A2/A3 (arch22) 守卫, 上游能力/AICPU/通用广播路全保留 (0-deletion / additive)。 关联需求 issue #2114。 > 本 PR 取代 #3786(内容逐字节一致、同 git tree),重建以刷新 codecheck_precommit 的 oat-check 并发批次竞态(infra flake,0 违规:日志全 All checks passed + PlainReport not found/code 127,与代码无关)。codecheck / clang-format / SCA / UT 等在 #3786 均已 SUCCESS。 See merge request: cann/ops-math!3788 | 2 个月前 | |
【社区任务】feat(mod): add int16 same/mixed-dtype support + large-quotient numerical stability enhancement (A2/A3) Co-authored-by: Admin05210<2916838196@qq.com> # message auto-generated for no-merge-commit merge: !3788 merge fmod-mod-enhance-v7 into master 【社区任务】feat(mod): add int16 same/mixed-dtype support + large-quotient numerical stability enhancement (A2/A3) Created-by: Admin05210 Commit-by: Admin05210 Merged-by: cann-robot Description: ## 描述 本 PR 是对已有官方 Mod 算子(experimental/math/mod,!3240 引入)的**增强**,非新增算子、非替换。关联需求 issue:#2114。 > 本 PR 取代 #3701(内容一致,重建以刷新流水线)。#3701 的 codecheck_precommit 失败经排查为上游 scripts/oat_check.sh 在 pre-commit 并行分批下共享非唯一 PlainReport_*.txt 的竞态(OAT 实际 0 violation),与本 PR 代码无关。 ### 新增能力 1. **INT16 同 dtype + 混合 dtype 支持**:补齐 int16⊗int16→int16 的 tensor-tensor 计算,以及 int16 与 bf16/fp16/fp32 的混合 dtype 组合。 2. **大商场景数值稳定性增强**:浮点截断求模(trunc-mod)在 |self/other| 较大时的精度隐患修复,仅在检测到相应条件时启用增强路径,其余场景保持原 Div -> Trunc -> Mul -> Sub 行为逐位不变。 ### 影响范围 - 新增能力**仅在 Atlas A2 训练系列(Ascend910B)与 Atlas A3 系列(Ascend910_93)生效**;其余平台(Ascend310P/Ascend910/950 等)行为不变。 - 现有 BF16/FLOAT16/FLOAT32/INT32/DOUBLE/INT64/INT8/UINT8 的既有支持范围与行为不受影响。 - **零删除**:diff 仅修改既有文件(op_api/op_host/op_kernel 实现 + README/docs)+ 新增 op_kernel 拆分头文件,无删除文件;op_kernel/mod.cpp(kernel 入口)与全部 tests/ut/* 逻辑保持等价。 ### 验证状态(CANN 9.0.0 / Atlas 910B) - ✅ 编译:build.sh --pkg --experimental --soc=ascend910b --ops=mod,rc=0,20/20 device kernel 二进制(.o)全部编出。 - ✅ 精度:官方 AscendOpTest 代表性用例 FmodTensor / FmodScalar 全部通过(覆盖 fp32/fp16/bf16、int16 同 dtype / 混合 dtype、大商数值稳定路径、大 shape)。 --- ### 追加 general 广播性能修复 (本版 vs #3776) 前序版本对**非可融合广播几何**(混合 dtype / 中间轴 / 高维)在 A2/A3 走 in-kernel 通用 broadcast, 高维几何 tile 退化到近逐元素, 在泛化测试矩阵上出现数百倍劣化。本版在 L0 路由层改为对非可融合几何走 BroadcastTo 物化(对标参考实现), kernel 见连续输入。 - 数值**逐字节不变**(物化复刻 in-kernel stride 广播语义; 含 NaN/Inf/大商)。 - **kernel .o 全部不变**, 仅 op_api/mod.cpp 一个 L0 文件改动。 - A2/A3 (arch22) 守卫, 上游能力/AICPU/通用广播路全保留 (0-deletion / additive)。 关联需求 issue #2114。 > 本 PR 取代 #3786(内容逐字节一致、同 git tree),重建以刷新 codecheck_precommit 的 oat-check 并发批次竞态(infra flake,0 违规:日志全 All checks passed + PlainReport not found/code 127,与代码无关)。codecheck / clang-format / SCA / UT 等在 #3786 均已 SUCCESS。 See merge request: cann/ops-math!3788 | 2 个月前 | |
【社区任务】feat(mod): add int16 same/mixed-dtype support + large-quotient numerical stability enhancement (A2/A3) Co-authored-by: Admin05210<2916838196@qq.com> # message auto-generated for no-merge-commit merge: !3788 merge fmod-mod-enhance-v7 into master 【社区任务】feat(mod): add int16 same/mixed-dtype support + large-quotient numerical stability enhancement (A2/A3) Created-by: Admin05210 Commit-by: Admin05210 Merged-by: cann-robot Description: ## 描述 本 PR 是对已有官方 Mod 算子(experimental/math/mod,!3240 引入)的**增强**,非新增算子、非替换。关联需求 issue:#2114。 > 本 PR 取代 #3701(内容一致,重建以刷新流水线)。#3701 的 codecheck_precommit 失败经排查为上游 scripts/oat_check.sh 在 pre-commit 并行分批下共享非唯一 PlainReport_*.txt 的竞态(OAT 实际 0 violation),与本 PR 代码无关。 ### 新增能力 1. **INT16 同 dtype + 混合 dtype 支持**:补齐 int16⊗int16→int16 的 tensor-tensor 计算,以及 int16 与 bf16/fp16/fp32 的混合 dtype 组合。 2. **大商场景数值稳定性增强**:浮点截断求模(trunc-mod)在 |self/other| 较大时的精度隐患修复,仅在检测到相应条件时启用增强路径,其余场景保持原 Div -> Trunc -> Mul -> Sub 行为逐位不变。 ### 影响范围 - 新增能力**仅在 Atlas A2 训练系列(Ascend910B)与 Atlas A3 系列(Ascend910_93)生效**;其余平台(Ascend310P/Ascend910/950 等)行为不变。 - 现有 BF16/FLOAT16/FLOAT32/INT32/DOUBLE/INT64/INT8/UINT8 的既有支持范围与行为不受影响。 - **零删除**:diff 仅修改既有文件(op_api/op_host/op_kernel 实现 + README/docs)+ 新增 op_kernel 拆分头文件,无删除文件;op_kernel/mod.cpp(kernel 入口)与全部 tests/ut/* 逻辑保持等价。 ### 验证状态(CANN 9.0.0 / Atlas 910B) - ✅ 编译:build.sh --pkg --experimental --soc=ascend910b --ops=mod,rc=0,20/20 device kernel 二进制(.o)全部编出。 - ✅ 精度:官方 AscendOpTest 代表性用例 FmodTensor / FmodScalar 全部通过(覆盖 fp32/fp16/bf16、int16 同 dtype / 混合 dtype、大商数值稳定路径、大 shape)。 --- ### 追加 general 广播性能修复 (本版 vs #3776) 前序版本对**非可融合广播几何**(混合 dtype / 中间轴 / 高维)在 A2/A3 走 in-kernel 通用 broadcast, 高维几何 tile 退化到近逐元素, 在泛化测试矩阵上出现数百倍劣化。本版在 L0 路由层改为对非可融合几何走 BroadcastTo 物化(对标参考实现), kernel 见连续输入。 - 数值**逐字节不变**(物化复刻 in-kernel stride 广播语义; 含 NaN/Inf/大商)。 - **kernel .o 全部不变**, 仅 op_api/mod.cpp 一个 L0 文件改动。 - A2/A3 (arch22) 守卫, 上游能力/AICPU/通用广播路全保留 (0-deletion / additive)。 关联需求 issue #2114。 > 本 PR 取代 #3786(内容逐字节一致、同 git tree),重建以刷新 codecheck_precommit 的 oat-check 并发批次竞态(infra flake,0 违规:日志全 All checks passed + PlainReport not found/code 127,与代码无关)。codecheck / clang-format / SCA / UT 等在 #3786 均已 SUCCESS。 See merge request: cann/ops-math!3788 | 2 个月前 | |
新增mod算子Ascend C实现 Co-authored-by: tieyutong<tieyutong@huawei.com> # message auto-generated for no-merge-commit merge: !3240 merge upload-mod-20260610 into master 新增mod算子Ascend C实现 Created-by: tieyutong Commit-by: tieyutong Merged-by: cann-robot Description: ## 描述 本 PR 新增 mod算子Ascend C实现,上传路径为experimental/math/mod。提供 aclnnFmodTensor、aclnnInplaceFmodTensor、aclnnFmodScalar、aclnnInplaceFmodScalar 四个接口,支持 Tensor-Tensor、Tensor-Scalar 以及 inplace 场景。 主要改动: - 新增 Mod 算子 op_host、op_kernel、op_api 实现。 - host 侧完成 dtype、shape、broadcast 校验、infershape、tiling 与 workspace 配置。 - kernel 侧支持 FLOAT32、FLOAT16、BF16、INT32 AICore 计算路径,并支持 scalar、same-shape、broadcast 输入。 - op_api 侧支持 DOUBLE、BF16、FLOAT16、FLOAT32、INT32、INT64、INT8、UINT8,非 kernel 原生 dtype 通过 cast 到可计算 dtype 后执行。 - 补充 README、aclnn 接口文档、examples 以及 UT 用例。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/1928 ## 测试 已完成以下验证: | 套件 | 用例数 | 结果 | | --- | ---: | --- | | aclnnFmodScalar Accu_Generalization | 5600 | Pass,按区间分段续跑完成 | | aclnnFmodTensor Perf_Generalization | 16 | Pass,device 性能达标 | | aclnnFmodScalar Perf_Generalization | 16 | Pass,device 性能达标 | CI/工程验证: | 项目 | 结果 | | --- | --- | | experimental package 编译 | Pass | | CI UT pipeline | Pass | | op_host UT | Pass,7 tests | | op_api UT | Pass,9 tests | | op_kernel UT | Pass,1 test | | package 出包 | Pass | ## 文档更新 - 新增 experimental/math/mod/README.md - 新增 aclnnFmodTensor & aclnnInplaceFmodTensor 接口文档 - 新增 aclnnFmodScalar & aclnnInplaceFmodScalar 接口文档 - 新增 examples 与 tests 目录 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [x] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3240 | 4 个月前 | |
产品名变更 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 | 29 天前 |
Mod
贡献说明
| 贡献者 | 贡献方 | 贡献算子 | 贡献时间 | 贡献内容 |
|---|---|---|---|---|
| Admin05210 | 个人开发者 | Mod | 2026/07/16 | Mod算子增强:新增INT16同/混合数据类型计算支持、大商场景数值稳定性增强、连续核与广播路径优化 |
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR&950DT系列产品 | √ |
| Atlas A3系列产品 | √ |
| Atlas A2系列产品 | √ |
| Atlas 200I/500 A2推理产品 | × |
| Atlas推理系列产品 | √ |
| Atlas训练系列产品 | √ |
功能说明
-
算子功能:返回 self 除以 other 的余数。
-
计算公式:
对于入参 self 和比较标量 other,Fmod 可以用如下数学公式表示:
outi=selfi−(other×trunc(selfi/other))out_{i} = self_{i} - (other \times trunc(self_{i}/other)) outi=selfi−(other×trunc(selfi/other))
-
精度说明:针对 self/other 商值较大(大 |self/other|)的场景,AICore 计算路径引入了数值稳定性增强算法,相比朴素截断取余(trunc-mod)实现降低了大商场景下的精度损失风险;该增强与 INT16/混合数据类型能力一并限定于 Atlas A2/A3(其余产品的既有算法与精度行为不变)。
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| self | 输入 | 待进行mod计算的入参,公式中的self_i。 | BFLOAT16、FLOAT16、FLOAT32、INT32、INT16* | ND |
| other | 输入 | 待进行mod计算的入参,公式中的other。 | BFLOAT16、FLOAT16、FLOAT32、INT32、INT16* | ND |
| out | 输出 | 待进行mod计算的出参,公式中的out_i。 | BFLOAT16、FLOAT16、FLOAT32、INT32、INT16* | ND |
* INT16 同数据类型计算,以及 self/other 分别为 INT16 与 BFLOAT16/FLOAT16/FLOAT32 的混合数据类型计算,仅 Atlas A2系列产品、Atlas A3系列产品支持;其余产品不适用(BFLOAT16/FLOAT16/FLOAT32/INT32 的既有支持不受影响)。
约束说明
- aclnn 层支持 DOUBLE、BFLOAT16、FLOAT16、FLOAT32、INT32、INT64、INT8、UINT8、INT16 类型推导;AICore kernel 覆盖 BFLOAT16、FLOAT16、FLOAT32、INT32,其余类型走 AICPU fallback。其中 INT16 同数据类型计算、以及 INT16 与 BFLOAT16/FLOAT16/FLOAT32 的混合数据类型计算为 Atlas A2/Atlas A3 专属增强(由 AICore 支持);其余产品上该增强不适用,已有的 BFLOAT16/FLOAT16/FLOAT32/INT32 同数据类型计算及 DOUBLE/INT64/INT8/UINT8 的 AICPU 回退行为保持不变。
- self和out的shape必须一致。
- 数据维度不支持8维以上。
调用说明
| 调用方式 | 样例代码 | 说明 |
|---|---|---|
| aclnn接口 | test_aclnn_fmod_scalar | 通过aclnnFmodScalar接口方式调用Mod算子。 |
| aclnn接口 | test_aclnn_fmod_tensor | 通过aclnnFmodTensor接口方式调用Mod算子。 |