昇腾社区首页
中文
注册

aclrtIpcMemImportByKey

产品支持情况

产品

是否支持

Atlas A3 训练系列产品/Atlas A3 推理系列产品

Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件

Atlas 200I/500 A2 推理产品

x

Atlas 推理系列产品

Atlas 训练系列产品

功能说明

在本进程中获取key的信息,并返回本进程可以使用的Device内存地址指针。

本接口需与其它接口配合使用,以便实现内存共享的目的,配合使用流程请参见aclrtIpcMemGetExportKey接口处的说明。

函数原型

aclError aclrtIpcMemImportByKey(void **devPtr, const char *key, uint64_t flags)

参数说明

参数名

输入/输出

说明

devPtr

输出

Device内存地址指针。

key

输入

共享内存key

必须先调用aclrtIpcMemGetExportKey接口获取共享内存key,再作为入参传入。

flags

输入

是否开启两个Device之间的数据交互。

取值为如下宏:

  • ACL_RT_IPC_MEM_IMPORT_FLAG_DEFAULT:默认值,关闭两个Device之间的数据交互。

    配置为该值时,需单独调用aclrtDeviceEnablePeerAccess接口开启两个Device之间的数据交互。

  • ACL_RT_IPC_MEM_IMPORT_FLAG_ENABLE_PEER_ACCESS:开启两个Device之间的数据交互。

    配置为该值时,则无需调用aclrtDeviceEnablePeerAccess接口。

宏的定义如下:

#define ACL_RT_IPC_MEM_IMPORT_FLAG_DEFAULT            0x0UL
#define ACL_RT_IPC_MEM_IMPORT_FLAG_ENABLE_PEER_ACCESS 0x1UL

返回值说明

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