| fix(bessel_i1e): 补齐 Ascend 950 运行时 shape 和输出描述校验 Co-authored-by: Bright0313<liwenbo84@huawei.com> # message auto-generated for no-merge-commit merge: !6883 merge codex/besseli1e-output-format-guard into master fix(bessel_i1e): 补齐 Ascend 950 运行时 shape 和输出描述校验 Created-by: Bright0313 Commit-by: Bright0313 Merged-by: cann-robot Description: BesselI1e 的 tiling 原先缺少输出 dtype/format 的独立校验,只比较输入输出元素总数,并用总数是否为负判断运行时 shape。例如输入输出均为 [-2,-3] 或 [0,-3] 时,修改前实际 host tiling 返回成功。 本次补齐校验和回归覆盖: - 输出描述非空;输入输出 storage format 均为 ND,输出 dtype 与输入一致。 - 输入输出 storage shape 经既有标量归一化后逐维一致,保留 []/[1] 存储表达的兼容行为。 - 运行时 storage shape 每一维必须非负。编译期 -1/[-2] 由 GE 解析后再进入 tiling,合法空 Tensor 继续成功返回。 - tiling UT 覆盖六种负维度组合,并新增三 dtype×10 个分核/UB 边界,验证核区间连续、无重叠且完整覆盖输出。 - 动态 GEIR 样例检查输出 ND,允许合法空结果没有数据指针;同一张 -1/[-2] 图覆盖空 Tensor、标量、rank8 以及 shape 回切。 变更仅涉及 arch35 tiling、对应 UT 和动态 GEIR 样例三个文件,计算 kernel、公式和系数不变。arch22 shim 复用相同 tiling;本轮设备验证针对 Ascend 950,未进行 A2/A3 设备验证。GEIR/TF 已被图推导修正或未传入接口的 CSV 输出条件,不作为算子拒绝证据。 验证: - 前轮独立实际 host tiling 复现五种负维度漏拦截,修复后 24 条探针均符合预期;TTK kernel compile-only 已验证 9 条输出描述负例及合法对照。 - 本轮 83 条实际 host 探针均符合预期,含 30 个切分边界、12 类非法 dtype、9 种输入输出 dtype 配对及独立输入/输出非 ND 见证。 - 既有 tiling UT 前轮 14/14;本轮仅运行新增边界 UT(函数内 30 组)通过。CANN ABI=0 独立编译,包含 -Werror。 - Ascend 950 实机同图动态 GEIR 样例:-1 图 5/5、[-2] 图 9/9,检查 shape、dtype、ND 和数值。 - 本轮新增三方精度(Promote + cross_check/L1 + TF GPU):kernel-new 30/30,geir-new 30/30,dynamic-new 12/12,tf-new 42/42。kernel 30 条输入/输出越界哨兵检查均为 OK,OK;本轮未跑性能。 - 变更文件 pre-commit(含 OAT)和 git diff --check 通过。 测试使用任务独立安装目录;未替换共享安装包。compile-only/host 校验不冒充设备精度或性能验收。 See merge request: cann/ops-math!6883 | 8 days ago |
| [feat] 迁移开源TF插件--math: bessel_i1e, complex, complex_abs Co-authored-by: sunchun<sunchun4@h-partners.com> # message auto-generated for no-merge-commit merge: !5564 merge tf_plugin/math-group2 into master [feat] 迁移开源TF插件--math: bessel_i1e, complex, complex_abs Created-by: sunchun Commit-by: sunchun Merged-by: cann-robot Description: [feat] 迁移开源TF插件--math: bessel_i1e, complex, complex_abs See merge request: cann/ops-math!5564 | 1 month ago |
| besseli1e算子开发 Co-authored-by: kangjiaming<1159380836@qq.com> # message auto-generated for no-merge-commit merge: !3780 merge besseli1e into master besseli1e算子开发 Created-by: kangjiaming Commit-by: kangjiaming Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> https://gitcode.com/cann/ops-math/issues/2216 <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3780 | 3 months ago |
| fix(bessel_i1e): 补齐 Ascend 950 运行时 shape 和输出描述校验 Co-authored-by: Bright0313<liwenbo84@huawei.com> # message auto-generated for no-merge-commit merge: !6883 merge codex/besseli1e-output-format-guard into master fix(bessel_i1e): 补齐 Ascend 950 运行时 shape 和输出描述校验 Created-by: Bright0313 Commit-by: Bright0313 Merged-by: cann-robot Description: BesselI1e 的 tiling 原先缺少输出 dtype/format 的独立校验,只比较输入输出元素总数,并用总数是否为负判断运行时 shape。例如输入输出均为 [-2,-3] 或 [0,-3] 时,修改前实际 host tiling 返回成功。 本次补齐校验和回归覆盖: - 输出描述非空;输入输出 storage format 均为 ND,输出 dtype 与输入一致。 - 输入输出 storage shape 经既有标量归一化后逐维一致,保留 []/[1] 存储表达的兼容行为。 - 运行时 storage shape 每一维必须非负。编译期 -1/[-2] 由 GE 解析后再进入 tiling,合法空 Tensor 继续成功返回。 - tiling UT 覆盖六种负维度组合,并新增三 dtype×10 个分核/UB 边界,验证核区间连续、无重叠且完整覆盖输出。 - 动态 GEIR 样例检查输出 ND,允许合法空结果没有数据指针;同一张 -1/[-2] 图覆盖空 Tensor、标量、rank8 以及 shape 回切。 变更仅涉及 arch35 tiling、对应 UT 和动态 GEIR 样例三个文件,计算 kernel、公式和系数不变。arch22 shim 复用相同 tiling;本轮设备验证针对 Ascend 950,未进行 A2/A3 设备验证。GEIR/TF 已被图推导修正或未传入接口的 CSV 输出条件,不作为算子拒绝证据。 验证: - 前轮独立实际 host tiling 复现五种负维度漏拦截,修复后 24 条探针均符合预期;TTK kernel compile-only 已验证 9 条输出描述负例及合法对照。 - 本轮 83 条实际 host 探针均符合预期,含 30 个切分边界、12 类非法 dtype、9 种输入输出 dtype 配对及独立输入/输出非 ND 见证。 - 既有 tiling UT 前轮 14/14;本轮仅运行新增边界 UT(函数内 30 组)通过。CANN ABI=0 独立编译,包含 -Werror。 - Ascend 950 实机同图动态 GEIR 样例:-1 图 5/5、[-2] 图 9/9,检查 shape、dtype、ND 和数值。 - 本轮新增三方精度(Promote + cross_check/L1 + TF GPU):kernel-new 30/30,geir-new 30/30,dynamic-new 12/12,tf-new 42/42。kernel 30 条输入/输出越界哨兵检查均为 OK,OK;本轮未跑性能。 - 变更文件 pre-commit(含 OAT)和 git diff --check 通过。 测试使用任务独立安装目录;未替换共享安装包。compile-only/host 校验不冒充设备精度或性能验收。 See merge request: cann/ops-math!6883 | 8 days ago |
| fix(bessel_i1e): 向量化流水线重构+format校验+GEIR样例校验+文档修正 Co-authored-by: Bright0313<liwenbo84@huawei.com> # message auto-generated for no-merge-commit merge: !5678 merge codex/besseli1e-hardening into master fix(bessel_i1e): 向量化流水线重构+format校验+GEIR样例校验+文档修正 Created-by: Bright0313 Commit-by: Bright0313 Merged-by: cann-robot Description: ## 描述 修复转测编码红线(P0 6 FAIL)与共性问题,并补齐 GEIR 样例校验功能。 **1. Kernel 全标量循环向量化重构(P0 红线:API-1)** - op_kernel/arch35/bessel_i1e.h:从逐元素 GM GetValue/SetValue 标量循环重构为全向量 API 流水线(Abs→Duplicate→Mul/Adds×16 Horner→Muls→Exp→Sqrt→Div→Compare→Select); - GM 访问仅 3 处 DataCopyPad 批量搬运(GM→UB→Compute→UB→GM),零逐元素 GM 访问; - FP16/BF16 路径:TQue 双缓冲(MTE2→Vector→MTE3 三级流水);FP32 路径:initBuf_ 单缓冲 + V_MTE2/MTE2_V HardEvent 手工同步(两级流水)。 **2. 跨 pipe 同步修复(P0 红线:85% 脏数据风险)** - FP32 路径:SetFlag/WaitFlag<V_MTE2> WAR 保护 + SetFlag/WaitFlag<MTE2_V> RAW 保护,配对完备; - FP16/BF16 路径:TQue EnQue/DeQue 自动同步,Alloc/Free 1:1 配对。 **3. _apt 文件更名(P0 红线)** - bessel_i1e_apt.cpp → bessel_i1e.cpp,bessel_i1e_tiling_key.h 删除(不再使用 dtype TilingKey 分发)。 **4. tiling 运行时 ND 格式校验(共性问题:10-exception-format)** - op_host/arch35/bessel_i1e_tiling_arch35.cpp:新增 GetStorageFormat() != ge::FORMAT_ND 拒绝(arch22 经 include 共享)。 **5. GEIR 静态样例校验功能(文档审计发现)** - examples/test_geir_bessel_i1e.cpp:从仅落盘扩展为 Shape/Dtype/Values 三维校验; - 8 测试用例(fp32×4 shape + fp16×2 + bf16×2),含 Cephes 参考实现(double 精度级数); - Ascend950PR 实机验证 8/8 PASS(max_rel: fp32 4.1e-07 / fp16 7.6e-04 / bf16 5.8e-03)。 **6. 文档修正** - README:产品支持表与 def.cpp AddConfig 对齐(910b/910_93/950);约束说明与代码对齐。 - def.cpp:dtype 声明统一为 {BF16, FP16, FP32}。 ## 关联的Issue #3219 ## 测试 - **两方测试**:330/330 PASS(主 297 + 补充 33,stat_rel_err,3 dtype 全绿);异常 7/7 正确拒绝(rank9→tiling 拒绝、非法 format/dtype→编译拒绝); - **三方 GEIR 测试**:330/330 PASS(cross_check vs torch GPU 竞品,L2 级别); - **GEIR 样例校验**:8/8 PASS(Shape/Dtype/Values 三维); - pre-commit(clang-format/codespell/OAT)全过; - ascendc-code-review 复扫:P0 三项红线全部修复确认(API-1/PREC-1/_apt),新发现 0 FAIL; - ops-admission-scan 原版 skill 复扫:17 PASS + 2 N/A,零 FAIL(10 格式 PASS、13 shape PASS、覆盖度 95.9%)。 ## 文档更新 - math/bessel_i1e/README.md ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-math!5678 | 1 month ago |
| fix(bessel_i1e): 补齐 Ascend 950 运行时 shape 和输出描述校验 Co-authored-by: Bright0313<liwenbo84@huawei.com> # message auto-generated for no-merge-commit merge: !6883 merge codex/besseli1e-output-format-guard into master fix(bessel_i1e): 补齐 Ascend 950 运行时 shape 和输出描述校验 Created-by: Bright0313 Commit-by: Bright0313 Merged-by: cann-robot Description: BesselI1e 的 tiling 原先缺少输出 dtype/format 的独立校验,只比较输入输出元素总数,并用总数是否为负判断运行时 shape。例如输入输出均为 [-2,-3] 或 [0,-3] 时,修改前实际 host tiling 返回成功。 本次补齐校验和回归覆盖: - 输出描述非空;输入输出 storage format 均为 ND,输出 dtype 与输入一致。 - 输入输出 storage shape 经既有标量归一化后逐维一致,保留 []/[1] 存储表达的兼容行为。 - 运行时 storage shape 每一维必须非负。编译期 -1/[-2] 由 GE 解析后再进入 tiling,合法空 Tensor 继续成功返回。 - tiling UT 覆盖六种负维度组合,并新增三 dtype×10 个分核/UB 边界,验证核区间连续、无重叠且完整覆盖输出。 - 动态 GEIR 样例检查输出 ND,允许合法空结果没有数据指针;同一张 -1/[-2] 图覆盖空 Tensor、标量、rank8 以及 shape 回切。 变更仅涉及 arch35 tiling、对应 UT 和动态 GEIR 样例三个文件,计算 kernel、公式和系数不变。arch22 shim 复用相同 tiling;本轮设备验证针对 Ascend 950,未进行 A2/A3 设备验证。GEIR/TF 已被图推导修正或未传入接口的 CSV 输出条件,不作为算子拒绝证据。 验证: - 前轮独立实际 host tiling 复现五种负维度漏拦截,修复后 24 条探针均符合预期;TTK kernel compile-only 已验证 9 条输出描述负例及合法对照。 - 本轮 83 条实际 host 探针均符合预期,含 30 个切分边界、12 类非法 dtype、9 种输入输出 dtype 配对及独立输入/输出非 ND 见证。 - 既有 tiling UT 前轮 14/14;本轮仅运行新增边界 UT(函数内 30 组)通过。CANN ABI=0 独立编译,包含 -Werror。 - Ascend 950 实机同图动态 GEIR 样例:-1 图 5/5、[-2] 图 9/9,检查 shape、dtype、ND 和数值。 - 本轮新增三方精度(Promote + cross_check/L1 + TF GPU):kernel-new 30/30,geir-new 30/30,dynamic-new 12/12,tf-new 42/42。kernel 30 条输入/输出越界哨兵检查均为 OK,OK;本轮未跑性能。 - 变更文件 pre-commit(含 OAT)和 git diff --check 通过。 测试使用任务独立安装目录;未替换共享安装包。compile-only/host 校验不冒充设备精度或性能验收。 See merge request: cann/ops-math!6883 | 8 days ago |
| math仓算子适配350 Co-authored-by: zhouliang<zhouliang88@huawei.com> # message auto-generated for no-merge-commit merge: !5906 merge master into master math仓算子适配350 Created-by: zhou-liang1027 Commit-by: zhouliang Merged-by: cann-robot Description: ## 描述 math仓算子适配350 ## 关联的Issue [math仓算子适配350](https://gitcode.com/cann/ops-math/issues/3463) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5906 | 1 month ago |
| aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 18 days ago |