已关闭
[Bug-Report|缺陷反馈]: extend_conv_transpose op_kernel 编译配置被误删,ascend950 量化场景 MIX 内核 AICore 错误 #6440
cheng_gao创建于  7 天前关闭于  7 天前
cheng_gao
cheng_gao成员
7 天前 创建

Describe the current behavior / 问题描述

conv/extend_conv_transpose/op_kernel/CMakeLists.txt 在 master 提交 d7bb08ba1("修复conv3d_backprop_input_v2多申请内存问题")中被误删,导致 extend_conv_transpose 算子在 ascend950 上缺失 op_kernel 编译配置。

该算子内核(op_kernel/extend_conv_transpose.cpp)为 MIX 内核(KERNEL_TYPE_MIX_AIC_1_2,AIC+AIV 1:2 混合),复用 conv3d_backprop_input_v2 arch35 的实现头文件,且依赖特定编译选项(-DFORCE_TILING_CONST_PROPAGATION、--cce-no-dcache-flush、-DENABLE_CV_COMM_VIA_SSBUF=true)及 AUTO_SYNC false 配置。配置缺失后,ascend950 量化场景(A16W8,含 bias/scale 输入)路由到该 MIX 内核时触发 AICore 错误。

Environment Information / 环境信息

  • 昇腾硬件型号:Ascend 950(mc62)
  • 仓库:cann/ops-nn master(d7bb08ba1 及之后)

Steps to reproduce the issue / 重现步骤

  1. 检出 master(d7bb08ba1 及之后),确认 conv/extend_conv_transpose/op_kernel/ 目录下仅剩 extend_conv_transpose.cpp,CMakeLists.txt 缺失
  2. 编译 extend_conv_transpose 算子并在 ascend950 上执行量化场景(A16W8)用例

Describe the expected behavior / 预期结果

ascend950 量化场景下 extend_conv_transpose 正常执行,无 AICore 错误。

ascend950 量化场景用例执行时报 AICore error(MIX 内核路径)。

Special notes for this issue/备注

修复方案:恢复 conv/extend_conv_transpose/op_kernel/CMakeLists.txt,为 ascend950/mc62 计算单元编译内核源文件:

add_kernel_sources(
    KERNEL_SRC extend_conv_transpose.cpp
    COMPUTE_UNITS ascend950 mc62
    AUTO_SYNC false
    OPTIONS "-DFORCE_TILING_CONST_PROPAGATION" "--cce-no-dcache-flush" "-DENABLE_CV_COMM_VIA_SSBUF=true"
)

相关 issue:#2130(extend_conv_transpose 支持 A16W8)、#6079(A16W8 场景小核模板路由统一)
修复 PR:#11415

likedislike
cheng_gaocheng_gao成员
7 天前 添加了label:bug
cheng_gaocheng_gao成员
7 天前 将 cheng_gao 设为负责人
cheng_gaocheng_gao成员
7 天前 issue类型由 任务 改变为 缺陷
CANN-robotCANN-robot成员
7 天前 关闭了 issue
CANN-robotCANN-robot成员
7 天前 添加了label:resolved