---
title: aclrtMemExportToShareableHandleV2
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/runtimeapi/aclcppdevg_03_2006.html
sourcePath: /source/zh/canncommercial/900/API/runtimeapi/aclcppdevg_03_2006.html
indexId: 177be41cde64f7086e47f1c282e44201b2b3b39f39b5af92babf5ad73f31d14f68
---
# aclrtMemExportToShareableHandleV2

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | √ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | √ |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |


#### 功能说明

将本进程通过aclrtMallocPhysical接口获取到的Device物理内存handle导出，以便后续将Device物理内存共享给其它进程。

本接口是在接口aclrtMemExportToShareableHandle基础上进行了增强，用户可通过shareType参数指定导出AI Server内的共享句柄，或导出跨AI Server的共享句柄。AI Server通常是多个Device组成的服务器形态的统称。

本接口的使用流程可参见aclrtMemExportToShareableHandle，但本接口需配合调用aclrtMemSetPidToShareableHandleV2接口设置进程白名单、调用aclrtMemImportFromShareableHandleV2接口导入共享句柄。


#### 函数原型

```
aclError aclrtMemExportToShareableHandleV2(aclrtDrvMemHandle handle, uint64_t flags, aclrtMemSharedHandleType shareType, void *shareableHandle)
```


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| handle | 输入 | 存放物理内存信息的handle。类型定义请参见aclrtDrvMemHandle。 需先在本进程调用aclrtMallocPhysical接口申请物理内存，该接口调用成功，会返回一个handle。 handle与shareableHandle是一一对应的关系，在同一个进程中，不允许一对多、或多对一，否则报错，例如重复调用本接口导出时则会返回报错。 |
| flags | 输入 | 是否启用进程白名单校验。 取值为如下宏： ACL\_RT\_VMM\_EXPORT\_FLAG\_DEFAULT：默认值，启用进程白名单校验。 配置为该值时，需单独调用aclrtMemSetPidToShareableHandleV2接口将使用shareableHandle的进程ID设置为白名单。 ACL\_RT\_VMM\_EXPORT\_FLAG\_DISABLE\_PID\_VALIDATION：关闭进程白名单校验。 配置为该值时，则无需调用aclrtMemSetPidToShareableHandleV2接口。 宏的定义如下： \#define ACL\_RT\_VMM\_EXPORT\_FLAG\_DEFAULT 0x0UL \#define ACL\_RT\_VMM\_EXPORT\_FLAG\_DISABLE\_PID\_VALIDATION 0x1UL |
| shareType | 输入 | 导出的共享句柄类型。类型定义请参见aclrtMemSharedHandleType。 |
| shareableHandle | 输出 | 指向共享句柄的指针。其指向的内存由调用者提供，大小根据shareType决定： 若shareType为ACL\_MEM\_SHARE\_HANDLE\_TYPE\_DEFAULT，则指向一个uint64\_t变量。 若shareType为ACL\_MEM\_SHARE\_HANDLE\_TYPE\_FABRIC，则指向一个aclrtMemFabricHandle结构体。 typedef struct aclrtMemFabricHandle { uint8\_t data[128]; } aclrtMemFabricHandle; |


#### 返回值说明

返回0表示成功，返回其他值表示失败，请参见aclError。


#### 约束说明

- 对于Atlas 200I/500 A2 推理产品，Ascend RC形态下，不支持调用本接口。

- 支持AI Server内跨进程共享物理内存，若跨Device，则还需配合  aclrtDeviceEnablePeerAccess
接口使用。
- 仅Atlas A3 训练系列产品 / Atlas A3 推理系列产品支持跨AI Server的跨进程共享物理内存。
- 不支持昇腾虚拟化实例场景。
- 不支持算力分组场景。
  算力分组的相关接口请参见算力Group查询与设置。
