MindStudio Insight支持通过切换卡序号来查看不同卡的内存信息,单击界面上方卡序号的输入框,在下拉框选择需要查看的卡号,切换之后界面将显示对应卡的算子内存折线图、内存申请/释放详情表,如图1所示。
MindStudio Insight支持通过切换分组方式来查看不同维度的算子内存折线图,单击界面上方分组方式的输入框,在下拉框选择需要查看的维度。该功能仅在动态图场景下支持。
MindStudio Insight支持通过鼠标左键框选放大选中部分和右键还原进行折线图的展示。为提升显示性能,折线图在数据量较大时会隐藏大部分点,可在框选到足够精细区域时显示所有点位,也可单击鼠标右键还原最初整体展示效果。
在折线图中单击鼠标左键拖至需要放大的终点位置并松开鼠标左键,框选部分将会被放大;如果还存在点被隐藏,重复放大操作即可展示被隐藏的点,选中放大区域如图4所示,放大后如图5所示。
MindStudio Insight支持搜索算子,在内存申请/释放详情表中,设置了筛选条件栏和控制按钮,可通过设置查询条件进行算子明细表的展示。查询条件为算子名称和算子占用内存大小区间范围(最小值和最大值),默认展示内存大小在0~1000000KB范围内的算子,用户可根据实际需要进行调整。
单击“查询”后即可查询,单击“重置”将会重置查询条件并再次进行查询。
在MindSpore静态图场景下,显示为静态图算子内存申请/释放详情表。其它场景下,则显示的是动态图算子内存申请/释放详情表。
中文字段 |
英文字段 |
说明 |
---|---|---|
名称 |
Name |
算子名称。 |
大小(KB) |
Size(KB) |
申请内存大小,单位KB。 |
分配时间(ms) |
Allocation Time(ms) |
Tensor内存分配时间。(从采集开始时计算,单位ms)。 |
释放时间(ms) |
Release Time(ms) |
Tensor内存释放时间。(从采集开始时计算,单位ms)。 |
时长(ms) |
Duration(ms) |
内存持有时间。 |
持有内存释放时间(ms) |
Active Release Time(ms) |
内存实际归还内存池时间。 |
内存持有时长(ms) |
Active Duration(ms) |
内存实际占用时间。 |
总分配内存(MB) |
Allocation Total Allocated(MB) |
算子内存分配时,PyTorch和GE内存实际分配总额。 |
总保留内存(MB) |
Allocation Total Reserved(MB) |
算子内存分配时,PyTorch和GE内存预留总额。 |
总持有内存(MB) |
Allocation Total Active(MB) |
算子内存分配时,当前流所申请的总内存(包括被其他流复用的未释放的内存)。 |
总释放已分配内存(MB) |
Release Total Allocated(MB) |
算子内存释放后,内存池中PyTorch和GE正在使用的内存大小。 |
总释放保留内存(MB) |
Release Total Reserved(MB) |
算子内存释放后,内存池中PyTorch和GE所占用的内存大小。 |
总释放持有内存(MB) |
Release Total Active(MB) |
算子内存释放后,PyTorch和GE内存中被其他流复用的内存总额。 |
流 |
Stream |
AscendCL流的内存地址,用于标记不同的AscendCL流。 |
当“分组方式”选择“全局”时,将鼠标移入表格中某条数据时(前提是折线图放大到足以展示表格中所有算子),若折线图上方显示了该条数据对应的点位(包括分配时间和释放时间),则折线图上对应点会有高亮效果出现,方便快速定位到该算子所在位置。
将鼠标放置表格中红框位置,折线图立即高亮显示算子所在位置,如图8所示。