CPU, GPU, FPGA計算能力

背景

現在AI火熱,帶動了異構計算的發展,讓GPU, FPGA這類加速芯片從輔助設備逐步進入了主流計算設備的行列,開始挑戰傳統CPU的絕對統治地位,那麼我們爲什麼經常聽說GPU, FPGA相對於CPU計算能力要強的多,原因是爲什麼呢?

芯片設計

CPU在芯片設計上,絕大部分空間其實並不屬於ALU(算數邏輯單元)。CPU作爲通用處理器,除了滿足計算要求,爲了更好的響應人機交互的應用,它要能處理複雜的條件和分支,以及任務之間的同步協調,所以芯片上需要很多空間來實現分支預測與優化(control), 保存各種狀態(cache)以降低任務切換時的延時。

GPU則走了一個極端,它在芯片設計上突出計算輸出最大化,幾乎將所有的空間都給了ALU,所以對於AI,HPC,圖形渲染這樣簡單粗暴的浮點矩陣運算,GPU的優勢肯定就非常明顯了。

峯值浮點

CPU

一顆E5 2680 V4, 14核心,3G左右頻率,那麼其峯值浮點能力爲3X14x32(32是V4處理器支持SIMD的速算因子,即一個時鐘週期內能做32次浮點計算)= 1.34Tflops.

Intel V3 Haswell架構處理器,支持AVX256, 即每個時鐘週期能做(256/32)x2=16次單精度浮點,x2是因爲每個時鐘CPU能同時發出一次加法和一次乘法指令。

Intel V4 Broadwell支持FMA(融合乘加)指令,即a*b+c, 所以再x2=32。

Intel V5 Skylake支持AVX512, 所以再x2=64。

GPU

比如是Tesla P100, 3584個cuda core, 核心頻率大概是1.5G左右,那麼其峯值浮點能力爲3584x1.5x2(2是GPU的FMA速算因子)= 10Tflops左右,即使是便宜多的Tesla P4, 峯值浮點也能到5Tflops。

FPGA

比如xilinx的ultrascale, 我查了下,它有1,440 個DSP based加法器,頻率爲 0.5G,還有6,743個Logic based的加法器,頻率爲0.6G,1440x0.5+6743x0.6=4.5Tflops。

價格上看, 大概可以認爲,E5 2680 V4 = Tesla P4 = xilinx ultrascale,所以很清楚了。

轉自:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章