有關FLOPS的定義與計算

2021-07-10 12:12:34 字數 1023 閱讀 1614

flops(即「每秒

浮點運算

次數」,「每秒峰值速度」),是「每秒所執行的

浮點運算次數」(floating-point operations per second)的縮寫。它常被用來估算電腦的執行效能,尤其是在使用到大量浮點運算的

科學計算

領域中。正因為flops字尾的那個s,代表秒,而不是

複數,所以不能省略掉。

乙個mflops(megaflops)等於每秒一佰萬(=10^6)次的浮點運算,

乙個gflops(gigaflops)等於每秒十億(=10^9)次的浮點運算,

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

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

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

浮點計算峰值=處理器個數×處理器主頻×每秒可進行的最高浮點運算次數(fmad,乘加指令)

如下圖所示:g80以及至今所有nvidia gpu的流處理器內部有兩個alu單元。

流處理器工作頻率 x 流處理器數量 x 每流處理器的flops數量(2個)=總數

每流處理器的flops數量 == 指令吞吐率 = 2

sp可以做乙個乘法乙個加法

kepler:2880*0.745*2=4290gflops 頻率無需x2 sp頻率和核心頻率相同

fermi: 512*0.650*2*2=1330gflops 頻率需x2 sp頻率是核心頻率的2倍

cuda 中flops的計算方法如下:

(1)統計您每個執行緒的計算次數

(2)將此值乘以您的執行緒總數

(3)統計出總時間(利用profiler或者自己計時),將2中的值(所有執行緒的計算次數)除以計算時間,您將得到每秒的計算次數。

(4)因為3中的值往往較大,所以大家一般使用gflops來衡量(giga float operations per second),

1g次運算 = 10 ^ 9次方次運算。

模型參數量與FLOPs計算

深度學習中parameters個數和flops計算 以cnn中經典的alexnet網路結構為例 never giveup的部落格 csdn部落格 大話cnn經典模型 alexnet 雪餅的個人空間 oschina 在計算flops中,有 kernel ops self.kernel size 0 s...

深度學習中的FLOPs是什麼?如何計算的?

flops 注意全大寫,是floating point operations per second的縮寫,意指每秒浮點運算次數,理解為計算速度。是乙個衡量硬體效能的指標。flops 注意s小寫,是floating point operations的縮寫 s表複數 意指浮點運算數,理解為計算量。可以用...

跟日期 時間有關的計算與比較

計算n年之後的日期 public date caldatebynum int num 時間差轉為小時數 throws parseexception public double caldatetohours string beg,string end throws parseexception ret...