---
title: AOE简介
description: "本节介绍AOE相关概念、架构和调优流程。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/devaids/aoe/aoeep_16_001.html
sourcePath: /source/zh/canncommercial/900/devaids/aoe/aoeep_16_001.html
indexId: 9a3e109f9a1be9f3388d76c6473d15a25599871ef2287533d12596eec422998f59
---
# AOE简介

本节介绍AOE相关概念、架构和调优流程。

Atlas 200I/500 A2 推理产品 场景下，仅支持离线推理下的调优。


#### AOE

AOE（Ascend Optimization Engine）是一款自动调优工具，作用是充分利用有限的硬件资源，以满足算子和整网的性能要求。

AOE通过生成调优策略、编译、在运行环境上验证的闭环反馈机制，不断迭代出更优的调优策略，最终得到最佳的调优策略，从而可以更充分利用硬件资源，不断提升网络的性能，达到最优的效果。

图1 架构

- Application层：调优入口，支持如下。

  - AOE：这里的AOE表示AOE进程，以下章节提到的AOE均指AOE进程。用于：

    - 离线推理场景下调优，使用方法请参考      离线推理场景下调优
。
    - PyTorch训练场景下调优，使用方法请参考      PyTorch训练场景下离线调优
。
    - IR构图场景下调优，使用方法请参考      IR构图场景下调优
。
  - TFAdapter（TensorFlow Adapter）：用于TensorFlow训练场景下调优和TensorFlow在线推理场景下调优，使用方法请参考    TensorFlow训练场景下在线调优
。
  - PyTorchAdapter（PyTorch Adapter）：用于PyTorch训练场景下调优和PyTorch在线推理场景下调优，使用方法请参考    PyTorch训练场景下离线调优
。
- Tuning层：调优模式，支持以下类型。

  - 子图调优：通过SGAT（SubGraph Auto Tuning）对子图切分策略进行调优，在运行环境上验证获得真实性能，最终将最优的调优策略固化至模型知识库，并获取优化后的模型。
  - 算子调优：通过OPAT（Operator Auto Tuning）对算子进行调优，在运行环境上验证获取真实性能，最终将优选算子调优策略固化到算子知识库。
  - 梯度调优：通过GDAT（Gradient Auto Tuning）对梯度allreduce融合策略进行调优，在运行环境上验证获取真实性能，最终得到优选梯度allreduce算子融合策略。
推荐先进行子图调优，再进行算子调优。原因是：先进行子图调优会生成图的切分方式，子图调优后算子已经被切分成最终的shape了，再进行算子调优，会基于这个最终shape去做算子调优。如果优先算子调优，这时调优的算子shape不是最终切分后的算子shape，不符合实际使用场景。


- Execute层：为执行层，支持编译（Compiler）和在运行环境上运行（Runner）。


#### SGAT简介

SGAT是一种提升子图性能的优化器。一张完整的网络，会被拆分成多个子图。针对每一个子图，通过SGAT生成不同的调优策略。SGAT的调优算法通过获取每个迭代的调优策略性能数据，找到最优的调优策略，从而实现对应子图的最优性能。调优的结果会通过子图知识库的形式进行保存。

整个SGAT调优过程支持断点恢复模式，能够在调优异常时，恢复断点继续进行调优。

子图调优的流程如图2所示。

图2 子图调优流程


#### OPAT简介

OPAT是一种提升算子性能的优化器。AOE将一张整图输入给OPAT，OPAT内部进行算子融合，将融合得到的图进行算子粒度切分，针对每一个融合算子子图生成不同的算子调优策略，从而实现最优的算子性能，并将得到的最优策略保存在算子知识库。

AOE当前版本仅支持使用DSL接口实现计算逻辑的AI Core算子的自动调优，支持的算子请参见算子列表。

算子调优的流程如图3所示。

图3 算子调优流程


#### GDAT简介

GDAT是通过最大化反向计算与梯度聚合通信并行度，缩短通信拖尾时间的优化工具。分布式训练场景下，各个设备之间计算梯度后执行梯度聚合操作，梯度聚合算子的融合策略会影响反向计算结束后的通信拖尾时间，从而影响集群训练的性能和线性度。一个较优的梯度数据切分原则为：尽可能使拖尾时间最短。

梯度调优的流程如图4所示。

图4 梯度调优流程
