--op_compiler_cache_mode
功能说明
用于配置算子编译磁盘缓存模式。
关联参数
- 该参数需要与--op_compiler_cache_dir配合使用。
- 如果模型转换命令同时使用了--op_debug_level参数,则只有--op_debug_level参数配置为0、3或4才会启用编译缓存功能,其他取值禁用编译缓存功能。
参数取值
参数值:
- enable:表示启用算子编译缓存。启用后可以避免针对相同编译参数及算子参数的算子重复编译,从而提升编译速度。
- disable:表示禁用算子编译缓存。
- force:表示强制刷新缓存,即先删除已有缓存,再重新编译并加入缓存。当用户的python或者依赖库等发生变化时,需要指定为force用于清理已有的缓存。
参数默认值:disable
参数值约束:
- 由于force选项会先删除已有缓存,所以不建议在程序并行编译时设置,否则可能会导致其他模型使用的缓存内容被清除而导致失败。
- 建议模型最终发布时设置编译缓存选项为disable或者force。
推荐配置及收益
- 推荐配置为enable:启用后可以避免针对相同编译参数及算子参数的算子重复编译,从而提升编译速度。
- 首次使用带有该参数的atc命令,用于生成缓存,再次使用带有该参数的atc命令,会利用上次生成的缓存进行编译,从而提升编译速度。
示例
--op_compiler_cache_mode=enable --op_compiler_cache_dir=$HOME/atc_data/kernel_cache --op_debug_level=3
支持的芯片型号
Atlas 200/300/500 推理产品
Atlas 训练系列产品
依赖约束
使用约束:
使用该参数时,可以通过设置如下环境变量,限制某个芯片下缓存文件夹的磁盘空间的大小。如下环境变量可选,默认为500,单位为MB。
export MAX_OP_CACHE_SIZE=xx
另外,当编译缓存空间大小达到MAX_OP_CACHE_SIZE设置的取值,而需要删除旧的kernel文件时,可以通过如下环境变量,设置需要保留缓存的空间大小比例。如下环境变量可选,默认为50,单位为百分比。
export REMAIN_CACHE_SIZE_RATIO=xx%
父主题: 调试选项