已关闭
[Requirement|需求建议]: ExtendConvTranspose A16W8场景统一由小核模板路由并同步UT期望 #6079
linruihan创建于  28 天前关闭于  27 天前
linruihan成员
28 天前 创建

Backgroud(背景信息)

ExtendConvTranspose A16W8(fmap=FP16, filter=INT8)NDHWC 场景下,Conv3DDXV2SmallKernelTiling::HasSmallKernelComputationBudget() 中存在历史遗留的 A16W8 计算量门槛:当计算量超过 SMALL_KERNEL_COMPUTE_THRESHOLD * 2 时小核模板放弃承接,用例回退到内积(inner product)模板,无法享受小核模板的路由收益。

Origin(信息来源)

海思

Benefit / Necessity (价值/作用)

  • 移除 A16W8 专属计算量门槛后,A16W8 NDHWC 场景统一由小核模板承接,tiling key 统一为小核组合(loadB1Condition=TPL_SMALL_KERNEL),简化路由逻辑;
  • 同步清理 kernel 侧 tiling key 声明中的过期注释;
  • 更新 ophost UT 中 5 个 A16W8 用例的期望 tiling key 与 tiling data,保证存量回归用例与实际行为一致。

Design(设计方案)

  • conv3d_backprop_input_v2_small_kernel_tiling.cpp:HasSmallKernelComputationBudget() 删除 isA16W8 分支,A16W8 与其他非 FP16FP16 dtype 一致地返回 true(由 buffer/format/padding 等其余 capability 检查兜底);
  • conv3d_backprop_input_v2_arch35_tiling_key.h:移除 4 处过期注释;
  • test_extend_conv_transpose_tiling.cpp:net_ndhwc_a16w8_2_fp16_stride_2、net_ndhwc_a16w8_2_fp16_pertensor_quant_mode、net_ndhwc_a16w8_2_fp16_enable_relu、net_ndhwc_a16w8_large_input、net_ndhwc_a16w8_large_input_stride_4 期望 key 由 16777218 更新为 150994946,期望 tiling data 按实际输出更新。

修复 PR:https://gitcode.com/cann/ops-nn/merge_requests/10759

likedislike
Llinruihan成员
28 天前 添加了label:requirement
Llinruihan成员
28 天前 修改了issue 的描述
yuning_chenyuning_chen成员
28 天前 将 linruihan 设为负责人
CANN-robotCANN-robot成员
27 天前 关闭了 issue
CANN-robotCANN-robot成员
27 天前 添加了label:resolved