开发者
下载

aclrtMemMapSelectedLink

产品支持情况

产品

是否支持

Atlas 350 加速卡

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

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

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

功能说明

将虚拟地址virPtrDst映射到虚拟地址virPtrSrc对应的物理地址,可以通过linkIdx选择HCCS链路或者SIO链路。

函数原型

1
aclError aclrtMemMapSelectedLink(void *virPtrDst, size_t size, void *virPtrSrc, uint32_t linkIdx)

参数说明

参数名

输入/输出

说明

virPtrDst

输入

待映射的虚拟内存地址。

需要通过aclrtReserveMemAddress接口提前预留虚拟内存,然后将虚拟内存的首地址作为入参传入本接口。不支持将虚拟内存首地址进行偏移后再传入本接口。

size

输入

虚拟内存大小,单位Byte。

virPtrDst与virPtrSrc处的虚拟内存大小需保持一致,且与size相等。

virPtrSrc

输入

已与物理内存建立映射关系的虚拟内存地址。

需提前通过aclrtMapMem接口完成虚拟内存与物理内存的映射,然后将虚拟内存的首地址作为入参传入本接口。不支持对虚拟内存首地址进行偏移后再传入本接口。

linkIdx

输入

链路标识。

  • ACL_RT_MEM_LINK_IDX_0:SIO(Small Input Output),表示片内连接方式,两个DIE之间通过该方式连接。
  • ACL_RT_MEM_LINK_IDX_1:HCCS(Huawei Cache Coherence System),HCCS是华为缓存一致性系统,用于CPU/NPU之间的高速互联。

宏定义如下:

#define ACL_RT_MEM_LINK_IDX_0 0U     // SIO
#define ACL_RT_MEM_LINK_IDX_1 1U     // HCCS

返回值说明

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

约束说明

若virPtrSrc虚拟内存的首地址在偏移后映射至多个不同的物理内存,则在调用aclrtMemMapSelectedLink接口将virPtrDst与virPtrSrc进行映射时,virPtrDst同样会映射至这些不同的物理内存,且virPtrDst与virPtrSrc的地址偏移量保持一致。在此场景下,需多次调用aclrtUnmapMem接口取消virPtrDst与多个物理地址之间的映射关系。