2014-05-24 100 views
0

我有S10000 AMD GPU,其中有2個GPU。當我運行clinfo時,輸出看起來像被視爲單獨的GPU。要在這兩種GPU上運行我的內核,是否需要創建2個獨立的openCL隊列並對我的工作組進行分區?這兩個GPU是否共享內存?OpenCL AMD S10000雙GPU執行

回答

4

是的,您需要爲每個GPU創建單獨的命令隊列,並手動劃分它們之間的工作負載。 GPU不共享內存,因此您還必須確保數據根據需要傳輸到兩個GPU。如果您創建了包含兩個GPU的單個上下文,那麼實現將自動處理GPU之間的緩衝區,並在需要時進行處理。但是,根據我的經驗,明確這樣做通常會更好,因爲實現有時會在兩個內核之間生成錯誤的依賴關係,這兩個內核都使用相同的緩衝區並將內核執行序列化。