昇腾社区首页
中文
注册
开发者
下载

aclrtHostRegisterV2

产品支持情况

产品

是否支持

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

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

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

功能说明

注册Host内存地址。

取消注册需调用aclrtHostUnregister接口。

函数原型

aclError aclrtHostRegisterV2(void *ptr, uint64_t size, uint32_t flag)

参数说明

参数名

输入/输出

说明

ptr

输入

Host内存地址。

Host内存地址需4K页对齐。

当os内核版本为5.10或更低时,使用非锁页内存会导致异常,因此必须调用aclrtMallocHost接口来申请Host锁页内存。

当os内核版本为5.10以上时,支持使用非锁页的Host内存,因此既支持调用aclrtMallocHost接口申请Host锁页内存,也支持使用malloc接口申请Host非锁页内存。

size

输入

内存大小,单位Byte。

flag

输入

内存注册类型。

取值为如下宏:

  • ACL_HOST_REG_MAPPED:将Host内存映射注册为Device可访问的内存地址,再配合调用aclrtHostGetDevicePointer接口获取映射后的Device内存地址。
  • ACL_HOST_REG_PINNED:将Host内存注册为锁页内存。

宏定义如下:

#define ACL_HOST_REG_MAPPED 0x2UL
#define ACL_HOST_REG_PINNED 0X10000000UL

返回值说明

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