文档
注册
评分
提单
论坛
小AI

TBE算子性能优化

TBE DSL算子

当DSL方式实现的算子性能不满足需求时,可以参考如下流程进行优化:

  1. 可以借助AOE自动调优工具进行调优,详细操作可参见AOE工具使用指南
  2. 若调优后仍不满足需求,可以通过DSL算子实现时的一些技巧来进一步优化,可参见DSL性能优化

TBE TIK算子

TBE TIK算子性能优化的主要流程如下所示:

图1 TBE TIK算子调优流程
  1. 首先查看需要优化的算子是否在AOE支持的算子列表中,若支持,则先使用AOE工具对指定算子进行调优。

    AOE支持的算子列表及工具使用方法可参见AOE工具使用指南

  2. 调优后,再对算子进行多核方案的分析,分析算子的多核方案是否合理,是否使能了double buffer,详细分析方法请参见多核double buffer
  3. 使用MindStudio工具对算子进行UT测试,利用UT测试的性能仿真工具展示算子的调度流水线,并进行详细的性能数据分析。
    • MTE指令的执行流水线分析。

      若MTE1~MTE3指令的执行流水相对于整个时钟周期的占比超过80%,则说明DMA搬移性能较差,此种情况需要重点关注解决。

      若MTE指令的执行流水不连续,则说明搬运搬出数据时的并行度不高。

      详细可参见计算分片进行优化。

    • Vector指令的执行流水线分析。

      若Vector指令的执行流水不连续,则说明Vector计算单元未被充分利用,需要审视同步指令的使用情况及指令的并行度。

      若Vector指令的执行流水相对于整个时钟周期的占比超过80%,说明当前Vector计算单元已被充分利用,若想继续进行性能提升,需要对指令并行度、算法是否最优等进行审视。

      详细可参见计算分片同步指令分析进行优化。

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

当前产品无相关内容

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