aclrtKernelArgsInitByUserMem

Applicability

Product

Supported

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

Description

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

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

Parameters

Parameter

Input/Output

Description

funcHandle

Input

Kernel function handle.

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

argsHandle

Output

Handle of the parameter list.

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; else, failure. For details, see aclError.