2012-11-22 60 views
1

我可以使工作組與其他工作組進行通信而不使用全局內存嗎?如果是,如何?OpenCL - 工作組之間的通信

使用本地內存速度至少快10倍,使用寄存器甚至比全局內存快50倍。

由於

+0

您可以發佈代碼,我們可以討論實施metodology以改進設計,因爲我預計可以避免這種情況。 – DarkZeros

+0

代碼是一個簡單的全雙Nbody代碼,需要N * N個內存操作,而gpu可以輕鬆地同時執行50-60個註冊操作。 –

回答

5

不能通信工作的基團時,每個工作組是在平行於所有其它運行的分離的運算部。

通信工作組的唯一方法是將內核拆分爲兩個內核,並將內核1的輸出保存在全局內存中。之後,將其用作內核2的輸入以繼續處理。