aclrtKernelArgsInitByUserMem

Applicable Products

Product

Supported

Ascend 950PR/Ascend 950DT

√

Atlas A3 training products/Atlas A3 inference products

√

Atlas A2 training products/Atlas A2 inference products

√

Atlas 200I/500 A2 inference products

√

Atlas inference products

√

Atlas training products

√

Function

Initializes the parameter list based on the kernel function handle and obtains the handle that identifies the parameter list.

The difference between this API and aclrtKernelArgsInit is that you manage the memory when this API is called.

Prototype

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

Parameters

Parameter

Input/Output

Description

funcHandle

Input

Kernel function handle. For details about the type definition, see aclrtFuncHandle.

Call aclrtBinaryGetFunctionByEntry or aclrtBinaryGetFunction to obtain the kernel function handle, and pass it as an input parameter.

argsHandle

Output

Handle to the parameter list. For details about the type definition, see aclrtArgsHandle.

Call aclrtKernelArgsGetHandleMemSize in advance to obtain the memory size, allocate the host memory, and pass the host memory address to this API as an input parameter.

userHostMem

Input

Host memory address.

Call aclrtKernelArgsGetMemSize in advance to obtain the memory size, allocate the host memory, and pass the host memory address to this API as an input parameter.

actualArgsSize

Input

Memory size.

Call aclrtKernelArgsGetMemSize to obtain the memory size and pass the memory size to this API as an input parameter.

Returns

0 on success; otherwise, failure. For details, see aclError.