1. 程式人生 > >適合GPU運算的型別

適合GPU運算的型別

適合GPU運算的運算型別有以下六種:

(1)大量的輕量級運算

即用大量資料或者用同一資料多次呼叫同一公式或者計算過程,公式本身並不複雜,只是執行的次數較多,這是GPU先天的優勢。

(2)高度並行

高度並行指的就是各個資料之間運算互不影響,即耦合度較低。由於GPU本身硬體基礎決定,各個workgroup之間並不相互通訊,只有同一workgroup內的work-item之間才相互通訊,所以GPU本身並不支援迭代等資料耦合度較高的計算,這是GPU本身要求。

(3)計算密集型

任務可以分為計算密集型和IO密集型。計算密集型,即少量的IO讀取+大量的計算,消耗CPU資源較多;而IO密集型,是指多次使用IO讀取+少量計算,這種情況涉及到暫存器與記憶體之間以及與裝置記憶體之間的通訊問題,主要限制原因是視訊記憶體頻寬問題。

(4)控制簡單

對比GPU來說,CPU更擅長判斷、邏輯控制、分支等,有通用計算能力,並含有強大的ALU(算術運算單元);而GPU更適合於邏輯簡單的運算。

(5)多個階段執行。

運算程式可分解為多個小程式或者同一程式可分多個階段執行,這就類似於使用叢集處理同一任務,將其分解為多個任務碎片分發到各節點執行,以提高運算速率。

6)浮點型運算。

GPU擅長浮點型運算。