FLOPS

每秒浮點運算次數

FLOPS(即“每秒浮點運算次數”,“每秒峰值速度”),是“每秒所執行的浮點運算次數”(floating-point operations per second)的縮寫。它常被用來估算電腦的執行效能,尤其是在使用到大量浮點運算的科學計算領域中。正因為FLOPS字尾的那個S,代表秒,而不是複數,所以不能省略掉。

在這裡所謂的“浮點運算”,實際上包括了所有涉及小數的運算。這類運算在某類應用軟體中常常出現,而它們也比整數運算更花時間。現今大部分的處理器中,都有一個專門用來處理浮點運算的“浮點運算器”(FPU)。也因此FLOPS所量測的,實際上就是FPU的執行速度。而最常用來測量FLOPS的基準程式(benchmark)之一,就是Linpack

評價


許多專家對FLOPS有頗多微詞,認為它並不是一個有意義的量度(measurement),因為FLOPS並不能反應出許多對執行效能有影響的因素。例如:I/O的效能、內存的架構、快取內存一致性(cache coherence)、...等。這意味著電腦的實際計算容量,與FLOPS的理論峰值間會有一段不小的差距。

換算


一個MFLOPS(megaFLOPS)等於每秒一百萬(=10^6)次的浮點運算,
一個GFLOPS(gigaFLOPS)等於每秒十億(=10^9)次的浮點運算,
一個TFLOPS(teraFLOPS)等於每秒一萬億(=10^12)次的浮點運算,(1太拉)
一個PFLOPS(petaFLOPS)等於每秒一千萬億(=10^15)次的浮點運算,
一個EFLOPS(exaFLOPS)等於每秒一百京(=10^18)次的浮點運算,
一個ZFLOPS(zettaFLOPS)等於每秒十萬京(=10^21)次的浮點運算。

其他


現今大部分的處理器中,都有一個專門用來處理浮點運算的“浮點單元”(FPU)。也因此 FLOPS 所量測的,實際上就是 FPU 的執行速度。而最常用來測量 FLOPS 的基準程序(benchmark) 之一,就是 Linpack。
1GHz 就是每秒 十億次運算,如果每次運算能完成兩個浮點操作,就叫 2G FLOPS(每秒二十億次浮點操作)。現在家用的雙核計算機通常都能達到每秒 五十億次運算(2*2.5GHz)左右的水平,浮點性能大約是上百億次浮點操作。超級計算機發展得很快,目前劃分超級計算機的門檻是“每秒一萬億次浮點操作”,是家用微機的一百倍以上,幾年以後這個門檻預計會提高到十萬億次。超級計算機幾十、上百萬億次的 FLOPS 也是靠多個處理器(通常還是多核)堆起來的,比如的IBM Roadrunner (走鵑,一種喜歡在地上飛快地走的小鳥)有 6562 個 AMD Opteron雙核處理器,12240 個 PowerX Cell 8i 處理器,其中主要的浮點運算能力是由 Cell 處理器提供的,每個 Cell CPU 包括 8 個浮點處理核心,你可以理解為 8 核。 (Cell也是 Sony PS3 遊戲機的處理器,不過用於PS3的比用於超級計算機的要次一等)總體來看,就是 2 * 6562 = 13124 個通用處理器核心; 8 * 12240 = 97920 個專用處理器核心。你說這麼多錢堆出來的這麼十多萬個核心,速度能不快嗎?它的速度是 1.026 P FLOPS,也就是每秒超過 一千萬億次浮點操作

運算能力


中國的一台叫做「天河2號」的超級計算機,跑出了30.65PFlops的驚人紀錄,比當今世界上最快的那台還要快上 74%!
這份成績的驚人之處在與,這是基於Intel平台的天河2號(又稱銀河2號)還沒開足馬力的情況下取得的成績。經過一次5小時的LINPACK測試,動用了16,000個節點中的14,336個,也就是90%的運算節點,測到了前面提到的30.65PFlops(1 petaflop=1千萬億次浮點計算/秒)LINPACK軟體包被用來測試全球500強大型計算機的運算能力。現在的Top1是美國的泰坦,有17.5PFlops的計算速度。天河2號的效能比是1.935GFlops/瓦,略遜於泰坦的2.143GFlops/瓦。
天河2號的數據,本周在田納西大學教授Jack Dongarra的論文中被披露,他編寫了LINPACK軟體包,並且負責每年修訂500強排行榜兩次。教授沒有說明,天河2號的戰績是否會正式收提交,並被錄到最新的排行榜中。但不管怎麼樣,新榜單將在6月17日公布.
天河2號計劃今年年底入駐廣州的國家超級計算機中心,天河2號的組裝和測試主要由中國國防科技大學(NUDT)承擔。一旦驗收通過,天河2號將對外開放平台,用於實驗和教育領域。
天河2號使用Intel Ivy Bridge和Xeon Phi 處理器,「32,000顆Ivy Bridge的Xeon和48,000顆的Xeon Phi共計2,120,000個內核。」Dongarra寫道。天河2擁有12.4PB的硬碟和1.4PB的內存。NUDT採用自己的分散式計算技術,Dongarra描述為:「光電混合傳輸技術(optoelectronics hybrid transport technology),上層採用主幹拓撲結構,通過13個路由,每個路由有576個埠連接。並運行麒麟LINUX系統。」
理論上,天河2號具備54.9PFlops的計算能力。但Top500上的機器大多達不到理論值,但如果天河2號開足馬力,還有很大的提升空間。
天河2號是天河1號的後續產品,天河1號曾經在2010年11月等上過Top500的頭把交椅,而且長時間排在前8位,運算能力2.57PFlops。[Junius_Lou via Ars]