| Files | Last commit | Last update |
|---|---|---|
fix(fresnel_sin): tiling 拦截负元素总数并上报真实 dtype,VECCALC 队列 Buffer 收敛至 8,README 与示例加固 Co-authored-by: xuejinghui<xuejinghui@huawei.com> # message auto-generated for no-merge-commit merge: !7077 merge fix/fresnelsin-hardening-scan into master fix(fresnel_sin): tiling 拦截负元素总数并上报真实 dtype,VECCALC 队列 Buffer 收敛至 8,README 与示例加固 Created-by: xuejinghui Commit-by: xuejinghui Merged-by: cann-robot Description: ## 描述 修复 FresnelSin(math/fresnel_sin,arch35)质量加固验证发现的产品代码缺陷并同步修正资料与示例: 1. **tiling dtype 报错携带真实输入类型**:dtype 校验失败分支第 3 参数由固定字面量 "unsupported" 改为 ge::TypeUtils::DataTypeToSerialString 实际 dtype 串(对齐仓内 abs_grad tiling 同位置惯例);随后将修改行原用的废弃宏迁移至 OP_LOGE_FOR_INVALID_DTYPE(EZ0019,development-standard dtype 路由),真实 dtype 串语义不回退。 2. **tiling 拦截负元素总数**:元素总数参与分块计算前补 *totalIdx < 0 哨卫(EZ0015)——覆盖 -1/-2 维负乘积与 INT64_MIN 溢出哨兵,消除 SetBlockDim(uint32 形参)隐式回绕后整图静默成功的问题。 3. **VECCALC 队列 Buffer 11→8**:mask 队列(1 个 TQue 3 块,无 EnQue/DeQue 队列语义、全 tile 存活纯工作区)改 3×TBuf 工作区,VECCALC 位置队列 Buffer 收敛至 8(≤ 上限);向量算子零增删、数值与性能路径不变、tiling ubFactor 字节预算不变。 4. **README/proto 资料修正**:补图模式算子 IR 链接、dtype 表产品限定说明(Atlas 推理/训练系列不支持 BF16)、大输入截断(|x|≥36974 → sign(x)·0.5)与 NaN 传播声明、异常校验错误码表(EZ0019/EZ0017/E80012/EZ0015)、元素总数上限(2^32-1)与动态 shape 先决条件。 5. **GE 示例加固**(根副本与 arch35 副本同步):dtype 参数解析(strtol + endptr 校验,按文档声明的 BF16/FP16/FP 映射);ADD_INPUT 节点名改字符串拼接修复指针运算;AddGraph/文件写入(fopen/fwrite/fclose)返回值检查;CreateOppInGraph 失败路径补 GEFinalize;new Session 改 nothrow;arch35 副本 include 相对路径修复(原编译断裂);删除无依据的 "Precision is ok" 打印。 6. **UT 看护**:新增 tiling UT 4 例(负 totalIdx 三形态拒绝断言 + dtype 报错携带真实 dtype 断言,EZ0019 + DT_INT32 双断言),CMakeLists 接线 error_manager。 ### 决策与权衡 - **队列 Buffer 收敛选型(TQue→TBuf)**:三张 mask 从未使用队列语义(无 EnQue/DeQue,纯工作区,全 tile 存活),TBuf 即其语义正解。对比备选:「mask 生产点后移逐张复用(3→1)」在 8+1=9 块下仍超上限且引入 Alloc/Free 时序出错面;「calc 侧减 1 块」需手动生命周期管理、时序敏感。已按官方文档核实 TQue 上限计数口径不含 TBuf(未触发回退组合方案)。多 tile 跨 TBuf 复用已由防复发用例覆盖。 - **dtype 报错宏迁移(EZ0007→EZ0019)**:修改行原用治理废弃宏,按 development-standard 的 dtype 报错路由迁移 OP_LOGE_FOR_INVALID_DTYPE,仓内 abs_grad 同款先例;四实参不变,真实 dtype 串(第 1 条修复引入)语义不回退。 - **负 totalIdx 拦截粒度**:单条 < 0 哨卫即天然覆盖 INT64_MIN 哨兵(无需单独判等);拒绝时点在 tiling,动态 shape「框架先具体化」先决条件在 README 同步显性化(-1/-2 维未具体化时负乘积被 tiling 拒绝)。 ## 关联的Issue Fixes #4443 ## 测试 - **Host UT**:Tiling 17(含 4 新增看护)+ InferShape 9 = 26/26 全过,行覆盖 97.1% 持平不倒退。 - **TTK 全量回归(修复后新执行)**:L0 271/271(非空 265 例 matched_ratio 全 1.0 + 空 shape 6 例 + 防复发 6 例);OOM 插桩 271/271;L2 负例 8/8 受控拒绝(报错含真实 dtype 串);负值路径机制实验 4/4 拒绝 + 3 对照不变。 - **修改前后对账**:PASS→FAIL(新增回归)= 0;修复叙事 FAIL→PASS 8 项(dtype 报错形态 / 负值拒绝 / 队列 Buffer 收敛 L0+OOM / 示例硬化 / arch35 示例编译断裂 / 宏迁移等)。 - **示例**:双副本编译 RC=0,上板 dtype 0/1/2 运行 RC=0,参数负例 RC=255。 - **本地 CI 预检**:pre-commit 全钩子(clang-format/ruff/codespell/OAT License Header 等)通过,OAT 强制重扫 8 文件 Invalid Count: 0。 ## 文档更新 - math/fresnel_sin/README.md:dtype 表产品限定、异常校验错误码表、约束说明(截断/NaN/容量上限/动态 shape 先决条件)、图模式 IR 链接。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!7077 | 8 days ago | |
[fix] 插件归位 Co-authored-by: nextyale<yaochen15@huawei.com> # message auto-generated for no-merge-commit merge: !4626 merge issue2302 into master [fix] 插件归位 Created-by: nextyale Commit-by: nextyale Merged-by: cann-robot Description: ## 描述 迁移算子插件到对应目录 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2302 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述: 迁移插件 See merge request: cann/ops-math!4626 | 2 months ago | |
legacy下线:为AdaCast/SignBitsUnpack/Sinh/Spence/Tan新增tiling/infer调试日志+op_graph InferDataType迁移 Co-authored-by: zhouxuan78<zhouxuan78@huawei.com> # message auto-generated for no-merge-commit merge: !4498 merge master into master legacy下线:为AdaCast/SignBitsUnpack/Sinh/Spence/Tan新增tiling/infer调试日志+op_graph InferDataType迁移 Created-by: zhouxuan78 Commit-by: zhouxuan78 Merged-by: cann-robot Description: ## 描述 Legacy包下线整改:为AdaCast/SignBitsUnpack/Sinh/Spence/Tan 5个算子新增tiling/infer调试日志,补充spence op_graph InferDataType迁移。 ## 变更内容 - tiling入口新增OP_LOGD锚点日志,TilingData新增OP_LOGI日志 - InferShape新增OP_LOGI输出日志 - 补充spence_graph_infer.cpp(InferDataType迁移到op_graph,IMPL_OP注册) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 测试 <!-- 描述您如何测试这些更改。--> ## 文档更新 <!-- 如果有文档更新,请在这里描述。--> ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他:Legacy包下线整改 See merge request: cann/ops-math!4498 | 2 months ago | |
fix(fresnel_sin): tiling 拦截负元素总数并上报真实 dtype,VECCALC 队列 Buffer 收敛至 8,README 与示例加固 Co-authored-by: xuejinghui<xuejinghui@huawei.com> # message auto-generated for no-merge-commit merge: !7077 merge fix/fresnelsin-hardening-scan into master fix(fresnel_sin): tiling 拦截负元素总数并上报真实 dtype,VECCALC 队列 Buffer 收敛至 8,README 与示例加固 Created-by: xuejinghui Commit-by: xuejinghui Merged-by: cann-robot Description: ## 描述 修复 FresnelSin(math/fresnel_sin,arch35)质量加固验证发现的产品代码缺陷并同步修正资料与示例: 1. **tiling dtype 报错携带真实输入类型**:dtype 校验失败分支第 3 参数由固定字面量 "unsupported" 改为 ge::TypeUtils::DataTypeToSerialString 实际 dtype 串(对齐仓内 abs_grad tiling 同位置惯例);随后将修改行原用的废弃宏迁移至 OP_LOGE_FOR_INVALID_DTYPE(EZ0019,development-standard dtype 路由),真实 dtype 串语义不回退。 2. **tiling 拦截负元素总数**:元素总数参与分块计算前补 *totalIdx < 0 哨卫(EZ0015)——覆盖 -1/-2 维负乘积与 INT64_MIN 溢出哨兵,消除 SetBlockDim(uint32 形参)隐式回绕后整图静默成功的问题。 3. **VECCALC 队列 Buffer 11→8**:mask 队列(1 个 TQue 3 块,无 EnQue/DeQue 队列语义、全 tile 存活纯工作区)改 3×TBuf 工作区,VECCALC 位置队列 Buffer 收敛至 8(≤ 上限);向量算子零增删、数值与性能路径不变、tiling ubFactor 字节预算不变。 4. **README/proto 资料修正**:补图模式算子 IR 链接、dtype 表产品限定说明(Atlas 推理/训练系列不支持 BF16)、大输入截断(|x|≥36974 → sign(x)·0.5)与 NaN 传播声明、异常校验错误码表(EZ0019/EZ0017/E80012/EZ0015)、元素总数上限(2^32-1)与动态 shape 先决条件。 5. **GE 示例加固**(根副本与 arch35 副本同步):dtype 参数解析(strtol + endptr 校验,按文档声明的 BF16/FP16/FP 映射);ADD_INPUT 节点名改字符串拼接修复指针运算;AddGraph/文件写入(fopen/fwrite/fclose)返回值检查;CreateOppInGraph 失败路径补 GEFinalize;new Session 改 nothrow;arch35 副本 include 相对路径修复(原编译断裂);删除无依据的 "Precision is ok" 打印。 6. **UT 看护**:新增 tiling UT 4 例(负 totalIdx 三形态拒绝断言 + dtype 报错携带真实 dtype 断言,EZ0019 + DT_INT32 双断言),CMakeLists 接线 error_manager。 ### 决策与权衡 - **队列 Buffer 收敛选型(TQue→TBuf)**:三张 mask 从未使用队列语义(无 EnQue/DeQue,纯工作区,全 tile 存活),TBuf 即其语义正解。对比备选:「mask 生产点后移逐张复用(3→1)」在 8+1=9 块下仍超上限且引入 Alloc/Free 时序出错面;「calc 侧减 1 块」需手动生命周期管理、时序敏感。已按官方文档核实 TQue 上限计数口径不含 TBuf(未触发回退组合方案)。多 tile 跨 TBuf 复用已由防复发用例覆盖。 - **dtype 报错宏迁移(EZ0007→EZ0019)**:修改行原用治理废弃宏,按 development-standard 的 dtype 报错路由迁移 OP_LOGE_FOR_INVALID_DTYPE,仓内 abs_grad 同款先例;四实参不变,真实 dtype 串(第 1 条修复引入)语义不回退。 - **负 totalIdx 拦截粒度**:单条 < 0 哨卫即天然覆盖 INT64_MIN 哨兵(无需单独判等);拒绝时点在 tiling,动态 shape「框架先具体化」先决条件在 README 同步显性化(-1/-2 维未具体化时负乘积被 tiling 拒绝)。 ## 关联的Issue Fixes #4443 ## 测试 - **Host UT**:Tiling 17(含 4 新增看护)+ InferShape 9 = 26/26 全过,行覆盖 97.1% 持平不倒退。 - **TTK 全量回归(修复后新执行)**:L0 271/271(非空 265 例 matched_ratio 全 1.0 + 空 shape 6 例 + 防复发 6 例);OOM 插桩 271/271;L2 负例 8/8 受控拒绝(报错含真实 dtype 串);负值路径机制实验 4/4 拒绝 + 3 对照不变。 - **修改前后对账**:PASS→FAIL(新增回归)= 0;修复叙事 FAIL→PASS 8 项(dtype 报错形态 / 负值拒绝 / 队列 Buffer 收敛 L0+OOM / 示例硬化 / arch35 示例编译断裂 / 宏迁移等)。 - **示例**:双副本编译 RC=0,上板 dtype 0/1/2 运行 RC=0,参数负例 RC=255。 - **本地 CI 预检**:pre-commit 全钩子(clang-format/ruff/codespell/OAT License Header 等)通过,OAT 强制重扫 8 文件 Invalid Count: 0。 ## 文档更新 - math/fresnel_sin/README.md:dtype 表产品限定、异常校验错误码表、约束说明(截断/NaN/容量上限/动态 shape 先决条件)、图模式 IR 链接。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!7077 | 8 days ago | |
fix(fresnel_sin): tiling 拦截负元素总数并上报真实 dtype,VECCALC 队列 Buffer 收敛至 8,README 与示例加固 Co-authored-by: xuejinghui<xuejinghui@huawei.com> # message auto-generated for no-merge-commit merge: !7077 merge fix/fresnelsin-hardening-scan into master fix(fresnel_sin): tiling 拦截负元素总数并上报真实 dtype,VECCALC 队列 Buffer 收敛至 8,README 与示例加固 Created-by: xuejinghui Commit-by: xuejinghui Merged-by: cann-robot Description: ## 描述 修复 FresnelSin(math/fresnel_sin,arch35)质量加固验证发现的产品代码缺陷并同步修正资料与示例: 1. **tiling dtype 报错携带真实输入类型**:dtype 校验失败分支第 3 参数由固定字面量 "unsupported" 改为 ge::TypeUtils::DataTypeToSerialString 实际 dtype 串(对齐仓内 abs_grad tiling 同位置惯例);随后将修改行原用的废弃宏迁移至 OP_LOGE_FOR_INVALID_DTYPE(EZ0019,development-standard dtype 路由),真实 dtype 串语义不回退。 2. **tiling 拦截负元素总数**:元素总数参与分块计算前补 *totalIdx < 0 哨卫(EZ0015)——覆盖 -1/-2 维负乘积与 INT64_MIN 溢出哨兵,消除 SetBlockDim(uint32 形参)隐式回绕后整图静默成功的问题。 3. **VECCALC 队列 Buffer 11→8**:mask 队列(1 个 TQue 3 块,无 EnQue/DeQue 队列语义、全 tile 存活纯工作区)改 3×TBuf 工作区,VECCALC 位置队列 Buffer 收敛至 8(≤ 上限);向量算子零增删、数值与性能路径不变、tiling ubFactor 字节预算不变。 4. **README/proto 资料修正**:补图模式算子 IR 链接、dtype 表产品限定说明(Atlas 推理/训练系列不支持 BF16)、大输入截断(|x|≥36974 → sign(x)·0.5)与 NaN 传播声明、异常校验错误码表(EZ0019/EZ0017/E80012/EZ0015)、元素总数上限(2^32-1)与动态 shape 先决条件。 5. **GE 示例加固**(根副本与 arch35 副本同步):dtype 参数解析(strtol + endptr 校验,按文档声明的 BF16/FP16/FP 映射);ADD_INPUT 节点名改字符串拼接修复指针运算;AddGraph/文件写入(fopen/fwrite/fclose)返回值检查;CreateOppInGraph 失败路径补 GEFinalize;new Session 改 nothrow;arch35 副本 include 相对路径修复(原编译断裂);删除无依据的 "Precision is ok" 打印。 6. **UT 看护**:新增 tiling UT 4 例(负 totalIdx 三形态拒绝断言 + dtype 报错携带真实 dtype 断言,EZ0019 + DT_INT32 双断言),CMakeLists 接线 error_manager。 ### 决策与权衡 - **队列 Buffer 收敛选型(TQue→TBuf)**:三张 mask 从未使用队列语义(无 EnQue/DeQue,纯工作区,全 tile 存活),TBuf 即其语义正解。对比备选:「mask 生产点后移逐张复用(3→1)」在 8+1=9 块下仍超上限且引入 Alloc/Free 时序出错面;「calc 侧减 1 块」需手动生命周期管理、时序敏感。已按官方文档核实 TQue 上限计数口径不含 TBuf(未触发回退组合方案)。多 tile 跨 TBuf 复用已由防复发用例覆盖。 - **dtype 报错宏迁移(EZ0007→EZ0019)**:修改行原用治理废弃宏,按 development-standard 的 dtype 报错路由迁移 OP_LOGE_FOR_INVALID_DTYPE,仓内 abs_grad 同款先例;四实参不变,真实 dtype 串(第 1 条修复引入)语义不回退。 - **负 totalIdx 拦截粒度**:单条 < 0 哨卫即天然覆盖 INT64_MIN 哨兵(无需单独判等);拒绝时点在 tiling,动态 shape「框架先具体化」先决条件在 README 同步显性化(-1/-2 维未具体化时负乘积被 tiling 拒绝)。 ## 关联的Issue Fixes #4443 ## 测试 - **Host UT**:Tiling 17(含 4 新增看护)+ InferShape 9 = 26/26 全过,行覆盖 97.1% 持平不倒退。 - **TTK 全量回归(修复后新执行)**:L0 271/271(非空 265 例 matched_ratio 全 1.0 + 空 shape 6 例 + 防复发 6 例);OOM 插桩 271/271;L2 负例 8/8 受控拒绝(报错含真实 dtype 串);负值路径机制实验 4/4 拒绝 + 3 对照不变。 - **修改前后对账**:PASS→FAIL(新增回归)= 0;修复叙事 FAIL→PASS 8 项(dtype 报错形态 / 负值拒绝 / 队列 Buffer 收敛 L0+OOM / 示例硬化 / arch35 示例编译断裂 / 宏迁移等)。 - **示例**:双副本编译 RC=0,上板 dtype 0/1/2 运行 RC=0,参数负例 RC=255。 - **本地 CI 预检**:pre-commit 全钩子(clang-format/ruff/codespell/OAT License Header 等)通过,OAT 强制重扫 8 文件 Invalid Count: 0。 ## 文档更新 - math/fresnel_sin/README.md:dtype 表产品限定、异常校验错误码表、约束说明(截断/NaN/容量上限/动态 shape 先决条件)、图模式 IR 链接。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!7077 | 8 days ago | |
fix(fresnel_sin): tiling 拦截负元素总数并上报真实 dtype,VECCALC 队列 Buffer 收敛至 8,README 与示例加固 Co-authored-by: xuejinghui<xuejinghui@huawei.com> # message auto-generated for no-merge-commit merge: !7077 merge fix/fresnelsin-hardening-scan into master fix(fresnel_sin): tiling 拦截负元素总数并上报真实 dtype,VECCALC 队列 Buffer 收敛至 8,README 与示例加固 Created-by: xuejinghui Commit-by: xuejinghui Merged-by: cann-robot Description: ## 描述 修复 FresnelSin(math/fresnel_sin,arch35)质量加固验证发现的产品代码缺陷并同步修正资料与示例: 1. **tiling dtype 报错携带真实输入类型**:dtype 校验失败分支第 3 参数由固定字面量 "unsupported" 改为 ge::TypeUtils::DataTypeToSerialString 实际 dtype 串(对齐仓内 abs_grad tiling 同位置惯例);随后将修改行原用的废弃宏迁移至 OP_LOGE_FOR_INVALID_DTYPE(EZ0019,development-standard dtype 路由),真实 dtype 串语义不回退。 2. **tiling 拦截负元素总数**:元素总数参与分块计算前补 *totalIdx < 0 哨卫(EZ0015)——覆盖 -1/-2 维负乘积与 INT64_MIN 溢出哨兵,消除 SetBlockDim(uint32 形参)隐式回绕后整图静默成功的问题。 3. **VECCALC 队列 Buffer 11→8**:mask 队列(1 个 TQue 3 块,无 EnQue/DeQue 队列语义、全 tile 存活纯工作区)改 3×TBuf 工作区,VECCALC 位置队列 Buffer 收敛至 8(≤ 上限);向量算子零增删、数值与性能路径不变、tiling ubFactor 字节预算不变。 4. **README/proto 资料修正**:补图模式算子 IR 链接、dtype 表产品限定说明(Atlas 推理/训练系列不支持 BF16)、大输入截断(|x|≥36974 → sign(x)·0.5)与 NaN 传播声明、异常校验错误码表(EZ0019/EZ0017/E80012/EZ0015)、元素总数上限(2^32-1)与动态 shape 先决条件。 5. **GE 示例加固**(根副本与 arch35 副本同步):dtype 参数解析(strtol + endptr 校验,按文档声明的 BF16/FP16/FP 映射);ADD_INPUT 节点名改字符串拼接修复指针运算;AddGraph/文件写入(fopen/fwrite/fclose)返回值检查;CreateOppInGraph 失败路径补 GEFinalize;new Session 改 nothrow;arch35 副本 include 相对路径修复(原编译断裂);删除无依据的 "Precision is ok" 打印。 6. **UT 看护**:新增 tiling UT 4 例(负 totalIdx 三形态拒绝断言 + dtype 报错携带真实 dtype 断言,EZ0019 + DT_INT32 双断言),CMakeLists 接线 error_manager。 ### 决策与权衡 - **队列 Buffer 收敛选型(TQue→TBuf)**:三张 mask 从未使用队列语义(无 EnQue/DeQue,纯工作区,全 tile 存活),TBuf 即其语义正解。对比备选:「mask 生产点后移逐张复用(3→1)」在 8+1=9 块下仍超上限且引入 Alloc/Free 时序出错面;「calc 侧减 1 块」需手动生命周期管理、时序敏感。已按官方文档核实 TQue 上限计数口径不含 TBuf(未触发回退组合方案)。多 tile 跨 TBuf 复用已由防复发用例覆盖。 - **dtype 报错宏迁移(EZ0007→EZ0019)**:修改行原用治理废弃宏,按 development-standard 的 dtype 报错路由迁移 OP_LOGE_FOR_INVALID_DTYPE,仓内 abs_grad 同款先例;四实参不变,真实 dtype 串(第 1 条修复引入)语义不回退。 - **负 totalIdx 拦截粒度**:单条 < 0 哨卫即天然覆盖 INT64_MIN 哨兵(无需单独判等);拒绝时点在 tiling,动态 shape「框架先具体化」先决条件在 README 同步显性化(-1/-2 维未具体化时负乘积被 tiling 拒绝)。 ## 关联的Issue Fixes #4443 ## 测试 - **Host UT**:Tiling 17(含 4 新增看护)+ InferShape 9 = 26/26 全过,行覆盖 97.1% 持平不倒退。 - **TTK 全量回归(修复后新执行)**:L0 271/271(非空 265 例 matched_ratio 全 1.0 + 空 shape 6 例 + 防复发 6 例);OOM 插桩 271/271;L2 负例 8/8 受控拒绝(报错含真实 dtype 串);负值路径机制实验 4/4 拒绝 + 3 对照不变。 - **修改前后对账**:PASS→FAIL(新增回归)= 0;修复叙事 FAIL→PASS 8 项(dtype 报错形态 / 负值拒绝 / 队列 Buffer 收敛 L0+OOM / 示例硬化 / arch35 示例编译断裂 / 宏迁移等)。 - **示例**:双副本编译 RC=0,上板 dtype 0/1/2 运行 RC=0,参数负例 RC=255。 - **本地 CI 预检**:pre-commit 全钩子(clang-format/ruff/codespell/OAT License Header 等)通过,OAT 强制重扫 8 文件 Invalid Count: 0。 ## 文档更新 - math/fresnel_sin/README.md:dtype 表产品限定、异常校验错误码表、约束说明(截断/NaN/容量上限/动态 shape 先决条件)、图模式 IR 链接。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!7077 | 8 days ago | |
fix(fresnel_sin): tiling 拦截负元素总数并上报真实 dtype,VECCALC 队列 Buffer 收敛至 8,README 与示例加固 Co-authored-by: xuejinghui<xuejinghui@huawei.com> # message auto-generated for no-merge-commit merge: !7077 merge fix/fresnelsin-hardening-scan into master fix(fresnel_sin): tiling 拦截负元素总数并上报真实 dtype,VECCALC 队列 Buffer 收敛至 8,README 与示例加固 Created-by: xuejinghui Commit-by: xuejinghui Merged-by: cann-robot Description: ## 描述 修复 FresnelSin(math/fresnel_sin,arch35)质量加固验证发现的产品代码缺陷并同步修正资料与示例: 1. **tiling dtype 报错携带真实输入类型**:dtype 校验失败分支第 3 参数由固定字面量 "unsupported" 改为 ge::TypeUtils::DataTypeToSerialString 实际 dtype 串(对齐仓内 abs_grad tiling 同位置惯例);随后将修改行原用的废弃宏迁移至 OP_LOGE_FOR_INVALID_DTYPE(EZ0019,development-standard dtype 路由),真实 dtype 串语义不回退。 2. **tiling 拦截负元素总数**:元素总数参与分块计算前补 *totalIdx < 0 哨卫(EZ0015)——覆盖 -1/-2 维负乘积与 INT64_MIN 溢出哨兵,消除 SetBlockDim(uint32 形参)隐式回绕后整图静默成功的问题。 3. **VECCALC 队列 Buffer 11→8**:mask 队列(1 个 TQue 3 块,无 EnQue/DeQue 队列语义、全 tile 存活纯工作区)改 3×TBuf 工作区,VECCALC 位置队列 Buffer 收敛至 8(≤ 上限);向量算子零增删、数值与性能路径不变、tiling ubFactor 字节预算不变。 4. **README/proto 资料修正**:补图模式算子 IR 链接、dtype 表产品限定说明(Atlas 推理/训练系列不支持 BF16)、大输入截断(|x|≥36974 → sign(x)·0.5)与 NaN 传播声明、异常校验错误码表(EZ0019/EZ0017/E80012/EZ0015)、元素总数上限(2^32-1)与动态 shape 先决条件。 5. **GE 示例加固**(根副本与 arch35 副本同步):dtype 参数解析(strtol + endptr 校验,按文档声明的 BF16/FP16/FP 映射);ADD_INPUT 节点名改字符串拼接修复指针运算;AddGraph/文件写入(fopen/fwrite/fclose)返回值检查;CreateOppInGraph 失败路径补 GEFinalize;new Session 改 nothrow;arch35 副本 include 相对路径修复(原编译断裂);删除无依据的 "Precision is ok" 打印。 6. **UT 看护**:新增 tiling UT 4 例(负 totalIdx 三形态拒绝断言 + dtype 报错携带真实 dtype 断言,EZ0019 + DT_INT32 双断言),CMakeLists 接线 error_manager。 ### 决策与权衡 - **队列 Buffer 收敛选型(TQue→TBuf)**:三张 mask 从未使用队列语义(无 EnQue/DeQue,纯工作区,全 tile 存活),TBuf 即其语义正解。对比备选:「mask 生产点后移逐张复用(3→1)」在 8+1=9 块下仍超上限且引入 Alloc/Free 时序出错面;「calc 侧减 1 块」需手动生命周期管理、时序敏感。已按官方文档核实 TQue 上限计数口径不含 TBuf(未触发回退组合方案)。多 tile 跨 TBuf 复用已由防复发用例覆盖。 - **dtype 报错宏迁移(EZ0007→EZ0019)**:修改行原用治理废弃宏,按 development-standard 的 dtype 报错路由迁移 OP_LOGE_FOR_INVALID_DTYPE,仓内 abs_grad 同款先例;四实参不变,真实 dtype 串(第 1 条修复引入)语义不回退。 - **负 totalIdx 拦截粒度**:单条 < 0 哨卫即天然覆盖 INT64_MIN 哨兵(无需单独判等);拒绝时点在 tiling,动态 shape「框架先具体化」先决条件在 README 同步显性化(-1/-2 维未具体化时负乘积被 tiling 拒绝)。 ## 关联的Issue Fixes #4443 ## 测试 - **Host UT**:Tiling 17(含 4 新增看护)+ InferShape 9 = 26/26 全过,行覆盖 97.1% 持平不倒退。 - **TTK 全量回归(修复后新执行)**:L0 271/271(非空 265 例 matched_ratio 全 1.0 + 空 shape 6 例 + 防复发 6 例);OOM 插桩 271/271;L2 负例 8/8 受控拒绝(报错含真实 dtype 串);负值路径机制实验 4/4 拒绝 + 3 对照不变。 - **修改前后对账**:PASS→FAIL(新增回归)= 0;修复叙事 FAIL→PASS 8 项(dtype 报错形态 / 负值拒绝 / 队列 Buffer 收敛 L0+OOM / 示例硬化 / arch35 示例编译断裂 / 宏迁移等)。 - **示例**:双副本编译 RC=0,上板 dtype 0/1/2 运行 RC=0,参数负例 RC=255。 - **本地 CI 预检**:pre-commit 全钩子(clang-format/ruff/codespell/OAT License Header 等)通过,OAT 强制重扫 8 文件 Invalid Count: 0。 ## 文档更新 - math/fresnel_sin/README.md:dtype 表产品限定、异常校验错误码表、约束说明(截断/NaN/容量上限/动态 shape 先决条件)、图模式 IR 链接。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!7077 | 8 days ago | |
fix(fresnel_sin): tiling 拦截负元素总数并上报真实 dtype,VECCALC 队列 Buffer 收敛至 8,README 与示例加固 Co-authored-by: xuejinghui<xuejinghui@huawei.com> # message auto-generated for no-merge-commit merge: !7077 merge fix/fresnelsin-hardening-scan into master fix(fresnel_sin): tiling 拦截负元素总数并上报真实 dtype,VECCALC 队列 Buffer 收敛至 8,README 与示例加固 Created-by: xuejinghui Commit-by: xuejinghui Merged-by: cann-robot Description: ## 描述 修复 FresnelSin(math/fresnel_sin,arch35)质量加固验证发现的产品代码缺陷并同步修正资料与示例: 1. **tiling dtype 报错携带真实输入类型**:dtype 校验失败分支第 3 参数由固定字面量 "unsupported" 改为 ge::TypeUtils::DataTypeToSerialString 实际 dtype 串(对齐仓内 abs_grad tiling 同位置惯例);随后将修改行原用的废弃宏迁移至 OP_LOGE_FOR_INVALID_DTYPE(EZ0019,development-standard dtype 路由),真实 dtype 串语义不回退。 2. **tiling 拦截负元素总数**:元素总数参与分块计算前补 *totalIdx < 0 哨卫(EZ0015)——覆盖 -1/-2 维负乘积与 INT64_MIN 溢出哨兵,消除 SetBlockDim(uint32 形参)隐式回绕后整图静默成功的问题。 3. **VECCALC 队列 Buffer 11→8**:mask 队列(1 个 TQue 3 块,无 EnQue/DeQue 队列语义、全 tile 存活纯工作区)改 3×TBuf 工作区,VECCALC 位置队列 Buffer 收敛至 8(≤ 上限);向量算子零增删、数值与性能路径不变、tiling ubFactor 字节预算不变。 4. **README/proto 资料修正**:补图模式算子 IR 链接、dtype 表产品限定说明(Atlas 推理/训练系列不支持 BF16)、大输入截断(|x|≥36974 → sign(x)·0.5)与 NaN 传播声明、异常校验错误码表(EZ0019/EZ0017/E80012/EZ0015)、元素总数上限(2^32-1)与动态 shape 先决条件。 5. **GE 示例加固**(根副本与 arch35 副本同步):dtype 参数解析(strtol + endptr 校验,按文档声明的 BF16/FP16/FP 映射);ADD_INPUT 节点名改字符串拼接修复指针运算;AddGraph/文件写入(fopen/fwrite/fclose)返回值检查;CreateOppInGraph 失败路径补 GEFinalize;new Session 改 nothrow;arch35 副本 include 相对路径修复(原编译断裂);删除无依据的 "Precision is ok" 打印。 6. **UT 看护**:新增 tiling UT 4 例(负 totalIdx 三形态拒绝断言 + dtype 报错携带真实 dtype 断言,EZ0019 + DT_INT32 双断言),CMakeLists 接线 error_manager。 ### 决策与权衡 - **队列 Buffer 收敛选型(TQue→TBuf)**:三张 mask 从未使用队列语义(无 EnQue/DeQue,纯工作区,全 tile 存活),TBuf 即其语义正解。对比备选:「mask 生产点后移逐张复用(3→1)」在 8+1=9 块下仍超上限且引入 Alloc/Free 时序出错面;「calc 侧减 1 块」需手动生命周期管理、时序敏感。已按官方文档核实 TQue 上限计数口径不含 TBuf(未触发回退组合方案)。多 tile 跨 TBuf 复用已由防复发用例覆盖。 - **dtype 报错宏迁移(EZ0007→EZ0019)**:修改行原用治理废弃宏,按 development-standard 的 dtype 报错路由迁移 OP_LOGE_FOR_INVALID_DTYPE,仓内 abs_grad 同款先例;四实参不变,真实 dtype 串(第 1 条修复引入)语义不回退。 - **负 totalIdx 拦截粒度**:单条 < 0 哨卫即天然覆盖 INT64_MIN 哨兵(无需单独判等);拒绝时点在 tiling,动态 shape「框架先具体化」先决条件在 README 同步显性化(-1/-2 维未具体化时负乘积被 tiling 拒绝)。 ## 关联的Issue Fixes #4443 ## 测试 - **Host UT**:Tiling 17(含 4 新增看护)+ InferShape 9 = 26/26 全过,行覆盖 97.1% 持平不倒退。 - **TTK 全量回归(修复后新执行)**:L0 271/271(非空 265 例 matched_ratio 全 1.0 + 空 shape 6 例 + 防复发 6 例);OOM 插桩 271/271;L2 负例 8/8 受控拒绝(报错含真实 dtype 串);负值路径机制实验 4/4 拒绝 + 3 对照不变。 - **修改前后对账**:PASS→FAIL(新增回归)= 0;修复叙事 FAIL→PASS 8 项(dtype 报错形态 / 负值拒绝 / 队列 Buffer 收敛 L0+OOM / 示例硬化 / arch35 示例编译断裂 / 宏迁移等)。 - **示例**:双副本编译 RC=0,上板 dtype 0/1/2 运行 RC=0,参数负例 RC=255。 - **本地 CI 预检**:pre-commit 全钩子(clang-format/ruff/codespell/OAT License Header 等)通过,OAT 强制重扫 8 文件 Invalid Count: 0。 ## 文档更新 - math/fresnel_sin/README.md:dtype 表产品限定、异常校验错误码表、约束说明(截断/NaN/容量上限/动态 shape 先决条件)、图模式 IR 链接。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!7077 | 8 days 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 | 10 days ago |
FresnelSin
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: computes the Fresnel sine integral S(x) = integral_0^x sin(pi*t^2/2) dt.
-
Computation formula:
S(x)=∫0xsin(π2t2)dtS(x) = \int_{0}^{x} \sin\left(\frac{\pi}{2} t^{2}\right) \mathrm{d}t S(x)=∫0xsin(2πt2)dt
Parameter Description
| Parameter Name | Input/Output/Attribute | Description | Data Type | Data Format |
|---|---|---|---|---|
| x | Input | Input parameter for the Fresnel sine integral computation, which is x in the formula. | BFLOAT16, FLOAT16, FLOAT | ND |
| y | Output | Output parameter of the Fresnel sine integral computation, which is S(x) in the formula. | BFLOAT16, FLOAT16, FLOAT | ND |
Constraint Description
- The DOUBLE (FP64) data type is not supported.
- The number of dimensions (rank) of x ranges from 0 to 8, and 0-dimensional scalar inputs are supported.
- Empty tensors (0 elements) are supported as inputs: the Tiling on the host side short-circuits and returns directly, and the output is an empty tensor with the same shape (handled automatically).
- Non-contiguous tensor inputs are supported (handled automatically on the host side).
- Dynamic shape support: dynamic shapes and dynamic ranks are supported (-1 for an unknown dimension / -2 for an unknown rank).
Invocation Description
| Invocation Method | Invocation Sample | Description |
|---|---|---|
| Graph-mode invocation | test_geir_fresnel_sin | Invokes the FresnelSin operator through the graph mode. |