MIPS 、DMIPS、MFLOPS、TOPS解釋

MIPS

Million Instructions Per Second的縮寫,每秒處理的百萬級的機器語言指令數。
簡單來說,MIPS就是CPU執行指令集的速度,每秒執行了多少百萬個指令。
但是,因爲各個架構的CPU指令集各不相同,所以作爲一家廠商的前後代產品對比也許還行,不同廠商之間的對比就比較難看出端倪了。所以有了DMIPS。

DMIPS(幹石MIPS)

就是赫(chou)赫(ming)有(zhao)名(zhu)的Dhrystone MIPS。
Dhrystone的解釋如下:

A short synthetic benchmark program by Reinhold Weicker [email protected], [email protected], intended to be representative of system (integer) programming. It is available in ADA, Pascal and C.The current version is Dhrystone 2.1. The author says, “Relying on MIPS V1.1 (the result of V1.1) numbers can be hazardous to your professional health.”

其實這是出自Dhrystone Benchmark。你們不是說各家CPU性能沒法比較嗎,那我搞一個統一的小程序,在你們各家的CPU上都跑一遍,看看每秒能跑多少次,然後做個運算(除以1757),誰家數字高誰家CPU就牛逼哄哄橫眉冷對仰天大笑不就行了。
看上去是很美的設想,但是是有問題的:

  • 說是測試CPU性能,但其實測試的時候還是無法脫離系統的,比如OS/Compiler/Library等等。如果測試的時候採用了針對幹石優化過的Compiler和Library,那自然分就更高了。(簡單來說就是好作弊)
  • 只能測試1級緩存。無法反應L2,L3的真實情況。

雖然問題多多,畢竟大家現在也沒有什麼更好的測(zuo)試(bi)辦法,而且DMIPS確實也比較知名,所以也就這麼一直留用下來了。

MFLOPS/GFLOPS/TFLOPS/PFLOPS

MFLOPS(Mega(106)/Giga(109)/Tera(1012)/Peta(1015 Floating-point Operations per Second.
上面的幹石(Dhrystone)測試的是整數運算性能,而與之相對的還有溼石(Whetstone),用來測試浮點運算性能。這個單位就是FLOPS。

TOPS

老實說我沒太理解這個指標。。
我查到有兩種定義:

  1. Tera Operations Per Second
  2. Tensor Operations Per Second

如果是前者,指的是每秒鐘可以進行多少個1012次操作,這裏的操作我理解,指的也許是整數及浮點操作。(畢竟沒找到明確說明)
後者的話相對比較好理解,指的是每秒進行多少次張量操作(主要指在機器學習方面),我個人比較傾向後者。

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