已关闭
[Course-Feedback|课程反馈]: Ascend C 初级课程 3 处「课后实践」标题用 h1 与 notebook 主标题同级,而同课程 11 处同类标题用 h2;24 个 notebook 中仅这 3 个 h1 数量为 2 #523
不喜欢雨天ༀ创建于  8月3日关闭于  8月7日
不喜欢雨天ༀ
不喜欢雨天ༀ
8月3日 创建

一、课程名称

Ascend C 算子开发初级课程(light)— 第 2 章 02_AscendC_basic、第 3 章 03_simple_operator_practice

tutorials/ascendc_operator_development_light/,分支:master(评优文档对该课程限定 master 分支)

二、反馈类型

课程内容错误(Markdown 标题层级不当,影响 Jupyter 大纲)

三、反馈详情

问题:3 处「课后实践」使用 h1,与 notebook 主标题同级

文件 位置 标题 当前层级 应为
02_AscendC_basic/02.05_generalized_tiling_design.ipynb cell#46 **课后实践** h1 h2
03_simple_operator_practice/03.04_fused_operator_concept_intro.ipynb cell#6 **课后练习** h1 h2
03_simple_operator_practice/03.05_cv_fused_operator_development.ipynb cell#18 **课后实践** h1 h2

这三处与各自 notebook 的主标题同为 h1,在大纲中并列显示。

同课程内的正确样板:11 处同类标题都用 h2

同一课程中,「课后实践 / 课后练习」使用 h2 的共 11 处,覆盖全部四章:

01_basic_overview/01.02_ai_and_operator_basics.ipynb                cell#17  h2  课后练习
01_basic_overview/01.03_cann_arch_ascend_npu_principle.ipynb        cell#7   h2  课后练习
01_basic_overview/01.04_ascend_c_op_dev_basic_concepts.ipynb        cell#2   h2  课后练习
02_AscendC_basic/02.02_HelloWorld.ipynb                             cell#23  h2  课后实践
02_AscendC_basic/02.03_ascendc_programming_paradigm_….ipynb          cell#15  h2  课后练习
02_AscendC_basic/02.04_introduction_to_kernel_functions_….ipynb      cell#46  h2  课后实践
03_simple_operator_practice/03.02_introduction_to_matrix_….ipynb     cell#5   h2  课后练习
03_simple_operator_practice/03.03_matrix_multiplication_….ipynb      cell#19  h2  6. 课后实践
04_debug/04.02_NPU_On-Board_Debugging.ipynb                         cell#11  h2  课后实践
04_debug/04.03_profiling_tool_usage.ipynb                           cell#27  h2  **课后实践**
04_debug/04.04_simulation_analysis.ipynb                            cell#29  h2  **课后实践**

尤其值得对照的是 02.04 与 02.05 是相邻的两节:02.04_introduction_to_kernel_functions_based_on_add_operator.ipynb 的 cell#46「课后实践」用 h2,而紧接的 02.05_generalized_tiling_design.ipynb 的 cell#46「课后实践」用 h1。同章相邻两节写法不同。

(另有 1 处 h1 的「章节练习」位于 01_basic_overview/01.05_chapter_practice.ipynb 的 cell#0,那是整个 notebook 的主标题,用 h1 是正确的,不在本条范围内。)

h1 数量统计:24 个 notebook 中仅这 3 个异常

对该课程全部 24 个 notebook 统计 h1 数量(正常应为 1,即仅主标题):

notebook h1 数量
02_AscendC_basic/02.05_generalized_tiling_design.ipynb 2
03_simple_operator_practice/03.04_fused_operator_concept_intro.ipynb 2
03_simple_operator_practice/03.05_cv_fused_operator_development.ipynb 2
其余 21 个 notebook 1

三个异常 notebook 多出的那个 h1,正是上表的「课后实践」标题。

连带影响:03.05 的标题层级跳级同源

03.05_cv_fused_operator_development.ipynb 中,cell#18 的 h1「课后实践」之后紧接 cell#19 的 h3「编写MatmulAbs直调算子」,层级落差 2 级。这处跳级正是由「课后实践」误用 h1 造成的——若改为 h2,其下的 h3 子项即自然衔接,跳级同时消失。

影响

  1. 大纲出现两个顶级条目。以 02.05 为例,大纲中「泛化Tiling设计」(主标题)与「课后实践」并列为顶级,读者无法通过折叠主标题收起整节。
  2. 同章相邻两节体验不一致。02.04 的课后实践缩进在主标题之下,02.05 的与主标题平级。
  3. 课后实践是每节的固定收尾环节,学习者常直接跳到该处做练习,其在大纲中的位置应当稳定统一。

改进建议

  1. 将上表 3 处的「课后实践 / 课后练习」标题由 h1 改为 h2,与同课程其余 11 处保持一致。

  2. 03.05 改完后其下 h3 子项自然衔接,无需额外调整。

  3. 流程建议:本条可用一条极简规则拦住——「每个 notebook 的 h1 数量必须为 1」。该规则在本课程 24 个 notebook 上只报出 3 处,全部为真。配合我此前反映的另两条规则(相邻标题层级下降不超过 1 级、井号后不得为空,见 #504、#505、#519、#521),可覆盖此类只影响导航而不影响执行的问题。

    补充一个实现细节:解析标题时正则应允许 0~3 个前导空格(CommonMark 规定 ATX 标题可有最多 3 个前导空格),否则会漏掉带缩进的标题。本课程 02.05 的 cell#4 中「3.1 内存对齐原则」「3.2 访存优化原则」「3.3 多核均衡原则」三个 h3 标题行首各有一个空格,若正则写成 ^# 就会漏掉它们,进而误判该节「缺少 3.1~3.3、直接从 3.4 开始」。我在核查中一度得出该误判,加上前导空格容差后确认这三个小节存在且编号连续,此处不构成问题。

四、环境信息

  • 课程路径:tutorials/ascendc_operator_development_light/
  • 涉及文件:02_AscendC_basic/02.05_generalized_tiling_design.ipynb(cell#46)、03_simple_operator_practice/03.04_fused_operator_concept_intro.ipynb(cell#6)、03_simple_operator_practice/03.05_cv_fused_operator_development.ipynb(cell#18)
  • 分支:master
  • 核查方式:以允许 0~3 个前导空格的正则解析标题行,跟踪 ``` / ~~~ 围栏排除代码块内的 #;统计全课程 24 个 notebook 的 h1 数量与全部「课后实践/练习」类标题的层级分布作为对照
likedislike
ink_polymer
ink_polymer成员
8月3日 评论:

尊敬的开发者您好,您的建议已收到,待内部评估后反馈,感谢您的支持

likedislike
ApeiriaNode_Booker
ApeiriaNode_Booker
8月7日 评论:

您好,感谢您的反馈,我们会尽快修改~

likedislike
ApeiriaNode_BookerApeiriaNode_Booker
8月7日 关联了pull request:fix: 修复 Ascend C light 课程反馈问题
ApeiriaNode_BookerApeiriaNode_Booker
8月7日 关联了pull request:fix(test): 修复 Ascend C light 课程反馈问题
ApeiriaNode_Booker
ApeiriaNode_Booker
8月7日 评论:

已在关联的PR中修复,该issue关闭。感谢您的参与。

likedislike
Mmeme成员
8月7日 issue状态由 进行中 改变为 已完成
Mmeme成员
8月7日 关闭了 issue
CANN-robotCANN-robot成员
8月7日 添加了label:resolved