性能统计#
功能说明#
性能报告面板提供泳道图的全局性能统计数据、按时间范围查看性能数据、框选部分节点查看性能数据,帮助开发者快速了解算子的整体性能概况,识别性能瓶颈。
前提条件#
执行PyPTO程序,生成泳道图文件。
操作步骤#
打开泳道图文件。以下提供两种方式:
在Visual Studio Code侧边栏,单击
图标,打开PyPTO Toolkit,在运行结果界面打开泳道图文件。在Visual Studio Code工作区,右键单击泳道图文件,在弹出的菜单中选择”PyPTO Toolkit:打开文件”。
查看全局性能报告#
全局性能报告面板提供泳道图的整体性能统计数据,帮助开发者快速了解算子的性能概况。
打开性能报告面板#
单击泳道图右侧的
按钮。

页面右边弹出性能报告面板,包含多个标签页。
性能概览标签页#
性能概览标签页展示全局性能统计数据,包括调度间隔分析、任务耗时统计、整体时间指标、AICore性能指标等。

表 1 性能概览参数说明
参数 |
说明 |
|---|---|
最大调度间隙 |
显示当前泳道图中最大的调度间隔值及其时间单位,展示调度间隔前的任务名称和调度间隔后的子任务名称,点击可跳转到对应任务 |
任务最长耗时 |
显示当前泳道图中耗时最长的任务,包含数值、时间单位和任务列表,点击任务名称可跳转 |
任务最短耗时 |
显示当前泳道图中耗时最短的任务,包含数值、时间单位和任务列表,点击任务名称可跳转 |
AICore 端到端时间 |
去除 fake core 之外的AI核上的任务执行端到端时间 |
总耗时 |
所有任务执行的端到端时间 |
iCache命中率 |
指令缓存命中率 |
AICore Time |
所有AICore泳道(AIC和AIV)中任务的总耗时 |
AICore利用率 |
计算公式:AICore Time / (任务面板时间 * AICore泳道个数) |
Cube Cycles |
Cube计算单元占用的时钟周期数 |
Vector Cycles |
Vector计算单元占用的时钟周期数 |
耗时统计标签页#
耗时统计标签页仅对 Kernel 泳道图生效,提供按 Leaf 编号或语义标签分类的任务耗时统计功能。
按 Leaf 编号统计#
选择”按 Leaf 编号”模式时,展示 Leaf 编号维度的耗时分布。

表 2 按 Leaf 编号统计参数说明
参数 |
说明 |
|---|---|
任务耗时极差 |
显示子图内耗时最长和最短的任务 |
按语义标签统计#
选择”按语义标签”模式时,展示语义标签维度的耗时统计。

表 3 按语义标签统计参数说明
参数 |
说明 |
|---|---|
任务耗时极差 |
显示同一语义标签内耗时最长和最短的任务 |
累计耗时 |
同一语义标签下所有任务的耗时总和 |
周期时长 |
同一语义标签下从最早开始到最晚结束的时间跨度 |
按时间范围查看性能数据#
支持通过度量模式特定时间段的泳道图和性能报告。
在泳道图界面中,单击右侧的
按钮。
在任务面板单击并拖拽出待度量的起点和终点,从而决定时间范围。
系统具有自动吸附功能,拖拽完成后,起点和终点会自动吸附到一定范围内的最近位置。
拖拽完成后,度量范围会变亮,时间轴上会显示度量区域的时间,下方则会弹出度量区域的性能汇总数据。

框选区域统计#
在泳道图界面直接单击并拖拽出框选区域,可以快速查看该区域内的性能数据。
框选区域会高亮显示,下方弹出性能汇总面板,展示框选范围内的性能统计数据。

性能数据搜索#
在度量或框选完成后,右下方的搜索页面可根据条件搜索相关事件的性能数据。
表 4 事件性能数据参数说明
参数 |
说明 |
|---|---|
Root Func. Hash |
选中范围内所有事件的event-hint里的root hash列表 |
Leaf Func. Hash |
选中范围内所有事件的event-hint里的leaf hash列表 |
Occurrences |
选中范围内该leaf hash有多少个任务 |
Wall duration(ms) |
选中范围内该leaf hash的所有任务的总时间 |
Avg. Wall duration |
选中范围内该leaf hash的所有任务的总时间 / 该leaf hash的任务数量 |