--op_compiler_cache_mode
功能说明
用于配置算子编译磁盘缓存模式。
关联参数
- 该参数需要与--op_compiler_cache_dir配合使用。
参数取值
参数值:
- enable:表示启用算子编译缓存。启用后可以避免针对相同编译参数及算子参数的算子重复编译,从而提升编译速度。
- force:启用算子编译缓存功能,区别于enable模式,force模式下会强制刷新缓存,即先删除已有缓存,再重新编译并加入缓存。比如当用户的python变更、依赖库变更、算子调优后知识库变更等,需要先指定为force用于先清理已有的缓存,后续再修改为enable模式,以避免每次编译时都强制刷新缓存。
- disable:表示禁用算子编译缓存。
参数默认值:disable
参数值约束:
- 由于force选项会先删除已有缓存,所以不建议在程序并行编译时设置,否则可能会导致其他模型使用的缓存内容被清除而导致失败。
- 建议模型最终发布时设置编译缓存选项为disable或者force。
- 调试开关打开的场景下,即OP_DEBUG_LEVEL非0值或者OP_DEBUG_CONFIG配置非空时,会忽略--op_compiler_cache_mode参数的配置,不启用算子编译缓存。主要基于以下两点考虑:
- 启用算子编译缓存功能(enable或force模式)后,相同编译参数的算子无需重复编译,编译过程日志无法完整记录。
- 受限于缓存空间大小,对调试场景的编译结果不做缓存。
推荐配置及收益
推荐配置为enable:启用后可以避免针对相同编译参数及算子参数的算子重复编译,从而提升编译速度。
示例
--op_compiler_cache_mode=enable --op_compiler_cache_dir=$HOME/atc_data/kernel_cache --op_debug_level=3
支持的芯片型号
昇腾310 AI处理器
昇腾310P AI处理器
昇腾910 AI处理器
依赖约束
使用该参数时,可以通过环境变量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
父主题: 调试选项