aclrtMemSetPidToShareableHandle

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

Sets the trustlist of processes that can share memory.

This API must work with other APIs to implement memory sharing. For details, see the description of aclrtMemExportToShareableHandle.

Prototype

aclError aclrtMemSetPidToShareableHandle(uint64_t shareableHandle, int32_t *pid, size_t pidNum)

Parameters

Parameter

Input/Output

Description

shareableHandle

Input

shareableHandle exported through the aclrtMemExportToShareableHandle API.

pid

Input

Array for storing trustlisted process IDs.

You can call aclrtDeviceGetBareTgid to obtain the process ID. In the Docker scenario, the process ID on the physical machine is obtained. In the non-Docker scenario, the process ID is obtained.

pidNum

Input

Number of processes in the trustlist. The value must be the same as the size of the pid parameter array.

Returns

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

Restrictions

  • This API is not supported in the Ascend RC form of the Atlas 200I/500 A2 inference products.
  • This API is used to set the process trustlist while calling the aclrtMemExportToShareableHandle API.