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

#### 产品支持情况

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


#### 功能说明

根据核函数句柄初始化参数列表，并获取标识参数列表的句柄。

与aclrtKernelArgsInit接口的区别在于，调用本接口表示由用户管理内存。


#### 函数原型

```
aclError aclrtKernelArgsInitByUserMem(aclrtFuncHandle funcHandle, aclrtArgsHandle argsHandle, void *userHostMem, size_t actualArgsSize)
```


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| funcHandle | 输入 | 核函数句柄。类型定义请参见aclrtFuncHandle。 调用aclrtBinaryGetFunctionByEntry或aclrtBinaryGetFunction获取核函数句柄，再将其作为入参传入本接口。 |
| argsHandle | 输出 | 参数列表句柄。类型定义请参见aclrtArgsHandle。 需提前调用aclrtKernelArgsGetHandleMemSize接口获取内存大小，申请Host内存，再将Host内存地址作为入参传入此处。 |
| userHostMem | 输入 | Host内存地址。 需提前调用aclrtKernelArgsGetMemSize接口获取内存大小，申请Host内存，再将Host内存地址作为入参传入此处。 |
| actualArgsSize | 输入 | 内存大小。 需提前调用aclrtKernelArgsGetMemSize接口获取内存大小，再将其作为入参传入此处。 |


#### 返回值说明

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