aclrtIpcMemImportByKey
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
功能说明
在本进程中获取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。