Cpu
如何將任務分配給 GPU
我從 computerbase.de 找到了一個基準(德語為http://www.computerbase.de/artikel/grafikkarten/2013/intel-haswell-grafik-fuer-desktop-pcs-im-test/3/ ),其中一個如果任務(此處為影片轉碼)由 CPU 完成,在另一種情況下由(集成)GPU 完成:
如何將任務(例如影片轉碼)明確分配給 Linux 中的 GPU?
我認為在 GPU 中使用核心的最佳方法是使用OpenCL。這個想法很簡單。您編寫了一個核心(一小段程式碼,您可以在其中僅使用基本的 C 程式碼而無需庫)。例如,如果你想過濾一個幀,你必須對每個像素做一些計算,這就是核心程式碼要做的事情。
然後你必須編譯核心,在 GPU 上分配記憶體並從那裡的主記憶體複製數據。您還必須為結果分配記憶體。然後您創建執行緒並將核心發送到 GPU 上執行(我認為您也可以同時使用 CPU 和 GPU 核心來執行核心)。所以每個執行緒對每個像素執行一次核心。將結果複製回主記憶體並繼續使用 CPU 後。
這是我能解釋的最簡單的方法,但還有一百萬個細節你必須知道,所以你最好開始學習;)你可以從你的顯卡製造商開發者網站開始。在那裡,您將找到有關如何開始使用 OpenCL 進行開發的庫和教程。