acltdtAllocBuf

产品支持情况

产品

是否支持

Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件

x

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

x

Atlas 200/300/500 推理产品

功能说明

申请共享Buffer内存。

使用acltdtAllocBuf接口申请内存后,数据区的长度为size参数的大小,在用户还未填入有效数据前,该内存的有效数据长度初始值为0,可在用户向内存中填入有效数据后,再通过acltdtSetBufDataLen接口设置有效数据长度。

使用acltdtAllocBuf接口申请的内存,需要通过acltdtFreeBuf接口释放内存。

函数原型

aclError acltdtAllocBuf(size_t size, uint32_t type, acltdtBuf *buf)

参数说明

参数名

输入/输出

说明

size

输入

用于指定申请数据区大小,单位Byte,不能超过4G。

type

输入

共享Buffer内存类型,支持设置如下枚举值。

typedef enum {
    ACL_TDT_NORMAL_MEM = 0,
    ACL_TDT_DVPP_MEM
} acltdtAllocBufType;

buf

输出

申请成功,输出共享Buffer指针。

返回值说明

返回0表示成功,返回其他值表示失败,请参见aclError

约束说明

参考资源

接口调用流程及示例,参见共享Buffer管理