通用計算

通用計算

通用計算是一個很廣泛的概念,電腦DIY玩家一般說的“通用計算”指的是“GPU通用計算”,意思就是用GPU來處理一些原本CPU可以處理的計算。

通用計算優勢


CPU的邏輯判斷能力、計算精度和單核心計算能力要比GPU更強,但是GPU的優勢在於核心數非常多,一般可以過百上千,與民用CPU不超過8核16線程的數量相比非常懸殊,因此在一些計算場合下效率要比CPU高很多,而這些場合就是通用計算的優勢,比如文件壓縮、視頻轉碼就是典型。

通用計算規範


當前通用計算主要有三種規範
NVIDIA獨家主導的CUDA,只能使用NVIDIA的顯卡實現;
微軟主導的DirectCompute,和DirectX是“一夥的”,A卡N卡乃至Intel核顯都能使用;
蘋果提出、多家廠商支持的開放性規範,OpenCL,能夠對不同架構CPU、GPU等硬體提供支持。
對於CUDA,大家應該是最熟悉的,它能夠用於視頻轉換加速等多種場合,而且效率表現也比較不錯;而DirectCompute實際上已經在多款遊戲上有體驗,比如戰地3塵埃3就是一些採用了DirectCompute技術協助繪圖計算的遊戲;最後OpenCL是硬體支持最為廣泛的通用計算規範,但支持就相對鬆散一些,因為缺乏一個有力的公司主導,MAC平台上的支持是做得比較好的。