---
title: aclrtMallocHostWithCfg
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/runtimeapi/aclcppdevg_03_1799.html
sourcePath: /source/zh/canncommercial/900/API/runtimeapi/aclcppdevg_03_1799.html
indexId: af96327e9952adc36b9431e1b5208b50800fd87c5db3bff8f84bf694d0df2d2f68
---
# aclrtMallocHostWithCfg

#### 产品支持情况

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


#### 功能说明

申请Host内存（该内存是锁页内存），由系统保证内存首地址64字节对齐。

与aclrtMallocHost接口相比，本接口在申请内存时，还可以指定内存相关的配置信息。

通过本接口申请的内存，需要通过aclrtFreeHost接口或aclrtFreeHostWithDevSync接口释放内存。

针对 Ascend RC 形态、Control CPU开放形态，Host与Device是合一的，所以申请Host内存也等同于申请Device内存。此外，申请内存时，按普通页申请。如果需要64字节对齐的首地址，用户需自行处理对齐问题。


#### 函数原型

```
aclError aclrtMallocHostWithCfg(void **ptr, uint64_t size, aclrtMallocConfig *cfg)
```


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| ptr | 输出 | “已分配内存的指针”的指针。 |
| size | 输入 | 申请内存的大小，单位Byte。 size不能为0。 |
| cfg | 输入 | 内存配置信息。类型定义请参见aclrtMallocConfig。 不指定配置时，此处可传NULL。 |


#### 返回值说明

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