文档
注册
评分
提单
论坛
小AI

ACLNN_CACHE_LIMIT

功能描述

此环境变量用于配置单算子执行API在Host侧缓存的算子信息条目个数。缓存的算子信息包含workspace大小、算子计算的执行器、tiling信息等。

单位:个,取值范围:[1,10000000],默认值为10000。

一般场景下不建议设置ACLNN_CACHE_LIMIT环境变量,保持默认值即可。针对动态shape场景下,若算子shape范围较大,开发者可结合业务场景适当增加此环境变量取值增加算子缓存条目,从而提升调度性能。但需要注意,增加算子信息缓存条目会增加Host内存开销,详细可参见使用约束

配置示例

export ACLNN_CACHE_LIMIT=10000

使用约束

  1. 单算子的缓存按线程管理,线程之间使用不同的缓存,互不影响。ACLNN_CACHE_LIMIT配置的是每个线程的算子缓存条目个数。因此线程越多,算子缓存条目越多。

    每个算子缓存条目大约占2KB左右的Host内存,单算子cache的总内存占用大小为:ACLNN_CACHE_LIMIT * 线程数 * 2KB。

    以10个线程,ACLNN_CACHE_LIMIT=100000为例,这种情况下单算子cache的总内存占用为:10*100000*2KB=2GB。

  2. 融合算子(大kernel算子)的缓存在进程级单独的内存池管理,单条cache占约20KB左右的Host内存,融合算子cache的总内存占用是:ACLNN_CACHE_LIMIT * 20KB。
  3. 使用者应结合Host的内存总大小、线程数以及每一个算子缓存条目的大小合理地设置ACLNN_CACHE_LIMIT,设置过大可能导致Host内存占用过多,造成调度性能下降。

支持的型号

Atlas 推理系列产品(Ascend 310P处理器)

Atlas 训练系列产品

Atlas A2 训练系列产品

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词