
適合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 適合處理哪些數據】
