ExtendConvTranspose A16W8(fmap=FP16, filter=INT8)NDHWC 场景下,Conv3DDXV2SmallKernelTiling::HasSmallKernelComputationBudget() 中存在历史遗留的 A16W8 计算量门槛:当计算量超过 SMALL_KERNEL_COMPUTE_THRESHOLD * 2 时小核模板放弃承接,用例回退到内积(inner product)模板,无法享受小核模板的路由收益。
Conv3DDXV2SmallKernelTiling::HasSmallKernelComputationBudget()
SMALL_KERNEL_COMPUTE_THRESHOLD * 2
海思
conv3d_backprop_input_v2_small_kernel_tiling.cpp
HasSmallKernelComputationBudget()
isA16W8
conv3d_backprop_input_v2_arch35_tiling_key.h
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
修复 PR:https://gitcode.com/cann/ops-nn/merge_requests/10759
Backgroud(背景信息)
ExtendConvTranspose A16W8(fmap=FP16, filter=INT8)NDHWC 场景下,
Conv3DDXV2SmallKernelTiling::HasSmallKernelComputationBudget()中存在历史遗留的 A16W8 计算量门槛:当计算量超过SMALL_KERNEL_COMPUTE_THRESHOLD * 2时小核模板放弃承接,用例回退到内积(inner product)模板,无法享受小核模板的路由收益。Origin(信息来源)
海思
Benefit / Necessity (价值/作用)
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