aclrtMemSetPidToShareableHandleV2

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 is enhanced based on aclrtMemSetPidToShareableHandle. You can use the shareType parameter to specify whether to export the shared handle within an AI server or from another AI server.

The usage of this API is similar to that of aclrtMemExportToShareableHandle. However, this API must be used together with aclrtMemExportToShareableHandleV2 to export a shared handle and with aclrtMemImportFromShareableHandleV2 to import a shared handle.

Prototype

aclError aclrtMemSetPidToShareableHandleV2(void *shareableHandle, aclrtMemSharedHandleType shareType, int32_t *pid, size_t pidNum)

Parameters

Parameter

Input/Output

Description

shareableHandle

Input

A shareableHandle exported using the aclrtMemExportToShareableHandleV2 API. It is a pointer that points to the shared handle.

shareType

Input

Type of the exported shared handle.

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.