diff --git a/profiler/msprof_analyze/advisor/README.md b/profiler/msprof_analyze/advisor/README.md index 31bc6c2fff41f952127d96432e9d866614fe697e..f0ee0243cdec08d5c82b9cd7966eafbe86c4da59 100644 --- a/profiler/msprof_analyze/advisor/README.md +++ b/profiler/msprof_analyze/advisor/README.md @@ -12,7 +12,7 @@ CANN软件版本8.0RC1之前仅支持对text格式文件分析,8.0RC1及之后 ### 操作步骤 -1. 参见《[性能工具](./../README.md)》完成工具安装。建议安装最新版本。 +1. 参见《[性能工具](../README.md)》完成工具安装。建议安装最新版本。 2. 执行分析。 diff --git a/profiler/msprof_analyze/advisor/doc/Samples of Fused Operator API Replacement.md b/profiler/msprof_analyze/advisor/doc/Samples of Fused Operator API Replacement.md index 12fdc7046eb721ec14edc46330b30423cb235b0f..bc5c16a98b05bfb793b4201907136bed740c9223 100644 --- a/profiler/msprof_analyze/advisor/doc/Samples of Fused Operator API Replacement.md +++ b/profiler/msprof_analyze/advisor/doc/Samples of Fused Operator API Replacement.md @@ -2,11 +2,11 @@ 部分torch原生的API在下发和执行时会包括多个小算子,下发和执行耗时较长,可以通过替换成NPU API来使能融合算子,提升训练性能。 -torch_npu API的功能和参数描述见[API列表](https://www.hiascend.com/document/detail/zh/canncommercial/700/modeldevpt/ptmigr/ptaoplist_000002.html)。 +torch_npu API的功能和参数描述见[API列表](https://www.hiascend.com/document/detail/zh/Pytorch/710/apiref/torchnpuCustomsapi/context/torch_npu接口列表.md)。 ## 优化器替换 -替换优化器一般都能有较大的性能受益,可以优先考虑将torch原生的优化器替换为[昇腾提供的亲和优化器](https://www.hiascend.com/document/detail/zh/canncommercial/700/modeldevpt/ptmigr/AImpug_000062.html)。下文以AdamW优化器为例,其他优化器的替换方式一致。 +替换优化器一般都能有较大的性能受益,可以优先考虑将torch原生的优化器替换为[昇腾提供的亲和优化器](https://www.hiascend.com/document/detail/zh/Pytorch/710/ptmoddevg/trainingmigrguide/performance_tuning_0036.html)。下文以AdamW优化器为例,其他优化器的替换方式一致。 ### torch_npu.optim.NpuFusedAdamW diff --git a/profiler/msprof_analyze/compare_tools/README.md b/profiler/msprof_analyze/compare_tools/README.md index 61231a4c13225934a43f067b612bc88e7dffd466..135ae8f83c5d6295ea0cf7d10c54368e86202c5b 100644 --- a/profiler/msprof_analyze/compare_tools/README.md +++ b/profiler/msprof_analyze/compare_tools/README.md @@ -139,7 +139,7 @@ MindSpore性能调试工具采集结果数据目录结构如下: #### 命令行方式 -1. 参见《[性能工具](./../README.md)》完成工具安装。 +1. 参见《[性能工具](../README.md)》完成工具安装。 2. 执行如下命令进行性能数据比对: @@ -350,9 +350,9 @@ activities配置仅采集NPU数据,不配置experimental_config参数以及其 - Diff Ratio:比较算子在device上执行总耗时 / 基准算子在device上执行总耗时,红色代表劣化。 - Device Duration(us):该算子下发到device上执行的所有kernel耗时的总和。 -步骤1:查看OperatorCompareStatistic页,找出耗时差距TOP的算子。 - -步骤2:查看OperatorCompare页,搜索耗时差距TOP的算子,查看具体执行的kernel耗时,寻找可优化点。 +可通过以下方式找出性能劣化点: +* 步骤1:查看OperatorCompareStatistic页,找出耗时差距TOP的算子。 +* 步骤2:查看OperatorCompare页,搜索耗时差距TOP的算子,查看具体执行的kernel耗时,寻找可优化点。 #### 比对数据有Python Function @@ -389,15 +389,12 @@ ModuleCompare:模块及模块下算子比对的明细展示,可以查看每 - Base Call Stack:有劣化的模块或算子,基准文件模块的调用栈。 - Comparison Call Stack:有劣化的模块或算子,比较文件模块的调用栈。 -步骤1:查看ModuleCompareStatistic页,找出耗时差距TOP的模块。 - -​ 筛选Operator Name字段为[ TOTAL ],将模块总体情况按照Device Self Time(ms)字段逆序,可识别出耗时差距TOP的模块。 - -​ 恢复数据,可按照Order Id字段升序。 - -步骤2:查看ModuleCompare页,查找耗时差距TOP模块下的劣化算子。 - -步骤3:通过调用栈找到对应的代码行。 +可通过以下方式找出性能劣化点: +* 步骤1:查看ModuleCompareStatistic页,找出耗时差距TOP的模块。 + - 筛选Operator Name字段为[ TOTAL ],将模块总体情况按照Device Self Time(ms)字段逆序,可识别出耗时差距TOP的模块。 + - 恢复数据,可按照Order Id字段升序。 +* 步骤2:查看ModuleCompare页,查找耗时差距TOP模块下的劣化算子。 +* 步骤3:通过调用栈找到对应的代码行。 ### 通信性能 @@ -419,8 +416,9 @@ ModuleCompare:模块及模块下算子比对的明细展示,可以查看每 - Size(KB):该算子占用的device内存大小,单位KB。 -步骤1:查看MemoryCompareStatistic页,找出内存占用差距TOP的算子。 -步骤2:查看MemoryCompare页,搜索内存占用差距TOP的算子,查看具体占用的子算子。 +可通过以下方式找出性能劣化点: +* 步骤1:查看MemoryCompareStatistic页,找出内存占用差距TOP的算子。 +* 步骤2:查看MemoryCompare页,搜索内存占用差距TOP的算子,查看具体占用的子算子。 ### kernel性能