| Files | Last commit | Last update |
|---|---|---|
test: 18 算子 golden 新增 TestSpec 双注册与 third_party Co-authored-by: Xbying<2119046648@qq.com> # message auto-generated for no-merge-commit merge: !5789 merge 14 into master test: 18 算子 golden 新增 TestSpec 双注册与 third_party Created-by: 2301_81474000 Commit-by: Xbying Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - 16 个算子 golden 新增 __spec__(保留旧 __golden__,单一代码源双入口):Pad、PadV2、PadV3、MirrorPad、CircularPadGrad、PadV3GradReplication、DepthToSpace、SpaceToDepth、BatchToSpaceND、MatrixSetDiagV2、Sinc、TruncateDiv、TruncateMod、Erfc、Expand、Tile/TileD - 新建 2 个 golden:ReflectionPad3dGrad、Rint - 全部补 third_party 竞品实现(F.pad / aten backward / np.pad / torch.tile / torch.round 等),视图类输出加 .contiguous() - 顺带修复 4 处原 golden 缺陷(depth_to_space 死链与未定义名、pad_v2 0 维标量越界、pad_v3_grad_replication 部分维 pad、ruff E712/F841) - 全部经 TTK loader 双入口解析与 third_party↔golden 数值互验(BatchToSpaceND 因 golden 依赖 TF 仅做解析验证) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3226 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5789 | 1 month ago | |
feat: Add aclnn st cases and golden functions Co-authored-by: yanzhi2024<yanzhi@huawei.com> # message auto-generated for no-merge-commit merge: !5200 merge master into master feat: Add aclnn st cases and golden functions Created-by: yanzhi2024 Commit-by: yanzhi2024 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 添加蓝区aclnn用例和golden函数 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-nn/issues/5325 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 不涉及 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5200 | 2 months ago | |
feat: transpose 支持 ascend960dt/ascend960pr 平台及 4bit(HIF4/FP4)类型 Co-authored-by: zhanw_coding<zhanwang@huawei.com> # message auto-generated for no-merge-commit merge: !6332 merge ft-960dt-tp into master feat: transpose 支持 ascend960dt/ascend960pr 平台及 4bit(HIF4/FP4)类型 Created-by: zhanw_coding Commit-by: zhanw_coding Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> Transpose(permute)算子接入新平台 ascend960dt、ascend960pr,并在此架构(arch92)下新增 4bit (HIF4/FP4)数据类型支持;同时适配新架构下的 NDDMA 搬运接口并开启双 buffer。 改动原因: - 现有 Transpose 未支持 ascend960dt / ascend960pr,且 x 的 dtype 列表不含 4bit 类型。 改动方法: 1. 平台接入 - CMakeLists.txt:COMPUTE_UNIT 增加 ascend960dt、ascend960pr,TILING_DIR 指向 arch35。 - transpose_def.cpp:新增 buildConfig() 统一构造 OpAICoreConfig,AddConfig("ascend960dt"/"ascend960pr")。 - 新增 op_host/config/{ascend960dt,ascend960pr}/{transpose_binary.json,transpose_simplified_key.ini}; scripts/kernel/binary_config/ascendc_config.json 登记 Transpose 的 compute_units 与编译选项。 2. 数据类型扩展(arch92) - x/y 新增 DT_FLOAT4_E2M1、DT_FLOAT4_E1M2 及 DT_HIFLOAT4(42)、DT_HIFLOAT4_SCALE(43);perm 支持 INT32/INT64。op_api(aclnn_permute / transpose)按 NpuArch::DAV_9201/DAV_9202 分支使用 arch92 dtype 列表。 3. host 侧 tiling - 新增 4bit 双切分 tiling(transpose_tiling_b4_dual_cut_arch35.{h,cpp}),新增 SplitMode::B4_DOUBLE_SPLIT=10009,触发条件为 4bit 且尾轴转置。 - transpose_tiling_arch35 新增 CheckB4Tiling/TryB4Tiling/AdjustShapeForB4/CheckB4ShapeInfo:4bit 非尾轴转置按 int8 view 处理;校验 4bit 输入/输出尾轴为偶数;NDDMA 缓冲数在 DAV_9201/9202 下取双缓冲(BIG_DIM 支持回退单缓冲)。 4. kernel 侧 - 新增 arch35/transpose_b4.h(TransposeHIF4 双切分模板):UB 内 CopyIn(Compact) → Cast fp4→bf16 → bf16 域转置 → Cast bf16→fp4 → CopyOut。 - transpose_apt.cpp 新增 TilingKey B4_DUAL_CUT=10009 分支;4bit 场景下各模板按 int8_t 实例化。 - NDDMA 相关模板(big_dim/cut_one_axis/cut_two_axis/tensor_move/n_last/transdata_5hd/5hd_021/ with_gather)在 __DAV_920R1__ 下使用带额外参数的 DataCopy/DataCopyPad 接口,base.h 新增 NDDMA_BUFFER_NUM(920R1 为 2),并按缓冲数切分 UB buffer。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3627 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 新增 UT:conversion/transpose/tests/ut/op_host/arch35/test_transpose_tiling_b4.cpp,覆盖 27 个用例, 含 2D~6D shape、多种 perm、尾轴/非尾轴转置、E2M1/E1M2、超大/极小 shape 等场景,校验 tiling 成功、 tiling key=10009 及 tiling data。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6332 | 26 days ago |