下载
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
昇腾小AI

图编译多级优化选项

功能简介

本功能为实验性质功能,后续版本可能存在变更,暂不支持应用于商用产品中。

图编译阶段支持设置图编译优化级别,包括子图优化、整图优化、静态shape模型下沉等,同时提供了两个次级编译优化选项,分别为常量折叠优化、死边消除优化。

  • 常量折叠:其核心是在编译阶段直接计算并替换常量表达式的值,从而减少运行时的计算负担。
  • 死边消除:当图中存在条件控制算子(如If、Case等)时,会根据输入条件(cond)判断走哪个分支。若cond在编译时已确定,即可明确所走分支,此时可删除不会走到的分支,从而减少算子编译、图编译耗时。

关于图优化技术的详细原理介绍请参考昇腾社区“计算图优化技术”文章。

使用方法

该功能通过torchair.get_npu_backend中compiler_config参数配置,配置示例如下,参数说明参见表1

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import torch_npu
import torchair 
config = torchair.CompilerConfig()
# 多级编译优化配置
config.ge_config.oo_level = "O3"
# 常量折叠优化配置
config.ge_config.oo_constant_folding = True
# 死边消除优化配置
config.ge_config.oo_dead_code_elimination = False
npu_backend = torchair.get_npu_backend(compiler_config=config)
表1 参数说明

参数名

参数说明

是否必选

oo_level

图编译多级优化选项,字符串类型。

  • O3(缺省值):开启所有优化,包括开启常量折叠、死边消除等优化。
  • O1:只做促成静态下沉相关的优化,如InferShape(输出tensor的shape推导)、常量折叠、死边消除等优化。

说明:

支持用户手动将oo_constant_folding或oo_dead_code_elimination置为True/False实现优化项的独立开启/关闭。

oo_constant_folding

是否开启常量折叠优化。

  • None(缺省值):依赖oo_level取值,当优化级别为O1或O3时,默认开启。
  • True:开启。
  • False:不开启。

oo_dead_code_elimination

是否开启死边消除优化。

  • None(缺省值):依赖oo_level取值,当优化级别为O1或O3时,默认开启。
  • True:开启。
  • False:不开启。

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

当前产品无相关内容

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