| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[CANNBot]新增NPUAllocFloatStatus算子 Co-authored-by: qq_52056150<24171214023@stu.xidian.edu.cn> # message auto-generated for no-merge-commit merge: !8782 merge add_npu_alloc_float_status into master [CANNBot]新增NPUAllocFloatStatus算子 Created-by: wkkk0528 Commit-by: qq_52056150 Merged-by: cann-robot Description: ## 描述 NPUAllocFloatStatus算子支持Ascend950 ### 算子功能 NPUAllocFloatStatus 用于分配并初始化浮点异常状态张量。算子接收一个可选的输入张量(仅用于形状推导),输出一个固定长度为8的float32张量,所有元素初始化为零值。该算子是 NPUFloatStatus 类算子的基础组件,通常与 NPUClearFloatStatus 配合使用,用于管理 NPU 浮点运算的异常状态。 ### 实现方式 - **架构**: Ascend950 (arch35) SIMT kernel - **Kernel 实现**: 单核 Scalar 模式,使用 SetValue 逐元素将零值写入 GM(绕过 UB,规避 DYN/BIN 首字节污染),完成后执行 DataCacheCleanAndInvalid 保证 GM 数据一致性 - **Tiling**: arch35 专用 Tiling,固定输出 8 个 float32 元素,单核无切分 - **Shape/Dtype 推导**: 输出 shape 固定为 [8],dtype 为 float32 - **REG_OP**: NPUAllocFloatStatus 原型注册,支持图模式调用 ## 关联的issue https://gitcode.com/cann/ops-math/issues/2677 ## 测试 ### TTK 测试结果 - 测试轮次: 第1轮 - 测试环境: Ascend950PR_957c (8 devices), CANN 9.2.0, TTK 3.0.0 - 第1轮结果: 编译错误(TQuePosition 标识符问题),已修复为 SetValue 直写 GM 方案 - 当前代码版本已通过本地 CI 编译验证 ### 本地 CI 预检结果 | 阶段 | 结果 | 说明 | |------|------|------| | Code Review | PASS | CR01-CR07 全部通过,2项WARN已修复(魔鬼数字提取为常量) | | Compile (single) | PASS | 单算子编译成功 | | Compile (A5) | PASS | A5 包编译成功 | | Package Verify | PASS | 2个.run包验证通过 | | CodeCheck pre-commit | PASS | clang-format/ruff/codespell/OAT 全部通过 | | UT ophost | PASS | op_host 单元测试通过 | | Example/Smoke | SKIPPED | 依赖 UT 全通过 | ### 交付件清单 - op_host: def.cpp, infershape.cpp, tiling_arch35.cpp, simplified_key.ini - op_kernel: arch35 kernel (npu_alloc_float_status.h, tiling_data.h, tiling_key.h, apt.cpp) - op_graph: proto.h, graph_infer.cpp - tests: golden.py, UT (op_api/op_host) - examples: aclnn + geir 示例 - docs: README.md ## 文档更新 - 新增 docs/zh/op_list.md 中 NPUAllocFloatStatus 条目 - 新增算子 README.md 和 aclnn API 文档 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述 ## AI/Agent 生成声明 代码来源: - [ ] 纯人工手写 - [ ] AI 辅助编写 - [x] AI 完全生成 人工审查:已完成 测试验证:已通过 合规检查:已完成 See merge request: cann/ops-nn!8782 | 1 个月前 | |
[CANNBot]新增NPUAllocFloatStatus算子 Co-authored-by: qq_52056150<24171214023@stu.xidian.edu.cn> # message auto-generated for no-merge-commit merge: !8782 merge add_npu_alloc_float_status into master [CANNBot]新增NPUAllocFloatStatus算子 Created-by: wkkk0528 Commit-by: qq_52056150 Merged-by: cann-robot Description: ## 描述 NPUAllocFloatStatus算子支持Ascend950 ### 算子功能 NPUAllocFloatStatus 用于分配并初始化浮点异常状态张量。算子接收一个可选的输入张量(仅用于形状推导),输出一个固定长度为8的float32张量,所有元素初始化为零值。该算子是 NPUFloatStatus 类算子的基础组件,通常与 NPUClearFloatStatus 配合使用,用于管理 NPU 浮点运算的异常状态。 ### 实现方式 - **架构**: Ascend950 (arch35) SIMT kernel - **Kernel 实现**: 单核 Scalar 模式,使用 SetValue 逐元素将零值写入 GM(绕过 UB,规避 DYN/BIN 首字节污染),完成后执行 DataCacheCleanAndInvalid 保证 GM 数据一致性 - **Tiling**: arch35 专用 Tiling,固定输出 8 个 float32 元素,单核无切分 - **Shape/Dtype 推导**: 输出 shape 固定为 [8],dtype 为 float32 - **REG_OP**: NPUAllocFloatStatus 原型注册,支持图模式调用 ## 关联的issue https://gitcode.com/cann/ops-math/issues/2677 ## 测试 ### TTK 测试结果 - 测试轮次: 第1轮 - 测试环境: Ascend950PR_957c (8 devices), CANN 9.2.0, TTK 3.0.0 - 第1轮结果: 编译错误(TQuePosition 标识符问题),已修复为 SetValue 直写 GM 方案 - 当前代码版本已通过本地 CI 编译验证 ### 本地 CI 预检结果 | 阶段 | 结果 | 说明 | |------|------|------| | Code Review | PASS | CR01-CR07 全部通过,2项WARN已修复(魔鬼数字提取为常量) | | Compile (single) | PASS | 单算子编译成功 | | Compile (A5) | PASS | A5 包编译成功 | | Package Verify | PASS | 2个.run包验证通过 | | CodeCheck pre-commit | PASS | clang-format/ruff/codespell/OAT 全部通过 | | UT ophost | PASS | op_host 单元测试通过 | | Example/Smoke | SKIPPED | 依赖 UT 全通过 | ### 交付件清单 - op_host: def.cpp, infershape.cpp, tiling_arch35.cpp, simplified_key.ini - op_kernel: arch35 kernel (npu_alloc_float_status.h, tiling_data.h, tiling_key.h, apt.cpp) - op_graph: proto.h, graph_infer.cpp - tests: golden.py, UT (op_api/op_host) - examples: aclnn + geir 示例 - docs: README.md ## 文档更新 - 新增 docs/zh/op_list.md 中 NPUAllocFloatStatus 条目 - 新增算子 README.md 和 aclnn API 文档 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述 ## AI/Agent 生成声明 代码来源: - [ ] 纯人工手写 - [ ] AI 辅助编写 - [x] AI 完全生成 人工审查:已完成 测试验证:已通过 合规检查:已完成 See merge request: cann/ops-nn!8782 | 1 个月前 | |
[CANNBot]新增NPUAllocFloatStatus算子 Co-authored-by: qq_52056150<24171214023@stu.xidian.edu.cn> # message auto-generated for no-merge-commit merge: !8782 merge add_npu_alloc_float_status into master [CANNBot]新增NPUAllocFloatStatus算子 Created-by: wkkk0528 Commit-by: qq_52056150 Merged-by: cann-robot Description: ## 描述 NPUAllocFloatStatus算子支持Ascend950 ### 算子功能 NPUAllocFloatStatus 用于分配并初始化浮点异常状态张量。算子接收一个可选的输入张量(仅用于形状推导),输出一个固定长度为8的float32张量,所有元素初始化为零值。该算子是 NPUFloatStatus 类算子的基础组件,通常与 NPUClearFloatStatus 配合使用,用于管理 NPU 浮点运算的异常状态。 ### 实现方式 - **架构**: Ascend950 (arch35) SIMT kernel - **Kernel 实现**: 单核 Scalar 模式,使用 SetValue 逐元素将零值写入 GM(绕过 UB,规避 DYN/BIN 首字节污染),完成后执行 DataCacheCleanAndInvalid 保证 GM 数据一致性 - **Tiling**: arch35 专用 Tiling,固定输出 8 个 float32 元素,单核无切分 - **Shape/Dtype 推导**: 输出 shape 固定为 [8],dtype 为 float32 - **REG_OP**: NPUAllocFloatStatus 原型注册,支持图模式调用 ## 关联的issue https://gitcode.com/cann/ops-math/issues/2677 ## 测试 ### TTK 测试结果 - 测试轮次: 第1轮 - 测试环境: Ascend950PR_957c (8 devices), CANN 9.2.0, TTK 3.0.0 - 第1轮结果: 编译错误(TQuePosition 标识符问题),已修复为 SetValue 直写 GM 方案 - 当前代码版本已通过本地 CI 编译验证 ### 本地 CI 预检结果 | 阶段 | 结果 | 说明 | |------|------|------| | Code Review | PASS | CR01-CR07 全部通过,2项WARN已修复(魔鬼数字提取为常量) | | Compile (single) | PASS | 单算子编译成功 | | Compile (A5) | PASS | A5 包编译成功 | | Package Verify | PASS | 2个.run包验证通过 | | CodeCheck pre-commit | PASS | clang-format/ruff/codespell/OAT 全部通过 | | UT ophost | PASS | op_host 单元测试通过 | | Example/Smoke | SKIPPED | 依赖 UT 全通过 | ### 交付件清单 - op_host: def.cpp, infershape.cpp, tiling_arch35.cpp, simplified_key.ini - op_kernel: arch35 kernel (npu_alloc_float_status.h, tiling_data.h, tiling_key.h, apt.cpp) - op_graph: proto.h, graph_infer.cpp - tests: golden.py, UT (op_api/op_host) - examples: aclnn + geir 示例 - docs: README.md ## 文档更新 - 新增 docs/zh/op_list.md 中 NPUAllocFloatStatus 条目 - 新增算子 README.md 和 aclnn API 文档 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述 ## AI/Agent 生成声明 代码来源: - [ ] 纯人工手写 - [ ] AI 辅助编写 - [x] AI 完全生成 人工审查:已完成 测试验证:已通过 合规检查:已完成 See merge request: cann/ops-nn!8782 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 |