aclrtMemSetPidToShareableHandleV2

Applicability

Product

Supported

Atlas 350 Accelerator Card

Atlas A3 training product/Atlas A3 inference product

Atlas A2 training product/Atlas A2 inference product

Atlas 200I/500 A2 inference product

Atlas inference product

Atlas training product

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

1
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. For details about the type definition, see aclrtMemSharedHandleType.

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.