aclrtDeviceEnablePeerAccess
产品支持情况
|
产品 |
是否支持 |
|---|---|
|
Atlas 350 加速卡 |
√ |
|
|
√ |
|
|
√ |
|
|
☓ |
|
|
√ |
|
|
√ |
功能说明
开启当前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。