文档
注册

InitBuffer

功能说明

为指定的Queue分配内存。

定义原型

template <class T> __aicore__ inline bool InitBuffer(T& que, uint8_t num, uint32_t len);
template <TPosition pos> __aicore__ inline bool InitBuffer(TBuf<pos>& buf, uint32_t len);

参数说明

表1 bool InitBuffer(T& que, uint8_t num, uint32_t len) 原型定义参数说明

参数名称

输入/输出

含义

que

输入

需要分配内存的TQue对象

num

输入

分配内存块的个数

len

输入

每个内存块的大小,单位为Bytes,注意要求32Byte对齐

表2 InitBuffer(TBuf<pos>& buf, uint32_t len)原型定义参数说明

参数名称

输入/输出

含义

buf

输入

需要分配内存的TBuf对象

len

输入

为TBuf分配的内存大小,单位为Bytes,注意要求32Byte对齐

支持的型号

Atlas 训练系列产品

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

Atlas A2训练系列产品

注意事项

返回值

返回Buffer初始化的结果

调用示例

// 为TQue分配内存,分配内存块数为2,每块大小为128Bytes
TPipe pipe; // Pipe内存管理对象
TQue<TPosition::VECOUT, 2> que; //输出数据Queue队列管理对象,QuePosition为VECOUT
uint8_t num = 2;
uint32_t len = 128;
pipe.InitBuffer(que, num, len);

// 为TBuf分配内存,分配长度为128Bytes
TPipe pipe;
TBuf<TPosition::A1> buf; //输出数据管理对象,QuePosition为A1
uint32_t len = 128;
pipe.InitBuffer(buf, len);
搜索结果
找到“0”个结果

当前产品无相关内容

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