已关闭
[Documentation|文档反馈]: 项目标准算子交付件说明与全量目录结构存在差异,子场景 Tiling 文件命名规则缺失 #2314
shaoyf创建于  7月24日关闭于  25 天前
shaoyf
7月24日 创建

一、文档链接 (必填)

  1. 贡献指南附录 - 项目标准算子交付件:
    https://gitcode.com/cann/ops-math/blob/master/CONTRIBUTING.md#附录
  2. 全量目录结构说明:
    https://gitcode.com/cann/ops-math/blob/master/docs/zh/install/dir_structure.md#项目目录

二、问题文档片段 (必填)

片段 1:CONTRIBUTING.md 附录中 op_host 目录的交付件清单

│   ├── op_host                                      # 算子定义、Tiling相关实现
│   │   ├── ${op_name}_def.cpp                       # 算子定义文件
│   │   ├── ${op_name}_tiling.cpp                    # 算子Tiling实现文件
│   │   └── CMakeLists.txt

片段 2:dir_structure.md 中 op_host 目录下针对子场景的可选 Tiling 文件

│   │   │   ├── ${op_name}_tiling_${sub_case}.cpp       # 可选,针对某些子场景下的Tiling优化,${sub_case}表示子场景,如${op_name}_tiling_arch35是针对arch35架构的优化,若无该文件表明该算子没有对应子场景的特定Tiling策略
│   │   │   ├── ${op_name}_tiling_${sub_case}.h         # 可选,${sub_case}子场景下Tiling实现用的头文件

💡 存在的问题

在按照贡献指南(CONTRIBUTING.md 附录)准备项目标准算子交付件时,发现附录中给出的交付件清单与 docs/zh/install/dir_structure.md 中的全量目录结构存在差异,且缺失一个关键的命名约束说明,对开发者不够友好。具体如下:

1. 附录未列出针对子场景的可选 Tiling 文件

CONTRIBUTING.md 附录中 op_host 目录下的交付件仅包含 ${op_name}_def.cpp${op_name}_tiling.cppCMakeLists.txt,而 dir_structure.md 中 op_host 目录下还包含针对子场景 Tiling 优化的可选文件 ${op_name}_tiling_${sub_case}.cpp${op_name}_tiling_${sub_case}.h。对于复杂算子,往往需要按子场景(如特定架构 arch35)拆分 Tiling 实现为多个文件承载。附录中未提及这一可选交付件,开发者无法从贡献指南中得知该机制的存在。

2. 附录未提供指向全量目录结构的链接

CONTRIBUTING.md 附录在介绍"项目标准算子交付件"时,未提供指向 docs/zh/install/dir_structure.md 的链接,开发者难以从交付件说明自然过渡到完整的目录结构说明,容易遗漏可选交付件或对目录组织方式产生疑问。

3. 关键命名规则缺失:文件名必须包含 _tiling 才能被编译

dir_structure.md 在列出 ${op_name}_tiling_${sub_case}.cpp${op_name}_tiling_${sub_case}.h 时,仅说明了这两个文件"可选"及其用途,但未说明这样的命名并非随意——文件名中必须包含 _tiling 标识才能被编译系统识别并参与编译。这一隐式约束在贡献指南和全量目录说明中均未提及,开发者如果按子场景拆分 Tiling 实现但未遵循 _tiling 命名规则,将面临文件未被编译、问题难定位的情况。

改进建议

  1. 在 CONTRIBUTING.md 附录的"项目标准算子交付件"中补充 类似${op_name}_tiling_${sub_case}.cpp${op_name}_tiling_${sub_case}.h 复杂场景可能需要用的的目录的说明,考虑在附录中增加指向 docs/zh/install/dir_structure.md 的链接,提示开发者可参考全量目录结构。
  2. 在 dir_structure.md 中针对 ${op_name}_tiling_${sub_case}.cpp/.h 的说明里,补充命名规则约束:文件名必须包含 _tiling 才能被编译系统识别参与编译,并简述其背景原因。
likedislike
Sshaoyf
7月24日 修改了issue 的描述
Sshaoyf
7月24日 issue类型由 任务 改变为 文档
陈思
陈思成员
7月25日 评论:

你好,感谢反馈。问题确认修复中,请耐心等待。

likedislike
陈思陈思成员
7月27日 关联了pull request:docs(contributing): 补充子场景 Tiling 文件与 _tiling 命名约束
陈思
陈思成员
7月28日 评论:

/assign @chensi79

likedislike
CANN-robotCANN-robot成员
7月28日 将 chensi79 设为负责人
CANN-robotCANN-robot成员
25 天前 关闭了 issue
CANN-robotCANN-robot成员
25 天前 添加了label:resolved