已关闭
[Course-Feedback|课程反馈]: 08性能优化章节5处优化示例代码与正文指导表达模糊 #447
陈天銮创建于  8月2日关闭于  8月24日
陈天銮
陈天銮
8月2日 创建

Thanks for sending an issue! Please fill in the following template to help quickly solve your problem.

一、课程名称 (必填)

Ascend C 算子开发系列(进阶)> 第 8 章 性能优化

章节目录:08_performance_optimization

涉及文件:

二、反馈类型 (必填)

• 课程内容错误

三、反馈详情 (必填)

问题概述

08_performance_optimization中,正文先描述优化思路,随后给出优化后的完整代码,学习者照抄后重新部署、抓取性能以观察优化效果。经核对,该章节8.02_profiling_tool_usage.ipynb、08.03_simulation_analysis.ipynb、08.04_ascendc_op_perf_optimization_demo.ipynb的共 5 处优化后代码未实施正文要求的优化,即实际没有优化效果等于没有优化,无法复现正文承诺的性能提升。

问题一: 8.02_profiling_tool_usage.ipynb printf 未屏蔽

8.02_profiling_tool_usage.ipynb 5 针对性优化中写到分析这三部分,我们可以发现,只有第一部分的tileLength计算可以放到host侧进行,第二部分的printf打印可以屏蔽。其他部分代码需要保持原来的实现,不能放到host侧进行。而tilingLength计算量较小,不会对性能造成较大影响,所以推测将printf打印屏蔽后,算子的性能会有较大提升。:
iusses_1_Q1.png

但优化后的代码并没有删除printf,或者没有指出要删除的printf的具体位置
iusses_1_Q2.png

  • 但实际测试的数据优化后的效果较优化前提升很多,但课程中并未指出该printf的具体位置信息,容易引发歧义,建议增加优化前后的代码对比。

问题二:08.03_simulation_analysis.ipynb printf 未屏蔽

08.03_simulation_analysis.ipynb 中的4 针对性优化明确写道:根据 trace 图或者源码时钟周期我们可以看出耗时主要集中在 printf 打印,所以推测将 printf 打印屏蔽后,算子的性能会有较大提升。

iusses_2.png

  • 同问题一,建议增加优化前后的代码对比。

问题三:08.04_ascendc_op_perf_optimization_demo.ipynb Tiling 负载均衡优化未实施

08.04_ascendc_op_perf_optimization_demo.ipynb中2.2.1 Host 侧修改中写道**修改op_host/add_custom_template.cpp文件内的Tiling实现函数,假设我们有40个可用的Vector核时,设置为45会把数据均分为45份,先把前40份数据分配给每个核,然后把剩余的5份数据分配给前5个处理完数据的核,与我们模拟的场景一致。这里可以修改SetBlockDim设置核数为40,每个核处理23040个数据,数据均分,不会有核会多处理一块数据。
iusses_3.png

  • 前面写的设置为45会把数据均分为45份,后面写的设置SetBlockDim=40,但是代码写的40,较为模糊。

问题四:08.04_ascendc_op_perf_optimization_demo.ipynbDouble Buffer 未开启

08.04_ascendc_op_perf_optimization_demo.ipynb3.2.3 Kernel 侧实现中写到 修改 BUFFER_NUM 为 2,开启 DoubleBuffer 机制。但代码中DoubleBuffer=1。

iusses_4.png

四、环境信息 (可选)

likedislike
陈天銮陈天銮
8月2日 修改了issue 的描述
此处折叠了8条事件消息 查看更多
陈天銮陈天銮
8月2日 修改了issue 的描述
ink_polymer
ink_polymer成员
8月2日 评论:

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

likedislike
陈天銮陈天銮
8月2日 修改了issue 的描述
此处折叠了5条事件消息 查看更多
ink_polymerink_polymer成员
8月17日 关联了pull request:fix: 补充描述
ink_polymer
ink_polymer成员
8月20日 评论:

尊敬的开发者您好,您提出的问题都是要求开发者根据描述自行修改的部分,目前已经优化表述,感谢您的支持,该issue将在3天后关闭,若后续还有问题欢迎通过issue与我们交流

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