查看健康报告#
功能说明#
健康报告用于展示计算图不同阶段的统计信息。
Tensor Graph健康报告展示用户定义的计算图的原始统计信息。
Tile Graph健康报告展示经过TileShape展开后的计算图的整体统计信息。包括节点总数、出度入度最大的瓶颈节点、最大并发度、总的数据搬运量和冗余搬运等。
Block Graph健康报告展示调度运行在单个AI Core上的子图的整体统计信息。包括spill数据量、各个存储空间占用情况、内存碎片率等指标。
Execute Graph健康报告展示对应子图间任务调度的整体统计指标。包括最大并发度、最大长度、总的子图数、出度入度最大的瓶颈子图、子图同构率等。
前提条件#
执行PyPTO程序,生成计算图文件和健康报告文件,健康报告文件的生成操作如下。
配置健康报告生成开关:${install_path}/python/site-packages/pypto/lib/configs/tile_fwk_config.json。
"global": { "pass":{ "default_pass_configs": { "health_check": false # 默认为false,需要配置为true } } },
执行PyPTO程序,在${work_path}/output/output_*/目录(*代表时间戳)的计算图同级目录下生成相关健康报告文件,文件名格式为_xxxHealthReport.json。
在Pass_xx_ExpandFunction目录下生成Tensor Graph健康报告文件。
在Pass_xx_L1CopyInReuseMerge目录下生成Tile Graph健康报告文件。
在Pass_xx_OoOSchedule目录下生成Block Graph健康报告文件。
在Pass_xx_SubgraphToFunction下生成Execute Graph健康报告文件。
查看Tensor Graph健康报告#
打开计算图文件,下面提供两种方式,用户任选其一即可:
在Visual Studio Code侧边栏,单击
图标,打开PyPTO Toolkit,在运行结果界面打开计算图文件(此种方式仅支持打开文件命名以After开头的图)。在Visual Studio Code工作区,右键单击计算图文件,在弹出的菜单中选择“PyPTO Toolkit:打开文件”。
在计算图界面中,单击右侧的
按钮。
在计算图界面右侧自动滑出健康度报告数据面板,不同类型计算图的健康度报告略有不同,下面分别介绍。
查看Tensor Graph健康报告。

区域①:展示Operation节点的汇总信息,详细请参见表1。
区域②:展示Tensor节点的汇总信息,详细请参见表2。
参数
说明
MaxDepth
计算图上从Incast节点到Outcast节点的最长路径上的节点总数。
MaxWidth
计算图上的最大并发度,即同一时间内节点的最大并发执行数。
max Fanin
计算图上所有节点的最大入度值。入度值表示来自上游节点的输入数量。
max FaninOps
计算图上入度值最大的节点。单击右侧展开按钮,可以展开所有Operation节点。
单击节点的magicid值(如10003),可以跳转到图中相应位置。max Fanout
计算图上所有节点的最大出度值。出度值表示每个节点最多需要向多少个下游节点分发输出。
max FanoutOps
计算图上出度值最大的节点。
参数
说明
maxProducerCount
计算图上Tensor生产者个数的最大值。
maxConsumerCount
计算图上Tensor消费者个数的最大值。
maxProducerTensors
计算图上生产者个数最多的Tensor。单击右侧展开按钮,可以展开所有Tensor节点。

maxConsumerTensors
计算图上消费者个数最多的Tensor。
查看Tile Graph健康报告#
请参照上述步骤打开Tile Graph健康报告,界面显示如下:

区域①:展示Operation节点的汇总信息,详细请参见表3。
区域②:展示Tensor节点的汇总信息,当前暂不支持数据展示。
参数 |
说明 |
|---|---|
MaxDepth |
计算图上从Incast节点到Outcast节点的最长路径上的节点总数。 |
MaxWidth |
计算图上的最大并发度,即同一时间内节点的最大并发执行数。 |
max Fanin |
计算图上所有节点的最大入度值。入度值表示来自上游节点的输入数量。 |
max FaninOps |
计算图上入度值最大的节点。单击右侧展开按钮,可以展开所有Operation节点。 |
max Fanout |
计算图上所有节点的最大出度值。出度值表示每个节点最多需要向多少个下游节点分发输出。 |
max FanoutOps |
计算图上出度值最大的节点。 |
查看Block Graph健康报告#
请参照上述步骤打开Block Graph健康报告,界面显示如下:

区域①:耗时总览,详细请参见表4。
区域②:展示每种内存在整个调度过程中占用的峰值和平均值以及各pipe的利用率,详细请参见表5。
区域③:展示Spill统计信息,详细请参见表6。
区域④:子图最大生产者、消费者等统计信息,详细请参见表7。
参数 |
说明 |
|---|---|
Total Cycles |
当前子图理论执行耗时。 |
Theoretical Minimum Cycles |
当前子图理论耗时最优值。 |
参数 |
说明 |
|---|---|
L1 Avg/Peak |
L1内存的平均值/峰值。 |
L0A Avg/Peak |
L0A内存的平均值/峰值。 |
L0B Avg/Peak |
L0B内存的平均值/峰值。 |
L0C Avg/Peak |
L0C内存的平均值/峰值。 |
UB Avg/Peak |
UB内存的平均值/峰值。 |
PIPE_FIX |
PIPE_FIX的利用率。 |
PIPE_MTE1 |
PIPE_MTE1的利用率。 |
PIPE_MTE2 |
PIPE_MTE2的利用率。 |
PIPE_MTE3 |
PIPE_MTE3的利用率。 |
PIPE_M |
PIPE_M的利用率。 |
PIPE_S |
PIPE_S的利用率。 |
PIPE_V |
PIPE_V的利用率。 |
参数 |
说明 |
|---|---|
Spill Count |
换出换入总次数。数值越大表明空间资源紧张,图的性能越差。 |
magic |
被换出换入的Tensor的Magic ID。 |
Type |
发生换出换入的Buffer类型。 |
Buffer Usage / Rate / AllocSize |
当前Buffer已占用的大小 / 当前Buffer的占用率 / 当前被Alloc占用的Buffer的大小。 |
Spill Tensor / Trigger Tensor / Spill CopyOut Tensor |
被换出换入的Tensor的大小 / 触发当前换出换入的Tensor的大小 / 发生换出换入时搬出到DDR的数据量大小。 |
参数 |
说明 |
|---|---|
Workspace offset |
当前子图Workspace占用大小。 |
OP |
Operation节点总数。 |
max Producers |
子图内生产者数量最大的Tensor。 |
max Consumers |
子图内消费者数量最大的Tensor。 |
max Inputs |
子图内前序节点数量的最大的Tensor。 |
max Outputs |
子图内后继节点数量的最大的Tensor。 |
查看Execute Graph健康报告#
请参照上述步骤打开Execute Graph健康报告,界面显示如下:

区域①:子图同构信息,详细请参见表8。
区域②:耗时信息,详细请参见表9。
区域③:最大出入度信息,详细请参见表10。
区域④:峰值内存信息,详细请参见表11。
区域⑤:OP类型分布信息,详细请参见表12。
参数 |
说明 |
|---|---|
Total Subgraph |
子图总数,即整个计算图经过子图划分后,最终得到的所有子图的总个数。 |
Unique |
不同构的子图的数量。 |
同构率 |
Total Subgraph/Total Subgraph的值,较高的同构率反映出该图的并发度较好。 |
MaxSubgraphDepth |
计算图上从Incast节点到Outcast节点的最长路径上的节点总数。 |
MaxSubgraphWidth |
计算图上的最大并发度,即同一时间内节点的最大并发执行数。 |
参数 |
说明 |
|---|---|
maxSubgraphCycle |
value:子图的最大理论耗时。subgraphID:理论耗时最大的子图。 |
minSubgraphCycle |
value:子图的最小理论耗时。subgraphID:理论耗时最小的子图。 |
avgSubgraphCycle |
子图的平均理论耗时。 |
表 10 Execute Graph健康报告-区域③参数说明
参数 |
说明 |
|---|---|
maxSubgraphFanin |
value:子图最大入度值。subgraphID:入度值最大子图。 |
maxSubgraphFanout |
value:子图最大出度值。subgraphID:出度值最大子图。 |
表 11 Execute Graph健康报告-区域④参数说明
参数 |
说明 |
|---|---|
PeakUsage |
value列:GM峰值内存占用。subgraphID列:发生GM峰值内存占用的子图。 |
表 12 Execute Graph健康报告-区域⑤参数说明
参数 |
说明 |
|---|---|
AIV |
执行在AIV上的子图个数。 |
AIC |
执行在AIC上的子图个数。 |
AICPU |
执行在AI CPU上的子图个数。 |
mix |
执行在AIV和AIC上的子图个数。 |