From 26a4e6ea4e21e3a52269f7f014a229f669d3f9ac Mon Sep 17 00:00:00 2001 From: fanxiaotong Date: Fri, 4 Aug 2023 17:52:12 +0800 Subject: [PATCH 1/4] readme --- .../cluster_kernels_analysis/README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 profiler/cluster_analyse/cluster_kernels_analysis/README.md diff --git a/profiler/cluster_analyse/cluster_kernels_analysis/README.md b/profiler/cluster_analyse/cluster_kernels_analysis/README.md new file mode 100644 index 00000000000..486cf362db1 --- /dev/null +++ b/profiler/cluster_analyse/cluster_kernels_analysis/README.md @@ -0,0 +1,11 @@ +# att + +#### 介绍 +集群训练的profiling分析工具 +可以根据op_summry*.csv文件分析算子的运行时间分布 + + +#### 使用说明 + + + -- Gitee From 9856af3e8e01ff2a30a385ed625e1f5f30e05b32 Mon Sep 17 00:00:00 2001 From: fanxiaotong Date: Fri, 4 Aug 2023 17:54:24 +0800 Subject: [PATCH 2/4] bug fix --- .../cluster_kernels_analysis/cluster_op_summary_analysis.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/profiler/cluster_analyse/cluster_kernels_analysis/cluster_op_summary_analysis.py b/profiler/cluster_analyse/cluster_kernels_analysis/cluster_op_summary_analysis.py index cdd4b9e0efd..04dbfdfe9f8 100644 --- a/profiler/cluster_analyse/cluster_kernels_analysis/cluster_op_summary_analysis.py +++ b/profiler/cluster_analyse/cluster_kernels_analysis/cluster_op_summary_analysis.py @@ -210,15 +210,13 @@ class StatisticalInfoToHtmlAnalyzer(OpSummaryAnalyzerBase): col=(i % col_num) + 1) fig.update_layout(margin=dict(l=20, r=20, t=20, b=20), height=int(500 * row_num), - width=int(rank_num * 50 * col_num), + width=int(rank_num * 100 * col_num), title_text="Op Performance Comparison") plot(fig, filename=self.result_dir + "/" + column + "_Info.html") def getCalNum(self, rank_num): # 计算每行应该画多少个子图 - if rank_num <= 8: - return 3 - elif rank_num <= 16: + if rank_num <= 16: return 2 else: return 1 -- Gitee From 3c290ba6cb8807529d7a23396ee1abdf8ad134da Mon Sep 17 00:00:00 2001 From: fanxiaotong Date: Fri, 4 Aug 2023 18:10:23 +0800 Subject: [PATCH 3/4] readme --- .../cluster_kernels_analysis/README.md | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/profiler/cluster_analyse/cluster_kernels_analysis/README.md b/profiler/cluster_analyse/cluster_kernels_analysis/README.md index 486cf362db1..c2041006bcb 100644 --- a/profiler/cluster_analyse/cluster_kernels_analysis/README.md +++ b/profiler/cluster_analyse/cluster_kernels_analysis/README.md @@ -4,8 +4,34 @@ 集群训练的profiling分析工具 可以根据op_summry*.csv文件分析算子的运行时间分布 - #### 使用说明 +命令:python3 cluster_prof_Info_analysis.py -–dir XX/XX/XXX --type XX --top_n XX +解释: +--dir 集群的profiling路径信息 格式为 /node0_XXX/PROF_XXX +比如集群有两台机器16张卡 那么就是 + /node0_XXX 文件夹为第一台机器的,八张卡profiling数据 + /node1_XXX 文件夹为第二台机器的,八张卡profiling数据 +--type 获取什么类型的分析信息(html、csv、all) 如果写了其他的会报错 +--top_n html分析独有,表示需要展示的是task_duration的方差为top_n的算子 + top_n >= 1 + 如果输入的是奇数,会默认加1变成偶数个 + 如果输入小于等于0,那么会默认只输出一个最大算子的信息 +输出描述: +表格:cluster_op_time_analysis.csv +描述: +1、 统计算子在每个device运行的均值、方差、最大值、最小值和范围 +2、 生成csv表格 +根据 Op name:【"Op Name", "Input Shapes", "Input Data Types", "Output Shapes"】 分类 +展示各个算子在不同卡上的task_duration的方差、均值、最大值、最小值,以及范围 +html:cluster_op_summary_analysis.html +描述: +1、统计算子在所有device中运行的均值、方差、最大值、最小值和范围,找到task_duration的方差为top_n的算子 +2、画出top_n个算子在每一个device上的箱线图 +3、生成time和ratio的静态html文件 +提示: +1、 top_n 必须大于0,如果输入<=0,默认只导出一个算子的数据 +2、 所有PROF_XXX里都没有op_summary的,不会显示算子情况 +3、 部分没有op_summary的,不显示也不报错 -- Gitee From 82207771c661ab02fee6a109fe8e884bc295fa2a Mon Sep 17 00:00:00 2001 From: fanxiaotong Date: Fri, 4 Aug 2023 18:11:48 +0800 Subject: [PATCH 4/4] readme --- .../cluster_kernels_analysis/README.md | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/profiler/cluster_analyse/cluster_kernels_analysis/README.md b/profiler/cluster_analyse/cluster_kernels_analysis/README.md index c2041006bcb..92333802e86 100644 --- a/profiler/cluster_analyse/cluster_kernels_analysis/README.md +++ b/profiler/cluster_analyse/cluster_kernels_analysis/README.md @@ -7,15 +7,18 @@ #### 使用说明 命令:python3 cluster_prof_Info_analysis.py -–dir XX/XX/XXX --type XX --top_n XX 解释: ---dir 集群的profiling路径信息 格式为 /node0_XXX/PROF_XXX -比如集群有两台机器16张卡 那么就是 - /node0_XXX 文件夹为第一台机器的,八张卡profiling数据 - /node1_XXX 文件夹为第二台机器的,八张卡profiling数据 ---type 获取什么类型的分析信息(html、csv、all) 如果写了其他的会报错 ---top_n html分析独有,表示需要展示的是task_duration的方差为top_n的算子 +--dir -d + 集群的profiling路径信息 格式为 /node0_XXX/PROF_XXX + 比如集群有两台机器16张卡 那么就是 + /node0_XXX 文件夹为第一台机器的,八张卡profiling数据 + /node1_XXX 文件夹为第二台机器的,八张卡profiling数据 +--type -t + 获取什么类型的分析信息(html、csv、all) 如果写了其他的会报错 +--top_n -n + html分析独有,表示需要展示的是task_duration的方差为top_n的算子 top_n >= 1 - 如果输入的是奇数,会默认加1变成偶数个 - 如果输入小于等于0,那么会默认只输出一个最大算子的信息 + 如果输入的是奇数,会默认加1变成偶数个 + 如果输入小于等于0,那么会默认只输出一个最大算子的信息 输出描述: 表格:cluster_op_time_analysis.csv -- Gitee