文档
注册

执行调优

前提条件

  • 已经完成IR构图,具体开发过程请参见Ascend Graph开发指南
  • 获取IR构图对应的air文件。步骤如下。
    1. 打开开发好的图cpp文件,在构图之后,调用aclgrphBuildInitialize接口之前,通过增加如下代码可以生成对应的air文件。/path/to/graph.air表示对应的air文件路径和名称,请根据实际情况修改。SaveToFile接口的详细描述请参见Ascend Graph开发指南手册中的“接口参考>构图接口>Graph构建接口>SaveToFile”章节。
      graph.SaveToFile("/path/to/graph.air");
    2. 保存如上cpp文件,并重新执行该文件。获取对应的air文件graph.air。

      调优完成后,请将graph.SaveToFile("/path/to/graph.air");注释掉,防止生成冗余的air文件。

    AIR(Ascend Intermediate Representation),类似ONNX,是华为定义的针对机器学习所设计的开放式的文件格式,能更好地适配Ascend AI处理器。

操作步骤

  • 单个AOE进程时,请确保具备如下条件。多个AOE进程时,可参考如下条件自行扩展。
    • 调优用户的家目录下磁盘可用空间>=20G。
    • 可用内存>=32G。注意:如果模型中存在大shape算子,可能需要更多内存。
    • 算子调优时Host CPU要求:若调优时未指定--model_path,则Host CPU建议>=TE_PARALLEL_COMPILER + TUNING_PARALLEL_NUM + 1 + min(CPU的核数/2, 8) + 50。若调优时指定了--model_path,则Host CPU建议>=TE_PARALLEL_COMPILER + TUNING_PARALLEL_NUM + 1 + min(CPU的核数/2, 8) + 58。其中TE_PARALLEL_COMPILER 和TUNING_PARALLEL_NUM 的说明请分别参考表1表1
    • 子图调优时Host CPU建议>=2 *TUNING_PARALLEL_NUM + TE_PARALLEL_COMPILER + 1。其中TE_PARALLEL_COMPILER 和TUNING_PARALLEL_NUM 的说明请分别参考表1表1
    • Device核数>=模型中所有算子使用的最大核数。
    • Device内存:和模型相关,和模型的内存复用相关。
  • 调优前,请确保关闭Profiling功能,避免影响调优结果。关闭Profiling功能具体操作请参见性能分析工具使用指南
  • AOE不支持不同用户同时使用同一device进行调优。
  • AOE调优引擎还提供了其他环境变量控制功能,详情可参见配置环境变量
  • 推荐先进行子图调优,再进行算子调优。原因是:先进行子图调优会生成图的切分方式,子图调优后算子已经被切分成最终的shape了,再进行算子调优,会基于这个最终shape去做算子调优。如果优先算子调优,这时调优的算子shape不是最终切分后的算子shape,不符合实际使用场景。
  • 执行AOE调优引擎进行子图调优

    命令示例如下所示:

    aoe --framework=1 --model=./xzxzxz.air --job_type=1
  • 执行AOE调优引擎进行子图重载调优

    子图调优中断后,希望从上次的已有的调优阶段开始继续调优,则可以选择该模式。

    aoe --framework=1 --model=./xzxzxz.air --job_type=1 --reload

    该命令必须在上次执行调优命令的相同目录下使用。原因是重载调优需要使用上次调优的中间文件,中间文件存放在上次执行调优命令路径下的aoe_workspace目录。

  • 执行AOE调优引擎进行算子调优

    命令示例如下所示:

    aoe --framework=1 --model=./xzxzxz.air --job_type=2

    更多AOE参数请参见AOE参数说明

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

当前产品无相关内容

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