文档
注册

GetDataBlockSizeInBytes

功能说明

获取当前芯片版本一个datablock的大小,单位为byte。开发者根据datablock的大小来计算API指令中待传入的repeat timesdatablock striderepeat stride等参数值。

函数原型

__aicore__ inline constexpr int16_t GetDataBlockSizeInBytes()

参数说明

返回值

当前芯片版本一个datablock的大小,单位为byte。

支持的型号

Atlas 训练系列产品

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

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

约束说明

调用示例

如下样例通过GetDataBlockSizeInBytes获取的datablock值,来计算repeat times的值:

int16_t dataBlockSize = GetDataBlockSizeInBytes();
// 每个repeat有8个datablock,可计算8 * dataBlockSize / sizeof(half)个数,mask配置为迭代内所有元素均参与计算
uint64_t mask = 8 * dataBlockSize / sizeof(half);
// 共计算512个数,除以每个repeat参与计算的元素个数,得到repeat times
uint8_t repeatTimes = 512 / mask; 
// dstBlkStride, src0BlkStride, src1BlkStride = 1, 单次迭代内数据连续读取和写入
// dstRepStride, src0RepStride, src1RepStride = 8, 相邻迭代间数据连续读取和写入
Add(dstLocal, src0Local, src1Local, mask, repeatTimes, { 1, 1, 1, 8, 8, 8 });
搜索结果
找到“0”个结果

当前产品无相关内容

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