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

GetDataBlockSizeInBytes

功能说明

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

函数原型

1
__aicore__ inline constexpr int16_t GetDataBlockSizeInBytes()

参数说明

返回值

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

支持的型号

Atlas 训练系列产品

Atlas推理系列产品AI Core

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

约束说明

调用示例

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

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

当前产品无相关内容

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