文档
注册

基于Timeline的AI CPU算子优化分析样例

背景介绍

AI CPU是昇腾AI处理器计算单元,因为该CPU计算处理单位自身瓶颈,导致运行在AI CPU上的算子影响模型的执行时间。AI CPU算子的优化往往是重点关注点和优化对象。本节以MLP模型为例,介绍通过专家系统AI CPU识别功能, 自动识别串行执行AI CPU算子,给出优化建议,提升模型整体性能。

专家系统操作

  1. 单击选择并打开已编译完成的应用工程。
  2. 单击菜单栏Ascend > Advisor > Advisor,弹出专家系统工具界面 。如图1所示。
    图1 专家系统工具界面
  3. 单击专家系统功能界面左上角New Project按钮,打开专家系统配置界面。
    图2 OM only
  4. 图2所示设置对应参数并单击Start执行分析。
  5. 完成分析后,系统展示分析结果。输出MLP模型内的AI CPU算子如下。
    图3 分析结果Summary页面(Model Graph Optimization)

问题分析

根据专家系统AI CPU算子识别的推荐结果,发现计算图中两个Cast算子和Equal算子都在AI CPU上执行,需要考虑将Cast算子和Equal算子在AI CPU上消除。

由于Cast算子的作用是将算子输出结果进行格式转换,且在AI Core上的运算仅支持32位及以下的数据类型,根据图4,可推测下层的Equal算子数据类型应该在32位以上,所以生成了负责数据格式转换的Cast算子且这两个算子转移到了AI CPU上进行运算。

图4 MLP网络模型结构(局部)

问题解决

根据图3优化建议“3. Change the model structure, for example, from INT64 to FP16.(更改模型结构,如:INT64转FP16。)”。

可将Equal算子数据类型修改为与上层ArgMaxD算子一样的数据类型,即可消除掉Cast算子并将Equal算子转移回AI Core上运算。

修改Equal算子后再次进行专家系统分析可以发现Cast算子和Equal算子已不在AI CPU算子优化分析结果中,同时还输出UB融合推荐发现还可以对ArgMaxD和Equal算子进行融合,进一步提升效率。相关分析方式请参见UB算子融合推荐分析样例

结论

通过专家系统工具的分析,可以快速找出AI CPU算子。并根据专家系统的提示,结合实际的网络模型实际特点,对问题分析后得到解决方案。提升了网络性能问题分析效率。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词