2013-05-09 85 views
1

我們聽說很多關於如何通過GPU比CPU更快地完成某些類型的計算,但作爲程序員,我不知道如何強制以這種方式運行計算。任何人都可以給出一個關於如何完成的高層解釋?如何編寫使用GPU執行計算的代碼?

我知道有些圖書館會通過魔術來做到這一點,但我想了解他們在幕後做了些什麼。我很確定沒有runOnGpu標誌可以傳遞給底層的系統調用,那麼有哪些技術可用?

+1

也許以「CUDA」或「OpenCL」的搜索開始。有大量的參考資料可以回答你的問題... – talonmies 2013-05-09 19:05:09

回答

0

需要重寫你的程序。如果您使用C++ AMP或APARAPI(如果使用Java),請使用C++ AMP。

+0

正如問題所說:「我知道有些圖書館會通過魔術來做到這一點,但我想了解他們在做什麼場景「 – codebox 2013-05-13 08:24:16

+1

對不起,如果我不明白你的問題。那麼不要期望太多的魔法..有效,便攜和易於編寫的並行代碼沒有通向王道 - 至少我不知道(但我可能是錯的)。通常你會選擇3中的2個。回到原來的問題,如果你對低級GPU感興趣,那麼研究CUDA/OpenCL kernelsL。甚至可以查看生成的彙編代碼以查看「幕後」,運行內核分析器(nvidia具有很好的工具)。如果您需要某種類型的計算(如fft,線性代數),請相信供應商提供的庫。 – 2013-05-13 11:51:27

+0

感謝您的指點,我會看看那些 – codebox 2013-05-13 13:45:57

相關問題