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

#### 产品支持情况

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


#### 功能说明

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

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


#### 函数原型

- C函数原型
  1 aclError aclrtKernelArgsInitByUserMem(aclrtFuncHandle funcHandle, aclrtArgsHandle argsHandle, void *userHostMem, size_t actualArgsSize)

- python函数
  1 ret = acl.rt.kernel_args_init_by_user_mem(func_handle, args_handle, user_host_mem, actual_args_size)


#### 参数说明

| 参数名 | 说明 |
| --- | --- |
| func\_handle | int，核函数句柄。 调用acl.rt.binary\_get\_function获取核函数句柄，再将其作为入参传入本接口。 |
| args\_handle | int，参数列表句柄。 需提前调用acl.rt.kernel\_args\_get\_handle\_mem\_size接口获取内存大小，申请Host内存，再将Host内存地址作为入参传入此处。 |
| user\_host\_mem | int，Host内存地址。 需提前调用acl.rt.kernel\_args\_get\_mem\_size接口获取内存大小，申请Host内存，再将Host内存地址作为入参传入此处。 |
| actual\_args\_size | int，内存大小。 需提前调用acl.rt.kernel\_args\_get\_mem\_size接口获取内存大小，再将其作为入参传入此处。 |


#### 返回值说明

| 返回值 | 说明 |
| --- | --- |
| ret | int，返回0表示成功，返回其他值表示失败。 |
