CANN/asc-devkit TBuf偏移获取API 📅 2026/7/17 12:06:34 GetWithOffset【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品支持Atlas 推理系列产品AI Core支持Atlas 推理系列产品Vector Core不支持Atlas 训练系列产品支持Kirin X90支持Kirin 9030支持功能说明头文件路径为basic_api/kernel_tpipe.h。以TBuf为基地址向后偏移指定长度将偏移后的地址作为起始地址提取长度为指定值的Tensor。函数原型template typename T __aicore__ inline LocalTensorT GetWithOffset(uint32_t size, uint32_t bufOffset)参数说明表1模板参数说明参数名称含义T待获取Tensor的数据类型支持的类型请见LocalTensor相关描述。表2参数说明参数名称输入/输出含义size输入需要获取的Tensor元素个数。bufOffset输入从起始位置的偏移长度单位是字节且需32字节对齐。约束说明size的数值是Tensor中元素的个数size*sizeof(T) bufOffset不能超过TBuf初始化时的长度。bufOffset需满足32字节对齐的要求。返回值说明获取到的LocalTensor。调用示例// 为TBuf初始化分配内存分配内存长度为1024字节 AscendC::TPipe pipe; AscendC::TBufAscendC::TPosition::VECCALC calcBuf; // 模板参数为TPosition中的VECCALC类型 uint32_t byteLen 1024; pipe.InitBuffer(calcBuf, byteLen); // 从calcBuf偏移64字节获取Tensor,Tensor为128个int32_t类型元素的内存大小为512字节 AscendC::LocalTensorint32_t tempTensor1 calcBuf.GetWithOffsetint32_t(128, 64);【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考