开发者
下载

aclrtMalloc

产品支持情况

产品

是否支持

Atlas 350 加速卡

Atlas A3 训练系列产品/Atlas A3 推理系列产品

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

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

功能说明

在Device上分配size大小的线性内存,并通过*devPtr返回已分配内存的指针,且内存首地址64字节对齐。

使用本接口申请的内存,需要通过aclrtFree接口或aclrtFreeWithDevSync接口释放内存。

本接口为封装接口,仅适用于C++程序,接口内部调用C接口aclrtMallocWithCfg

函数原型

1
2
3
4
5
template <typename T>
aclError aclrtMalloc(T **devPtr, size_t size, aclrtMallocConfig *cfg = nullptr)

template <typename T>
aclError aclrtMalloc(T **devPtr, size_t size, aclrtMemMallocPolicy policy, aclrtMallocConfig *cfg = nullptr)

参数说明

参数名

输入/输出

说明

devPtr

输出

“Device上已分配内存的指针”的指针。

size

输入

申请内存的大小,单位Byte。

size不能为0。

policy

输入

内存分配规则。类型定义请参见aclrtMemMallocPolicy

若配置的内存分配规则超出aclrtMemMallocPolicy取值范围,size≥2M时,按大页申请内存,否则按普通页申请内存。

cfg

输入

内存配置信息。类型定义请参见aclrtMallocConfig

返回值说明

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