文件最后提交记录最后更新时间
refactor: resize 类算子 Simt API 从 C++ 风格迁移到 C 风格 Co-authored-by: chenfeng61<chenfeng61@huawei.com> # message auto-generated for no-merge-commit merge: !788 merge simt_zg into master refactor: resize 类算子 Simt API 从 C++ 风格迁移到 C 风格 Created-by: chenfeng61 Commit-by: chenfeng61 Merged-by: cann-robot Description: ## 描述 将 resize 类算子的 Simt kernel 代码从 C++ 风格 API 迁移到 C 风格 API。 ### 改动原因 C 风格 API 具有更好的可移植性和兼容性,便于算子代码在不同编译器环境下编译执行。 ### 改动方法 1. 添加头文件 simt_api/asc_simt.h 以引入 C 风格 API 定义 2. 替换 Simt C++ 命名空间调用为对应的 C 函数: - Simt::Floor()floorf() - Simt::Ceil()ceilf() - Simt::GetThreadIdx()threadIdx.x - Simt::GetThreadNum<0>()blockDim.x - Simt::VF_CALLasc_vf_call - Simt::Dim3dim3 3. 涉及 10 个 resize 类算子家族的 28 个 kernel 头文件 ## 关联的Issue https://gitcode.com/cann/ops-cv/issues/398 ## 测试 需要验证修改后的算子在精度和性能上与原实现保持一致。 ## 文档更新 无 ## 类型标签 - [x] ♻️ 重构 See merge request: cann/ops-cv!7881 个月前
resize_nearest_neighbor_v2 nchw 格式性能优化 Co-authored-by: chenfeng61<chenfeng61@huawei.com> # message auto-generated for no-merge-commit merge: !822 merge new_nearest into master resize_nearest_neighbor_v2 nchw 格式性能优化 Created-by: chenfeng61 Commit-by: chenfeng61 Merged-by: cann-robot Description: ## 描述 为 resize_nearest_neighbor_v2 算子新增 Gather 模版,提升 NCHW 格式场景的计算性能。 ### 改动原因 现有调度策略在部分 NCHW 格式场景下性能不佳,需要新增基于 MicroAPI 的 Gather 调度策略,利用寄存器级操作提升计算效率。 ### 改动方法 1. 新增调度策略 ID: - TPL_SCH_MODE_GATHER_ALL_HW (ID=9): 所有 HW 可放入 UB 的场景 - TPL_SCH_MODE_GATHER_CUT_H (ID=10): 需要切 H 的场景 2. 新增 kernel 实现 (resize_nearest_neighbor_v2_nchw_gather.h): - 使用 MicroAPI RegTensor、AddrReg、UpdateMask 等特性 - 实现高效坐标计算和 Gather 输出 - 支持 alignCorners 和 halfPixelCenters 参数 3. 扩展 Tiling 策略: - IsMatchTiling_NCHW_Gather(): 判断是否启用 Gather 调度 - DoTilingGatherNchw(): 计算 GATHER_ALL_HW 场景 tiling 参数 - ComputeGatherCutH(): 计算 GATHER_CUT_H 场景 tiling 参数 - 使用动态 ubBlockSize_ 替换固定 ONE_BLOCK_SIZE 4. 注册模版: - 新增 RESIZE_NEAREST_NEIGHBOR_V2_GATHER_TPL_KEY_SEL() 宏 - 在 apt.cpp 中添加 Gather 调度分支处理 ### 涉及文件 - image/resize_nearest_neighbor_v2/op_kernel/arch35/resize_nearest_neighbor_v2_nchw_gather.h (新增 696 行) - image/resize_nearest_neighbor_v2/op_host/arch35/resize_nearest_neighbor_v2_tiling_base.cpp (修改 153+/19-) - image/resize_nearest_neighbor_v2/op_kernel/arch35/resize_nearest_neighbor_v2_tiling_key.h (修改 16+/2-) - image/resize_nearest_neighbor_v2/op_kernel/resize_nearest_neighbor_v2_apt.cpp (修改 13+/0-) ## 关联的Issue - #403 https://gitcode.com/cann/ops-cv/issues/403 ## 测试 需要验证新增 Gather 调度策略在 NCHW 格式场景下的精度和性能。 ## 文档更新 无 ## 类型标签 - [x] ✨ 新特性 - [x] ⚡ 性能优化 See merge request: cann/ops-cv!8221 个月前