---
title: 函数：host_register
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/runtimeapi/aclpythondevg_01_1066.html
sourcePath: /source/zh/canncommercial/900/API/runtimeapi/aclpythondevg_01_1066.html
indexId: 1316f663a2b595268f638a5c295fb7729bea88b1d3da3321fa9d203f6680038d71
---
# 函数：host_register

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | √ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |
| Atlas 推理系列产品 | x |
| Atlas 200I/500 A2 推理产品 | x |


#### 功能说明

将Host内存映射注册为Devcie可访问的地址，供Device侧网卡访问。映射后的Device地址不能用于内存复制操作。

本接口与acl.rt.host_unregister接口成对使用。


#### 函数原型

- C函数原型
  1 aclError aclrtHostRegister(void *ptr, uint64_t size, aclrtHostRegisterType type, void **devPtr)

- python函数
  1 dev_ptr, ret = acl.rt.host_register(ptr, size, type)


#### 参数说明

| 参数名 | 说明 |
| --- | --- |
| ptr | int，Host内存地址。Host内存地址需4K页对齐。当os内核版本为5.10或更低时，使用非锁页内存会导致异常，因此必须调用acl.rt.malloc\_host接口来申请Host内存；当os内核版本为5.10以上时，支持使用非锁页的Host内存，因此也支持不调用acl.rt.malloc\_host接口申请Host内存。 |
| size | int，内存大小，单位Byte。 |
| type | int，内存注册类型。当前仅支持ACL\_HOST\_REGISTER\_MAPPED，表示将Host内存映射注册为Devcie可访问的。 |


#### 返回值说明

| 返回值 | 说明 |
| --- | --- |
| dev\_ptr | int，Host内存映射成的Device可访问的内存地址。 |
| ret | int，错误码，返回0表示成功，返回其它值表示失败。 |
