aclrtMemImportFromShareableHandleV2
产品支持情况
产品 |
是否支持 |
|---|---|
√ |
|
√ |
|
√ |
|
√ |
|
√ |
功能说明
在本进程中获取shareableHandle里的信息,并返回本进程中的handle,用于在本进程中建立虚拟地址与物理地址之间的映射关系。
本接口是在接口aclrtMemImportFromShareableHandle基础上进行了增强,用户可通过shareType参数指定导出AI Server内的共享句柄,或导出跨AI Server的共享句柄。
本接口的使用流程可参见aclrtMemExportToShareableHandle,但本接口需配合调用aclrtMemExportToShareableHandleV2接口导出共享句柄、调用aclrtMemSetPidToShareableHandleV2接口设置进程白名单。
函数原型
aclError aclrtMemImportFromShareableHandleV2(void *shareableHandle, aclrtMemSharedHandleType shareType, uint64_t flags, aclrtDrvMemHandle *handle);
参数说明
参数名 |
输入/输出 |
说明 |
|---|---|---|
shareableHandle |
输入 |
待共享的shareableHandle,与aclrtMemExportToShareableHandleV2接口中导出的shareableHandle保持一致。 handle与shareableHandle是一一对应的关系,在同一个进程中,不允许一对多、或多对一。 |
shareType |
输入 |
导出的共享句柄类型。 |
flags |
输入 |
预留参数,当前固定设置为0。 |
handle |
输出 |
本进程的物理内存handle。 |
返回值说明
返回0表示成功,返回其他值表示失败,请参见aclError。
约束说明
Atlas 200I/500 A2 推理产品 上,Ascend RC形态不支持调用本接口。
- 在调用本接口前,需确保待共享的物理内存存在,不能提前释放。
- 不支持同一个进程中调用aclrtMemImportFromShareableHandleV2、aclrtMemExportToShareableHandleV2这两个接口,只支持跨进程调用。
- 内存使用完成后,要及时调用aclrtFreePhysical销毁handle,并且需所有调用本接口的进程都销毁shareableHandle的情况下,handle才会真正销毁。
父主题: 内存管理