努力奮鬥的小墨魚專欄
阿新 • • 發佈:2018-12-18
在描述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
一個TFLOPS(teraFLOPS)等於每秒一萬億(=10^12)次的浮點運算,(1太拉)
一個PFLOPS(petaFLOPS)等於每秒一千萬億(=10^15)次的浮點運算,
一個EFLOPS(exaFLOPS)等於每秒一佰京(=10^18)次的浮點運算。