从TBuf上偏移指定长度且获取指定长度的Tensor。
LocalTensor<T> GetWithOffset<T>(uint32_t size, uint32_t bufOffset);
参数名称 |
输入/输出 |
含义 |
---|---|---|
size |
输入 |
需要获取的Tensor元素个数。 |
bufOffset |
输入 |
从起始位置的偏移长度,单位为Byte,且需32B对齐。 |
Atlas 训练系列产品
Atlas推理系列产品AI Core
Atlas A2训练系列产品/Atlas 800I A2推理产品
Atlas 200I/500 A2推理产品
size的数值是Tensor中元素的个数,size*sizeof(T) + bufOffset不能超过TBuf初始化时的长度。
bufOffset需满足32B对齐的要求。
无
// 为TBuf初始化分配内存,分配内存长度为1024字节 TPipe pipe; TBuf<TPosition::VECCALC> calcBuf; // 模板参数为TPosition中的VECCALC类型 uint32_t byteLen = 1024; pipe.InitBuffer(calcBuf, byteLen); // 从calcBuf偏移64字节获取Tensor,Tensor为128个int32_t类型元素的内存大小,为512字节 LocalTensor<int32_t> tempTensor1 = calcBuf.GetWithOffset<int32_t>(128, 64);