| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat(arange): experimental/math/arange 扩展 int8/uint8/int16 + 多核切分 + 性能优化(社区任务2026 #15) Co-authored-by: forge001<kristin20251209@outlook.com> # message auto-generated for no-merge-commit merge: !3168 merge arange-pr-master into master feat(arange): experimental/math/arange 扩展 int8/uint8/int16 + 多核切分 + 性能优化(社区任务2026 #15) Created-by: forge001 Commit-by: forge001 Merged-by: cann-robot Description: ## 关联 Issue 本 PR 关联需求 issue #1956 ([Requirement|需求建议] Arange 算子贡献)。 ## 任务 社区任务2026 第15题 Arange(aclnnArange)。扩展 experimental/math/arange。 ## 变更内容 - **新增 dtype**:int8 / uint8 / int16(原型注册 + kernel 窄整型 Cast 出入口,硬件饱和语义) - **多核切分**:SetBlockDim(1) 单核 → GetCoreNum() former/tail 动态多核(各核独立无依赖 + 小 shape 退化保护) - **性能优化**:ArithProgression 替代标量 iota 循环;int32 走 native 整数路径,根治 N>2^24 的 FP32 尾数精度失真,对齐 TBE - **支持硬件**:Atlas A2 训练系列产品 / Atlas A3 系列产品(AddConfig ascend910b + ascend910_93) ## 验证 - 功能 ST(L0+L1):80/80 = 100%,507035=0 - UT:op_host 45/45 + op_kernel 10/10 - 性能:全核满载 ≤ TBE int32(2M 0.73× / 4M 0.53× / 8M 0.41×),小 shape 入 3us 容差 - 精度:AscendOpTest 默认阈值 ## 分支说明 本 PR 基于 master(tiling 使用标准头 register/op_impl_registry.h + tiling/platform/platform_ascendc.h)。算子开发与竞赛验收在 9.0.0 分支完成(对应 PR #3166),本 PR 与其唯一差异为 arange_tiling.cpp 的 2 行公共头适配。 ## 设计文档 华为评审通过(cann-ops-competitions MR#261)。 See merge request: cann/ops-math!3168 | 2 个月前 |