Describe the current behavior / 问题描述 (Mandatory / 必填)
当前 Conv3D Transpose 的 N2H 转置方法为数学上的等价性能优化方案,其路径准入判断(CheckTransposeN2HEnable,位于 conv/convolution_forward/op_host/op_api/convolution.cpp)仅检查 groups、stride/dilation/pad 属性及 N/D/H/W/C 形状范围(cout/cin ∈ [1,128] 等)。 当前的准入规则未评估 tiling中HkWk 模板对 L1 内存的容量需求,L1 容量不足的 shape 经过N2H转置后,进入该模板会导致性能劣化。
CheckTransposeN2HEnable
conv/convolution_forward/op_host/op_api/convolution.cpp
Environment / 环境信息 (Mandatory / 必填)
Ascend950
Steps to reproduce the issue / 重现步骤 (Mandatory / 必填) 通过aclnn调用batch/stride较大用例【超出L1容量即可】,例如: [[2079, 2, 1, 1, 1], [2, 51, 1, 1, 3], [51]],fp32,{'stride': [1, 1, 63], 'padding': [0, 0, 0], 'dilation': [1, 1, 1], 'transposed': True, 'output_padding': [0, 0, 0], 'groups': 1, 'cube_math_type': 3, }
Describe the expected behavior / 预期结果 (Mandatory / 必填) 对于N2H后走HkWk模板导致性能劣化的用例,不准入N2H转置。
Related log / screenshot / 日志 / 截图 (Mandatory / 必填) duration劣化明显
关联 PR:https://gitcode.com/cann/ops-nn/pull/9726
Describe the current behavior / 问题描述 (Mandatory / 必填)
当前 Conv3D Transpose 的 N2H 转置方法为数学上的等价性能优化方案,其路径准入判断(
CheckTransposeN2HEnable,位于conv/convolution_forward/op_host/op_api/convolution.cpp)仅检查 groups、stride/dilation/pad 属性及 N/D/H/W/C 形状范围(cout/cin ∈ [1,128] 等)。当前的准入规则未评估 tiling中HkWk 模板对 L1 内存的容量需求,L1 容量不足的 shape 经过N2H转置后,进入该模板会导致性能劣化。
Environment / 环境信息 (Mandatory / 必填)
Ascend950
Steps to reproduce the issue / 重现步骤 (Mandatory / 必填)
通过aclnn调用batch/stride较大用例【超出L1容量即可】,例如:
[[2079, 2, 1, 1, 1], [2, 51, 1, 1, 3], [51]],fp32,{'stride': [1, 1, 63], 'padding': [0, 0, 0], 'dilation': [1, 1, 1], 'transposed': True, 'output_padding': [0, 0, 0], 'groups': 1, 'cube_math_type': 3, }
Describe the expected behavior / 预期结果 (Mandatory / 必填)
对于N2H后走HkWk模板导致性能劣化的用例,不准入N2H转置。
Related log / screenshot / 日志 / 截图 (Mandatory / 必填)
duration劣化明显
关联 PR:https://gitcode.com/cann/ops-nn/pull/9726