图编译多级优化选项
功能简介
本功能为实验性质功能,后续版本可能存在变更,暂不支持应用于商用产品中。
图编译阶段支持设置图编译优化级别,包括子图优化、整图优化、静态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) |
参数名 |
参数说明 |
是否必选 |
---|---|---|
oo_level |
图编译多级优化选项,字符串类型。
说明:
支持用户手动将oo_constant_folding或oo_dead_code_elimination置为True/False实现优化项的独立开启/关闭。 |
否 |
oo_constant_folding |
是否开启常量折叠优化。
|
否 |
oo_dead_code_elimination |
是否开启死边消除优化。
|
否 |
父主题: 更多功能