如何在AMD Radeon Pro DUO上启用交火

时间:2017-04-11 04:58:13

标签: opencl gpu amd amd-processor

我在opencl中使用AMD Radeon Pro二重奏。 它有一个双斐济GPU,如何配置Cross Fire使它们作为一个设备工作。我在opencl中使用clgetdeviceinfo检查设备计算单元,但每个斐济GPU显示64个。

我在两个GPUS中共有128个计算单元,如何使用Crossfire来使用所有这些单元。

1 个答案:

答案 0 :(得分:2)

OpenCL有设备裂变但没有设备融合。设备可以共享内存以提高效率,但着色器无法加入。

还有一些功能无法在两个GPU之间同步:

  • 内核中的原子功能
  • 预取命令(哪些GPU全局缓存?)
  • clEnqueueAcquireGLObject(GPU' s缓冲区?)
  • clCreateBuffer(它选择哪个设备记忆?我们无法选择。)
  • clEnqueueTask(此任务在哪里?)

您应该将编码工作分为两部分并在两个GPU上运行。如果驾驶员遇到问题,甚至可能需要禁用交叉火力。这不应该比编写GPGPU编码器更难。

但是您可能需要将数据复制到其中一个设备,然后将一半数据从该缓冲区复制到其他GPU,而不是两次通过pci-e。 GPU间连接必须比pci-e更快。