aclCompileOpt
typedef enum { ACL_PRECISION_MODE, // 算子精度模式 ACL_AICORE_NUM, // 模型编译时使用的AI Core数量 ACL_AUTO_TUNE_MODE, // 算子的自动调优模式 ACL_OP_SELECT_IMPL_MODE, // 选择算子是高精度实现还是高性能实现 ACL_OPTYPELIST_FOR_IMPLMODE, // 列举算子类型的列表,该列表中的算子使用ACL_OP_SELECT_IMPL_MODE指定的模式 ACL_OP_DEBUG_LEVEL, // TBE算子编译debug功能开关 ACL_DEBUG_DIR, // 保存模型转换、网络迁移过程中算子编译生成的调试相关过程文件的路径,包括算子.o/.json/.cce等文件。 ACL_OP_COMPILER_CACHE_MODE, // 算子编译磁盘缓存模式 ACL_OP_COMPILER_CACHE_DIR, // 算子编译磁盘缓存的目录 ACL_OP_PERFORMANCE_MODE, // 在算子模糊编译的场景下,通过该选项设置是否按照算子执行高性能的方式编译算子 ACL_OP_JIT_COMPILE // 选择是在线编译算子,还是使用已编译的算子二进制文件 } aclCompileOpt;
编译选项 |
取值说明 |
---|---|
ACL_PRECISION_MODE |
用于配置算子精度模式。如果不配置该编译选项,默认采用allow_fp32_to_fp16。
|
ACL_AICORE_NUM |
用于配置模型编译时使用的AI Core数量。 当前版本设置无效。 |
ACL_AUTO_TUNE_MODE |
该参数后续废弃,请勿配置,否则后续版本可能存在兼容性问题。若涉及调优,请参见《AOE工具使用指南》。 用于配置算子的自动调优模式。
|
ACL_OP_SELECT_IMPL_MODE |
用于选择算子是高精度实现还是高性能实现。如果不配置该编译选项,默认采用high_precision。
|
ACL_OPTYPELIST_FOR_IMPLMODE |
通过ACL_OPTYPELIST_FOR_IMPLMODE选项设置算子类型的列表(多个算子使用英文逗号进行分隔),与ACL_OP_SELECT_IMPL_MODE选项配合使用,设置列表中的算子通过高精度实现或高性能实现。 |
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配合使用。
使用该参数时,可以通过环境变量ASCEND_MAX_OP_CACHE_SIZE来限制某个芯片下缓存文件夹的磁盘空间的大小,当编译缓存空间大小达到ASCEND_MAX_OP_CACHE_SIZE设置的取值,且需要删除旧的kernel文件时,可以通过环境变量ASCEND_REMAIN_CACHE_SIZE_RATIO设置需要保留缓存的空间大小比例。配置示例如下:
# ASCEND_MAX_OP_CACHE_SIZE环境变量默认值为500,单位为MB export ASCEND_MAX_OP_CACHE_SIZE=500 # ASCEND_REMAIN_CACHE_SIZE_RATIO环境变量默认值为50,单位为百分比 export ASCEND_REMAIN_CACHE_SIZE_RATIO=50 |
ACL_OP_COMPILER_CACHE_DIR |
用于配置算子编译磁盘缓存的目录,默认目录为$HOME/atc_data。该编译选项需要与ACL_OP_COMPILER_CACHE_MODE配合使用。 路径支持大小写字母(a-z,A-Z)、数字(0-9)、下划线(_)、中划线(-)、句点(.)、中文字符。 如果设置了ACL_OP_DEBUG_LEVEL编译选项,则只有编译选项值为0或3才会启用编译缓存功能,其它取值禁用编译缓存功能。 |
ACL_OP_PERFORMANCE_MODE |
该参数已废弃,请勿配置,否则后续版本可能存在兼容性问题。 在算子模糊编译的场景下,通过该选项设置是否按照算子执行高性能的方式编译算子,默认采用normal方式。 取值范围:
|
ACL_OP_JIT_COMPIL |
选择是在线编译算子,还是使用已编译的算子二进制文件。预留参数,当前暂不支持。
|