昇腾社区首页
中文
注册
开发者
下载

aclrtDeviceEnablePeerAccess

产品支持情况

产品

是否支持

Atlas 350 加速卡

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

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

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

功能说明

开启当前Device与指定Device之间的数据交互。开启数据交互是Device级的。

调用本接口开启Device之间的数据交互是单向的。例如,当前Device ID为0,调用aclrtDeviceEnablePeerAccess接口指定Device ID为1后,仅Device 0到Device 1方向的数据交互是可行的。若要启用Device 1到Device 0方向的数据交互,则需将当前Device切换至Device 1,并再次调用aclrtDeviceEnablePeerAccess接口指定Device ID 0,此时Device 1到Device 0方向的数据交互才能实现。

可提前调用aclrtDeviceCanAccessPeer接口查询当前Device与指定Device之间能否进行数据交互。开启Device间的数据交互功能后,若想关闭该功能,可调用aclrtDeviceDisablePeerAccess接口。

函数原型

1
aclError aclrtDeviceEnablePeerAccess(int32_t peerDeviceId, uint32_t flags)

参数说明

参数名

输入/输出

说明

peerDeviceId

输入

指定Device ID,该ID不能与当前Device的ID相同。

用户调用aclrtGetDeviceCount接口获取可用的Device数量后,这个Device ID的取值范围:[0, (可用的Device数量-1)]

flags

输入

保留参数,当前必须设置为0。

返回值说明

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

约束说明

Atlas 推理系列产品 Control CPU开放形态下,应用程序运行在Device的Control CPU上时,该接口不支持Device之间的数据交互。

参考资源

接口调用示例,参见两个Device之间的数据传输