文档
注册

aclrtDeviceCanAccessPeer

函数功能

查询Device之间是否支持内存复制,同步接口。

Atlas 200/300/500 推理产品,不支持该接口。

Atlas 200/500 A2推理产品,不支持该接口。

约束说明

  • 仅支持物理机和容器场景;
  • 仅支持同一个PCIe Switch内Device之间的内存复制。AI Server场景下,虽然是跨PCIe Switch,但也支持Device之间的内存复制。
  • 仅支持同一个物理机或容器内的Device之间的内存复制操作;
  • 仅支持同一个进程内、线程间的Device之间的内存复制,不支持不同进程间Device之间的内存复制。
  • Host的相关端口要已使能(例如Host BIOS等),同一个PCIe Switch内Device之间的拷贝才能端到端可用。
  • Atlas 推理系列产品(Ascend 310P处理器)Control CPU开放形态下,应用程序运行在Device的Control CPU上时,该接口不支持Device之间的内存复制。

函数原型

aclError aclrtDeviceCanAccessPeer(int32_t *canAccessPeer, int32_t deviceId, int32_t peerDeviceId)

参数说明

参数名

输入/输出

说明

canAccessPeer

输出

通过deviceId参数指定的Device和通过peerDeviceId参数指定的Device之间是否支持内存复制,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表示成功,返回其它值表示失败。

参考资源

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

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词