2017-04-11 113 views
0

我正在使用AMD Radeon Pro duo作爲我在opencl中的應用程序。 它具有雙斐濟GPU,我如何配置Cross Fire使它們作爲一個設備工作。我在opencl中使用clgetdeviceinfo來檢查設備計算單元,但它顯示每個斐濟GPU 64。如何在AMD Radeon Pro上啓用交火DUO

我在兩個GPUS中共有128個計算單元,如何使用Crossfire來使用它們。

回答

2

OpenCL有設備分裂但不是設備融合。設備可以共享內存以提高效率,但着色器無法加入。

也有可能兩個GPU之間的不同步,但有些功能:內核

  • 原子函數
  • 預取命令(其中GPU的全局緩存?)
  • clEnqueueAcquireGLObject(其中GPU的緩衝? )
  • clCreateBuffer(設備memorry它選擇哪一個?我們無法選擇。)
  • clEnqueueTask(哪裏這個任務去了?)

您應該將編碼工作分成兩部分並在兩個GPU上運行。如果司機遇到問題,甚至可能需要禁用交叉火力。這不應該比編寫GPGPU編碼器更難。

但是,您可能需要將數據複製到其中一個設備,然後將一半數據從該緩衝區複製到其他GPU,而不是通過pci-e兩次。 GPU之間的連接速度必須快於pci-e。