| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix(SignBitsUnpack、ReduceStdV2Update算子):质量加固:典型问题+代码问题整改 Co-authored-by: aqt666<2016141505@qq.com> # message auto-generated for no-merge-commit merge: !5722 merge codex/sign-bits-unpack-quality into master fix(SignBitsUnpack、ReduceStdV2Update算子):质量加固:典型问题+代码问题整改 Created-by: aqt666 Commit-by: aqt666 Merged-by: cann-robot Description: ## 描述 **SignBitsUnpack** 1. 修复解包位序与 SignBitsPack 不一致的问题:逐字节执行 bit reverse,使输出按 MSB-first 顺序展开。 2. 修复符号极性相反的问题:统一为 bit 1 输出 -1、bit 0 输出 +1。 3. 在 InferShape 中增加解包元素总数的乘法溢出检查及 size 整除检查,避免非法 shape 被静默截断。 4. 同步更新算子 README、Host UT 和 Kernel UT,新增 Pack/Unpack 位序与极性兼容性测试。 5. ACLNN 对 dtype 参数增加显式白名单校验,仅允许既有的 FLOAT/FLOAT16,未新增任何 dtype。 6. README 和 ACLNN 文档明确区分 self=UINT8、size=int64_t 与 dtype 参数支持集,避免跨参数类型聚合误判。 7. 复核 size 约束:InferShape、Tiling、ACLNN、L0 均已实现 size > 0 校验,ACLNN/InferShape 同时校验整除关系,无需重复增加逻辑。 8. 将已有非法 dtype UT 名称修正为 ascend910B2_case_invalid_dtype。 ## 关联的Issue #3202 ## 测试 - SignBitsUnpack Host UT:17/17 通过。 - SignBitsUnpack Kernel UT:8/8 通过。 - clang-format --dry-run --Werror 通过。 - git diff --check 通过。 ## 文档更新 更新 math/sign_bits_unpack/README.md,明确 MSB-first 位序及 bit 1/0 对应的输出极性。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 > canndev Ascend 950 ini 清理由于属于 cann/canndev 仓库,不包含在本 ops-math PR 中。 **ReduceStdV2Update** 1. 完善空 Tensor 防御路径:保持 EMPTY_A 零操作,EMPTY_R 输出由固定 0 修正为 NaN,并与 normal 路径 N <= correction 时的 cof=NaN 语义保持一致。 2. 修复 EMPTY_R 路径 UB 预算超限:VECOUT 队列由双缓冲调整为单缓冲,最坏场景 UB 占用由 256KB 降至 192KB,低于 248KB 上限。 3. 去除 Kernel 入口文件 _apt 后缀,将 reduce_std_v2_update_apt.cpp 重命名为 reduce_std_v2_update.cpp,并同步更新算子注册配置。 4. 保留并验证 mean 的 dtype、format、shape 一致性校验,补充 EMPTY_A、EMPTY_R 和非正分母 NaN 场景 Host UT。 5. 同步更新 README 中的空 Tensor 与 NaN 边界语义。 测试: - ReduceStdV2Update Host UT:22/22 通过。 - ReduceStdV2Update Kernel 定向构建通过。 - clang-format --dry-run --Werror 通过。 - git diff --check 通过。 ### InferShape 补充加固 1. 修复非法 dim 在 InferShape 阶段被静默忽略的问题,越界轴现在返回失败;保留负轴、多轴和轴去重语义。 2. 增加静态场景下 mean.shape == x.shape 校验,并允许动态维度延后到运行期校验。 3. 增加输入 rank 不超过 8 的约束校验。 4. 修复 unknown-rank 动态 Shape 输出透传。 5. 补充多轴归约、越界轴、mean shape 不一致、unknown-rank 和 rank 9 的 InferShape UT。 补充测试: - PR 实际 head 上 ophost + opgraph 完整构建通过。 - ReduceStdV2Update Host UT:27/27 通过(Tiling 18 项、InferShape 9 项)。 - git diff --check 通过。 See merge request: cann/ops-math!5722 | 10 天前 |