1. 程式人生 > >努力奮鬥的小墨魚專欄

努力奮鬥的小墨魚專欄

        在描述GPU的效能的時候,我們常常用到FLOPS進行描述。FLOPS是Floating-point Operations Per Second的簡寫,即每秒所能夠進行的浮點運算數目(每秒浮點運算量). 在以往形容GPU的運算效能的時候也常常用到其他單位,比如Triangles Per Second每秒所能夠渲染的三角型數目,以及Pixels Per Second 每秒所能夠渲染的畫素個數等等。然而我們為什麼會用到FLOPS這樣表徵計算能力的單位去描述GPU的能力呢?

吞吐率就如同你家裡的水管, 每秒可以流出多少立方的水, 每秒浮點計算數(flops)也是衡量吞吐率的一個單位, 通過折算到具體的浮點運算元量上.

假設有m * n的矩陣A, 和n * o的矩陣B, 則最終會形成m * o的矩陣C (C = A * B) 其中n是A的寬度, 也是B的高度.

最終總的運算量需要m * o * n次乘加. 將1次乘加看成兩次運算(一次乘法, 一次加法), 則最終需要 2 * m * o * n次運算, 這是總的浮點數運算量.

浮點數運算量(Float Operations, FLO)有了, 則每秒浮點運算量(Float Operations Per Second, FLOPS)等於浮點數運算量除以時間.

一個MFLOPS(megaFLOPS)等於每秒一佰萬(=10^6)次的浮點運算

一個GFLOPS

(gigaFLOPS)等於每秒十億(=10^9)次的浮點運算,

一個TFLOPS(teraFLOPS)等於每秒一萬億(=10^12)次的浮點運算,(1太拉)

一個PFLOPSpetaFLOPS)等於每秒一千萬億(=10^15)次的浮點運算,

一個EFLOPS(exaFLOPS)等於每秒一佰京(=10^18)次的浮點運算。