aclrtDeviceCanAccessPeer
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
功能说明
查询Device之间是否支持数据交互。
函数原型
aclError aclrtDeviceCanAccessPeer(int32_t *canAccessPeer, int32_t deviceId, int32_t peerDeviceId)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| canAccessPeer | 输出 | 是否支持数据交互,1表示支持,0表示不支持。 |
| deviceId | 输入 | 指定Device的ID,不能与peerDeviceId参数值相同。 用户调用aclrtGetDeviceCount接口获取可用的Device数量后,这个Device ID的取值范围:[0, (可用的Device数量-1)] |
| peerDeviceId | 输入 | 指定Device的ID,不能与deviceId参数值相同。 用户调用aclrtGetDeviceCount接口获取可用的Device数量后,这个Device ID的取值范围:[0, (可用的Device数量-1)] |
返回值说明
返回0表示成功,返回其他值表示失败,请参见aclError。
约束说明
- 仅支持物理机和容器场景;
- 仅支持同一个PCIe Switch内Device之间的数据交互。AI Server场景下,虽然是跨PCIe Switch,但也支持Device之间的数据交互。
- 仅支持同一个物理机或容器内的Device之间的数据交互操作;
- 仅支持同一个进程内、线程间的Device之间的数据交互,不支持不同进程间Device之间的数据交互。