pypto.Tensor.set_cache_policy#

产品支持情况#

产品

是否支持

Atlas A3 训练系列产品/Atlas A3 推理系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

功能说明#

设置Tensor Cache的属性。

函数原型#

set_cache_policy(self, policy: CachePolicy, value: bool) -> None

参数说明#

参数名

输入/输出

说明

policy

输入

缓存策略类型, 可选值为:
- CachePolicy.NONE_CACHEABLE:芯片提供了L2 Cache能力,但是有些算子的特点导致有L2 Cache反而不如没有L2 Cache,配置后此tensor不会经过L2 Cache,例如有以下常用场景:
- 类似于weight这种常量,如果算子仅访问从out读取一次,不复用,则没有必要进L2;
- 输出shape过大,下层算子最先使用的内存不是上层算子最后的输出结果,进L2后反而触发下层算子回写out,导致性能恶化。

value

输入

是否启用该缓存策略。

返回值说明#

约束说明#

无。

调用示例#

t = pypto.tensor((16, 16), pypto.DT_FP32)
t.set_cache_policy(pypto.CachePolicy.NONE_CACHEABLE, True)