设置算子编译选项
用于配置算子编译过程中的属性,可用于提升性能,通过ACL接口实现。
import torch import torch_npu option = {key: val} torch_npu.npu.set_option(option) # 以dict方式进行设置
使用样例如下,以配置ACL_PRECISION_MODE为例。
import torch import torch_npu option = {"ACL_PRECISION_MODE":"must_keep_origin_dtype"} torch_npu.npu.set_option(option)
可选值 |
含义 |
可设置的val值 |
说明 |
---|---|---|---|
ACL_PRECISION_MODE |
选择算子精度模式。 |
|
如果不配置该编译选项,默认采用allow_fp32_to_fp16。 |
ACL_AICORE_NUM |
设置模型编译时使用的AI Core数量。 |
无 |
当前版本设置无效。 |
ACL_OP_SELECT_IMPL_MODE |
选择算子是高精度实现还是高性能实现。 |
|
如果不配置该编译选项,默认采用high_precision。 |
ACL_OPTYPELIST_FOR_IMPLMODE |
列举算子类型列表,该列表中算子的实现方式使用ACL_OP_SELECT_IMPL_MODE指定的模式。 |
无 |
该参数当前仅支持设置某个具体算子的实现方式,不支持设置多个算子。当前仅支持配置的算子为Pooling、SoftmaxV2、LRN、ROIAlign。 |
ACL_OP_DEBUG_LEVEL |
配置TBE算子编译debug功能开关。 |
|
无。 |
ACL_DEBUG_DIR |
配置保存模型转换、网络迁移过程中算子编译生成的调试相关过程文件的路径。 |
无 |
相关过程文件包括算子.o/.json/.cce等文件。具体生成哪些文件以ACL_OP_DEBUG_LEVEL选项设置的取值为准。 路径支持大小写字母(a-z,A-Z)、数字(0-9)、下划线(_)、中划线(-)、句点(.)、中文字符。 |
ACL_OP_COMPILER_CACHE_MODE |
配置算子编译磁盘缓存模式。 |
|
该编译选项需要与ACL_OP_COMPILER_CACHE_DIR配合使用。 |
ACL_OP_COMPILER_CACHE_DIR |
配置算子编译磁盘缓存的目录。 |
无 |
默认目录为$HOME/atc_data。该编译选项需要与ACL_OP_COMPILER_CACHE_MODE配合使用。 如果设置了ACL_OP_DEBUG_LEVEL编译选项,则只有编译选项值为0或3才会启用编译缓存功能,其它取值禁用编译缓存功能。 路径支持大小写字母(a-z,A-Z)、数字(0-9)、下划线(_)、中划线(-)、句点(.)、中文字符。 |
MM_BMM_ND_ENABLE |
开启MatMul、BatchMatMul算子支持ND模式 |
|
默认采用enable模式。 |