ICachePreLoad(ISASI)

产品支持情况

  • Ascend 950PR/Ascend 950DT:支持
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品:支持
  • Atlas 200I/500 A2 推理产品:不支持
  • Atlas 推理系列产品AI Core:支持
  • Atlas 推理系列产品Vector Core:不支持
  • Atlas 训练系列产品:不支持

功能说明

头文件路径为:"basic_api/kernel_operator_cache_intf.h"

开发者手动调用ICachePreLoad接口,能够从指令所在GM地址预加载指令到ICache中。

函数原型

__aicore__ inline void ICachePreLoad(const int64_t preFetchLen)

参数说明

表1 参数说明

参数名 输入/输出 描述
preFetchLen 输入 预取长度。

针对如下型号:

  • Ascend 950PR/Ascend 950DT
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品

preFetchLen参数单位为2K Byte,取值满足如下要求:

preFetchLen<ICache的大小2K\text{preFetchLen}< \dfrac{\text{ICache的大小}}{2K}

其中,AIC和AIV的ICache大小分别为32KB和16KB。

针对Atlas 推理系列产品AI Core,传入该参数无效,预取长度均为128Byte。

返回值说明

约束说明

调用示例

int64_t preFetchLen = 2; // 预取指令长度。
AscendC::ICachePreLoad(preFetchLen);