Pull Request已成功合入, 合并人@CANN-robot
(感谢 huafeng793 的贡献)变更摘要
本次 PR 是对 tilingkey 裁剪功能的回退,主要撤销了此前 MR #7293 引入的 SmallKernel(小卷积核)裁剪优化。核心变化是:删除 CONV2D_SCALAR_OPT_SEL_NK 宏(即不带 SmallKernel 裁剪的变体),统一使用 CONV2D_SCALAR_OPT_SEL,并将 SmallKernel 选择项合并回主宏的展开链中。同时,在 conv2d_v2 相关 tilingkey 文件中删除了多个 "No SmallWeight" 变体宏,将其功能合并到基础宏中;DMA 模式下原本独立的 ORI_GROUP 系列宏也被合并到通用 DMA SEL 中。此外,新增了两个 C04 inner batch 场景的 tilingkey 选择宏。
主要改动
-
删除
CONV2D_SCALAR_OPT_SEL_NK宏并统一为CONV2D_SCALAR_OPT_SEL:在conv_tilingkey.h中移除了CONV2D_SCALAR_OPT_SEL_NK的定义,同时修改CONV2D_SCALAR_OPT_SEL使其不再以逗号分隔而是直接拼接SmallKernel选择项,其他三个 tilingkey 文件中所有_NK宏调用也全部替换为CONV2D_SCALAR_OPT_SEL。 -
合并/删除 "No SmallWeight" 变体宏:在
conv2d_v2_tilingkey.h中删除了CONV2D_COMMON_C04_NK_TPL_UINT_SEL、CONV2D_COMMON_C04_NO_SMALL_WEIGHT_TPL_UINT_SEL和CONV2D_COMMON_C04_MIXCORE_NO_SMALL_WEIGHT_TPL_UINT_SEL,所有引用处改为使用基础宏CONV2D_COMMON_C04_TPL_UINT_SEL和CONV2D_COMMON_C04_MIXCORE_TPL_UINT_SEL;在conv2d_v2_input_hwnc_tilingkey.h中同样删除了CONV2D_COMMON_INPUT_HWNC_NO_SMALL_WEIGHT_TPL_UINT_SEL,统一使用CONV2D_COMMON_INPUT_HWNC_TPL_UINT_SEL。 -
DMA 模式下合并 ORI_GROUP 系列宏:在
conv2d_v2_tilingkey.h中删除了CONV2D_COMMON_DMA_ORI_GROUP_SEL及 5 个CONV2D_DMA_ORI_GROUP_*选择宏,将CONV2D_COMMON_DMA_SEL中GroupType的选择项扩展为同时包含CONV_GROUP_TYPE_NORMAL_CONV和CONV_GROUP_TYPE_ORI_GROUP_CONV,并从主ASCENDC_TPL_SEL列表中移除对应条目。 -
新增 C04 inner batch 的 tilingkey 选择宏:在
conv2d_v2_inner_batch_tilingkey.h和conv2d_v2_tilingkey.h中新增CONV_INNER_BATCH_ONLY_WEIGHT_FULLLOAD_L0_ALLCLOSE_ENABLE_C04_SEL和CONV_INNER_BATCH_ONLY_MN_FULLLOAD_ENABLE_C04_SEL两个宏,并在条件编译的#else分支提供空定义。 -
新增
CONV2D_ONLY_MN_FULLLOAD_MIXCORE_SEL宏:在conv2d_v2_tilingkey.h中新增该宏定义及其在ASCENDC_TPL_SEL列表中的条目,用于补充 MIXCORE 模式下ONLY_MN_FULLLOAD场景的 tilingkey 选择。


代码审查
All removed macros have no remaining references — the cleanup is complete. Now let me provide the closing summary.
审查总结
审查覆盖范围
已逐一审查全部 4 个变更文件:
| 文件 | 审查结论 |
|---|---|
conv/common/op_kernel/arch35/conv_tilingkey.h |
发现 2 个 P1 问题(同一根因的不同分支) |
conv/conv2d_v2/op_kernel/arch35/conv2d_v2_inner_batch_tilingkey.h |
无独立问题(受影响于上游 bug) |
conv/conv2d_v2/op_kernel/arch35/conv2d_v2_input_hwnc_tilingkey.h |
无独立问题(受影响于上游 bug) |
conv/conv2d_v2/op_kernel/arch35/conv2d_v2_tilingkey.h |
无独立问题(受影响于上游 bug) |
发现统计
- P0: 0
- P1: 2(
CONV2D_SCALAR_OPT_SEL宏在#if和#else两个分支中SmallWeight与SmallKernel之间均缺少逗号) - P2: 0
- P3: 0
整体风险评估
高风险。CONV2D_SCALAR_OPT_SEL 宏中缺少逗号是一个编译期语法错误,会影响所有 4 个变更文件中通过 ASCENDC_TPL_ARGS_SEL(...) 间接引用该宏的全部 tilingkey SEL 宏(约 30+ 处调用点)。此缺陷在合并 CONV2D_SCALAR_OPT_SEL_NK 和原 CONV2D_SCALAR_OPT_SEL 时意外引入了逗号丢失。修复方式明确:在 conv_tilingkey.h 第 86 行和第 91 行的 ) 后分别添加 , 即可。
| 类型 | 数量 |
|---|---|
| 🔴 阻塞 | 2 |
| 🟡 建议 | 0 |
⛔ 需要修改


Thanks for your pull-request.
The full list of commands accepted by me can be found at here。
You can get sig-info at here
PR Approval Progress
✅ Congratulations! All modules have met the lgtm and approve requirements.
Module Approval Details
| module | lgtm status | approve status |
|---|---|---|
| conv | ✅ 王慈孟, 郑李磊 (2/2) | ✅ 王慈孟, 郑李磊 (2/1) |
💡 Tip:
- Committer can comment
/approveor/lgtm- Commenting
/approveimplies both code review (lgtm) and intent to merge (approve)
CLA Signature Pass
huafeng793, thanks for your pull request. All authors of the commits have signed the CLA. 👍


/lgtm
/approve


Pull Request 已合并或已关闭。
If you want to solve this problem, you can click here to do it in the FAQs.


描述
tilingkey裁剪回退
关联的Issue
NA
测试
NA
文档更新
NA
类型标签
AI/Agent生成声明