Flops

**每秒浮點運算次數**，亦稱每秒峰值速度，（英語：Floating-point operations per second；縮寫：**FLOPS**），即每秒所執行的浮點運算次數。浮點（floating-point）指的是帶有小數的數值，浮點運算即是小數的四則運算，常用來測量電腦運算速度或被用來估算電腦效能，尤其是在使用到大量浮點運算的科學計算領域中。因為 FLOPS 字尾的那個 S 代表秒，而不是複數，所以不能夠省略。在多數情況下，測算 FLOPS 比測算每秒指令數（IPS）要準確。

浮點運算實際上包括了所有涉及浮點數的運算，在某類應用軟體中常常出現，比較整數運算更用時間。現今大部分的處理器中都有浮點運算器。因此每秒浮點運算次數所量測的實際上就是浮點運算器的執行速度。常用來測量每秒浮點運算次數的基準程式（benchmark）之一，是 Linpack。

## 評價

許多專家對每秒浮點運算次數頗多微詞，認為它並不是一個有意義的量度，因為 FLOPS 並不能反應出許多對執行效能有影響的因素。例如：I/O 的效能、記憶體的架構、快取記憶體一致性（cache coherence）。這意味著電腦的實際計算容量，與 FLOPS 的理論峰值間會有一段不小的差距。

隨著新資訊科技時代（數據挖掘、機器學習、深度學習、BIG DATA 大數據、各種類神經網路和人工智慧等）及工業革命 4.0 的發展，與 FLOPS 運算效能指標有關的計算裝置以顯示卡 GPU 和 FPGA 為主要核心，但 FLOPS 指標卻未能準確地反映出以上裝置在相關領域運算的效能表現。皆因以上裝置的架構是利用 CUDA、OpenCL 等程式語言來實現加速相關應用程式的運算速度（普遍達 20 倍甚至高達過千倍），而這些技術的實現依賴的是如 GPU 比 CPU 擁有更多倍數整合的核心，如一塊 NVIDIA GeForce GTX-750Ti 處理器就擁有高達 640 個 CUDA Core，其 GFLOPS 效能表現理想但實際上並未對大數據運算作出很大的貢獻，更多地是因為數量龐大的 CUDA 核心（每核心都有 ALU 算術邏輯運算單元）能進行並行運算而產生的指數級別運算速度提升。

## 換算

* 一個 MFLOPS（megaFLOPS）等於每秒一百萬（106）次的浮點運算；
* 一個 GFLOPS（gigaFLOPS）等於每秒十億 / 十億（109）次的浮點運算；
* 一個 TFLOPS（teraFLOPS）等於每秒一兆 / 一萬億（1012）次的浮點運算；
* 一個 PFLOPS（petaFLOPS）等於每秒一千兆 / 一千萬億（1015）次的浮點運算；
* 一個 EFLOPS（exaFLOPS）等於每秒一百京 / 一百億億（1018）次的浮點運算。

## 浮點運算

* 在進行非常大或者非常小的實數運算，或者參與運算的數字在一個很大的範圍內變動時都非常需要浮點運算的參與。 浮點數的表示方式類似於科學計數法，其區別在於科學計數法是以 10 作為基數，而浮點數以 2 作為基數。 一些已經發表的編碼標準定義了 指數 (Cray 和 VAX 定義了基數為 2 的情況、 IEEE754 格式定義基數為 2 或 10 的情況， IBM 浮點架構定義了基數為 16 的情況) 和 有效位數 (數字後有多少位小數)。實際應用中雖然有很多類似的格式，但最常用的是 ANSI/IEEE Std. 754-1985. 定義的格式，如果用於 32 位元數字則稱為 單精度，用於 64 位元數字的稱為 雙精度 ，數字位數更長的稱為 擴充精度 (用於計算過程中得出的解，這可以防止最終結果誤差過大)。 浮點表示法可以比定點數表示更大範圍內的數字，換言之，它能夠表示非常小的數字和非常大的數字。

### 動態範圍和精度

* 浮點運算中的指數運算能夠確保更大的動態範圍，這意味著即便是最大的和最小的數字也能夠被正常表示。這在計算那些資料量跨度非常大，或無法確定具體資料大小的資料集時相當重要。因此，浮點處理器（Floating-point Processor,FPU) 非常適合用於計算密集型應用程式。

### 效能表現

* FLOPS 和 MIPS 都是用來測量電腦數字運算效能表現的方式。浮點運算測試通常用在科研和研究領域。 MIPS 則用來測量電腦的整數操作效能。 整數操作的例子包括資料轉移 (從 A 到 B)，條件測試 (當 A=B 時，執行 C). 當一台電腦被用來進行資料庫查詢，文書處理、電子試算表製作或執行多個虛擬機器時，一般進行 MIPS 基準效能測試就足夠了。 來自勞倫斯利弗莫爾國家實驗室（Lawrence Livermore National Laboratory）的弗蘭克・H・麥克馬洪（Frank H. McMahon）發明了 FLOPS 和 MFLOPS (megaFLOPS) 這兩個術語。以便他能夠比較現代的超級電腦每秒鐘能夠進行的浮點運算次數。 這比普遍使用的 MIPS 更適合測算那些能夠進行大量數字運算的電腦。

FLOPS 在高效能電腦叢集（超算）上可以使用這一公式得出： 
 ${\text{FLOPS}}={\text{racks}}\times {\frac {\text{nodes}}{\text{rack}}}\times {\frac {\text{sockets}}{\text{node}}}\times {\frac {\text{cores}}{\text{socket}}}\times {\frac {\text{cycles}}{\text{second}}}\times {\frac {\text{FLOPs}}{\text{cycle}}}$ . 
簡化到電腦只擁有一塊 CPU 的情況時，可以使用以下公式： 

 ${\text{FLOPS}}={\text{cores}}\times {\frac {\text{cycles}}{\text{second}}}\times {\frac {\text{FLOPs}}{\text{cycle}}}$ .

## 其他

以下列出幾個有代表性硬體的每秒浮點運算次數

* 注意：本頁所收集之數據於大部份情況下僅供作實際參考值，視不同裝置持有者的晶片品質及運作相關（如：廠商硬體設定、主機板條件、供電系統設定、運作溫度會因高溫而自動強制降頻作保護等因素）而有所不同，大致會與參考值有 (+/-) MAX 15 % 的差異值。

浮點效能參考指標 (xFLOPS) = 總運算核心數 x 每周期運算次數 x 處理器相對運作頻率
i.e.: 1,228.8 GFLOPS/1.2288 TFLOPS = 384 Core x 4 x 800 MHz (0.8 GHz)

### FLOPS

* ENIAC: 300 FLOPS

### MFLOPS

* CRAY-1: 160 MFLOPS
* Raspberry Pi Broadcom CM2708 ARM11 @1 GHz(OC): 316.56 MFLOPS

### GFLOPS

* Intel Xeon 3.6 GHz: <1.8 GFLOPS
* SONY PlayStation 2: 4.7 GFLOPS
* Intel Pentium 4 HT 3.6GHz: 7 GFLOPS
* Raspberry Pi Cluster (32 node) x Broadcom CM2708 ARM11@1 GHz: 10.13 GFLOPS (叢集由 博伊西州立大學電氣工程與計算機系博士生 Joshua Kiepert 實踐)
* Nintendo Wii (ATI HollyWood 243MHz): 12 GFLOPS
* Intel Core 2 Duo E4300 @ 1.8GHz: 14 GFLOPS
* ARM Mali-400 MP4 @ 533MHz: 19.2 GFLOPS
* 樹莓派 上的 VideoCore: 24 GFLOPS
* Intel Core 2 Duo E8400 @ 3.0GHz: 24 GFLOPS
* AMD Phenom X4 9950 @ 2.6GHz : 29.05 GFLOPS
* Intel Core i5-4210U: 36.77175 GFlops (Win 8.1/Pro x64, LinX 0.6.5, Problem Size=11,530, MiB=1,024, 3 times) in 27.798sec
* Intel Core 2 Quad Q8200 @ 2.33GHz: 37 GFLOPS
* Intel Core 2 Extreme QX9770 @ 3.2GHz: 39.63 GFLOPS
* AMD Phenom II x4 955 @ 3.2GHz: 42.13 GFlopS
* Intel Core i5-4210U: 43.4467 GFlops (Win 8.1/Pro x64, LinX 0.6.5, Problem Size=11,530, MiB=1,024, 3 times) in 23.526sec
* Intel HD Graphics 2000 @ 1250MHz(SB): 60 GFLOPS
* Intel Core i7 965: 69.23 GFLOPS
* ARM Mali-T720 MP8 @ 600MHz: 81.6 Peak GFLOPS
* Intel Core i7 980 XE : 107.6 GFLOPS
* Intel HD Graphics 2500 @ 1150MHz(IVB): 110.4 GFLOPS
* Intel Core i5 2500K @ 4.5GHz: 123.35 GFLOPS (w/AVX instruction set)
* Intel HD Graphics 3000 @ 1300MHz: 125 GFLOPS
* Intel HD Graphics 3000 @ 1350MHz(SB): 129.6 GFLOPS
* New Intel HD Graphics GT1 @ 1150MHz(Haswell): 184 GFLOPS
* SONY PlayStation 3: 228.8 GFLOPS
* Mircosoft Xbox 360: 240 GFLOPS
* IBM POWER7: 264.96GFLOPS
* ARM Mali-T760 MP16 @ 600MHz: 326 GFLOPS
* NVIDIA Jetson TK1 (Tegra K1) 開發平台 - Ubuntu: 326 GFLOPS (此為最大值且於內建風扇下運作)
* Nintendo Wii U (ATI Latte 550MHz): 352 GFLOPS
* Intel HD Graphics 4000 @ 1300MHz(IVB): 332.8 GFLOPS
* NVIDIA GeForce 8800 Ultra（G80-450 GPU）:393.6 GFLOPS
* Intel HD Graphics 4200/4400 (Mobile)/4600/P4600/P4700 GT2 @ 1350MHz: 432 GFLOPS
* Nintendo Switch (Nvidia Tegra X1 921MHz) : 471 GFLOPS
* AMD Radeon HD 3870（RV670 GPU）:497 GFLOPS
* NVIDIA Tegra X1:512 GFLOPS
* Intel HD Graphics 5000 GT3 ~HD4XXX @ 1100MHz <15W+>: ~704 GFLOPS
* NVIDIA GeForce GTX 280（G200-300 GPU）:720 GFLOPS
* NVIDIA GeForce 840M w/2GB vRAM: 790 GFLOPS
* NVIDIA GeForce 840M (2GB Dedicated VRAM): 790.3 GFLOPS
* Intel Iris Graphics 5100 @ 1100MHz <28W+>: 704 GFLOPS
* AMD Radeon HD 4870（RV770 GPU）:1008 GFLOPS
* NVIDIA Jetson TX1: over 1,100 GFLOPS

### TFLOPS

* Microsoft Xbox One：1.3 TFLOPS
* Microsoft Xbox One S：1.4 TFLOPS
* NVIDIA GeForce GTX 950 ：1.57 TFLOPS
* Valve Steam Deck (AMD RDNA2 1.6GHz)：1.6 TFLOPS
* SONY PlayStation 4：1.84 TFLOPS
* NVIDIA GeForce GTX 1050 ：1.862 TFLOPS
* AMD Radeon HD 7850 ：1.946 TFLOPS
* NVIDIA GeForce GTX 1050Ti ：2.138 TFLOPS
* NVIDIA GeForce GTX 960 ：2.3 TFLOPS
* NVIDIA GeForce GTX 580 ：2.37 TFLOPS
* NVIDIA GeForce GTX 680 ：3.09 TFLOPS
* AMD Radeon R9 380 ：3.48 TFLOPS
* NVIDIA GeForce GTX 970 ：3.49 TFLOPS
* Microsoft Xbox Series S：4 TFLOPS
* SONY PlayStation 4 Pro：4.2TFLOPS
* AMD Radeon HD 7970 GHz Edition ：4.3 TFLOPS
* NVIDIA GeForce GTX 1060 ：4.4 TFLOPS
* NVIDIA GeForce GTX Titan ：4.5 TFLOPS
* NVIDIA GeForce GTX 980 ：4.6 TFLOPS
* AMD Radeon HD 6990 ：4.98 TFLOPS
* NVIDIA GeForce GTX 780Ti ：5 TFLOPS
* AMD Radeon RX 570 ：5.095 TFLOPS
* AMD Radeon R9 390 ：5.1 TFLOPS
* AMD Radeon RX 480 ：5.1 TFLOPS
* NVIDIA GeForce GTX 1660 Ti ：5.5 TFLOPS
* NVIDIA GeForce GTX 980 Ti ：5.6 TFLOPS
* AMD Radeon R9 290X ：5.6 TFLOPS
* Microsoft Xbox One X：6 TFLOPS
* NVIDIA GeForce GTX 1070：6 TFLOPS
* AMD Radeon RX 580 ：6.175 TFLOPS
* NVIDIA GeForce RTX 2060 ：6.5 TFLOPS
* NVIDIA GeForce GTX Titan X：7 TFLOPS
* AMD Radeon RX 590 ：7.119 TFLOPS
* NVIDIA GeForce RTX 2060 Super ：7.2 TFLOPS
* NVIDIA GeForce RTX 2070 ：7.5 TFLOPS
* AMD Radeon RX 5700 : 7.949 TFLOPS
* NVIDIA GeForce GTX Titan Z ：8.1 TFLOPS
* NVIDIA GeForce GTX 1070 ti : 8.168 TFLOPS
* AMD Radeon R9 Nano ：8.19 TFLOPS
* AMD Radeon HD 7990 ：8.2 TFLOPS
* AMD Radeon R9 FURY X : 8.602 TFLOPS
* NVIDIA GeForce GTX 1080 ：9 TFLOPS
* NVIDIA GeForce RTX 2070 Super ：9.1 TFLOPS
* NVIDIA Tesla P100 : 9.5 TFLOPS
* AMD Radeon RX 5700 XT : 9.754 TFLOPS
* NVIDIA GeForce RTX 2080 ：10.1 TFLOPS
* SONY PlayStation 5：10.3 TFLOPS
* AMD Radeon RX 6700 : 10.37 TFLOPS
* AMD Radeon RX Vega 56 :10.54 TFLOPS
* NVIDIA Titan X ：11 TFLOPS
* NVIDIA GeForce RTX 2080 Super ：11.2 TFLOPS
* AMD Radeon R9 295X2 ：11.46 TFLOPS
* NVIDIA GeForce GTX 1080 Ti ：11.5 TFLOPS
* Microsoft Xbox Series X：12.155 TFLOPS
* AMD Radeon RX Vega 64 : 12.66 TFLOPS
* NVIDIA GeForce RTX 3060 ：12.8 TFLOPS
* AMD Radeon RX 6700 XT : 13.21 TFLOPS
* NVIDIA GeForce RTX 2080 Ti ：13.45 TFLOPS
* NVIDIA Tesla V100 :14.1 TFLOPS
* NVIDIA Titan V : 14.9 TFLOPS
* AMD Radeon RX 6800 : 16.17 TFLOPS
* NVIDIA GeForce RTX 3060 Ti ：16.2 TFLOPS
* NVIDIA Titan RTX : 16.31 TFLOPS
* NVIDIA GeForce RTX 3070 : 20.3 TFLOPS
* AMD Radeon RX 6800 XT : 20.74 TFLOPS
* AMD Radeon RX 6900 XT : 23.04 TFLOPS
* NVIDIA GeForce RTX 3080 : 29.8 TFLOPS
* NVIDIA GeForce RTX 3080 Ti : 34.1 TFLOPS
* NVIDIA GeForce RTX 3090 : 35.7 TFLOPS
* Earth Simulator：35.6 TFLOPS
* Blue Gene/L：135.5 TFLOPS
* 中國曙光 Dawning 5000A：230 TFLOPS

### PFLOPS

* IBM Roadrunner：1.026 PFLOPS
* 台灣杉一號：1.7 PFLOPS
* Jaguar：1.75 PFLOPS
* 天河一號：2.566 PFLOPS
* 台灣杉三號：2.7 PFLOPS
* IBM Mira: 8.16 PFLOPS
* 台灣杉二號：9 PFLOPS
* 京：10.51 PFLOPS
* IBM Sequoia：16.32 PFLOPS
* Cray Titan：17.59 PFLOPS
* 天河二號：33.86 PFLOPS
* BOINC 運算平台：35.109 PFLOPS（2020-5-1）
* 神威太湖之光：93.01 PFLOPS
* Summit : 122.3 PFLOPS
* 富岳 : 415 PFLOPS

### EFLOPS

* 比特幣全網算力 (2013/5) : 1 EFLOPS
* Folding@home 運算平台：2.6 EFLOPS（2020/4/24）
* 比特幣全網算力 (2018/5) : 35 EFLOPS

## 歷史記錄

### 單體電腦的記錄

1997 年六月， 英特爾的 ASCI Red 是世界上第一台每秒浮點運算次數超過每秒一萬億次。 桑迪亞國家實驗室主任 Bill Camp 說，ASCI Red 和此前建造的超算相比擁有最高的可靠性，並且 "是超級計算在壽命、價格和效能上的新水平"。 

NEC 的 SX-9 超級電腦是世界上第一台 向量處理器 中每顆核心能達到超過 100 億次運算的機器。 

作為比較，一台 電子計算機 只需要較低的 FLOPS 就能完成工作。 當一台電腦的回應時間低於 0.1 秒時，人類操作者就會認為其能夠「瞬時」完成計算， 所以，一台簡易計算機只需要大約 10FLOPS 就能夠完成它的功能。 

在 2006 年， 日本理化學研究所發表了新型電腦 MDGRAPE-3。該電腦的最高運算效能可以達到每秒一千萬億次，幾乎是 Blue Gene/L 的兩倍，但 MDGRAPE-3 不是一台通用型電腦，這就是為什麼它不會出現在 Top500.org 名單中。 它通過特殊設計的 電腦管線 來類比分子的運動。 

到 2007 年， 英特爾 推出的試驗性 多核 北極星 晶片，在 3.13 GHz 的工作頻率下實現了 1tFLOPS 的運算速度。 80 核心的晶片可以將頻率提升到 6.26 GHz，從而達到 2tFLOPS 的速度，而熱功耗在這個頻率下已經超過 190 瓦。 

2007 年 6 月 26 日， IBM 公布了它的第二代頂級超級電腦，被稱為 Blue Gene/P。它被設計成連續操作的速度能夠超過一千萬億次。 為了達到這一目標，它的最高運算速度可以達到超過三千萬億次。 

在 2007 年的 Top500.org 報告中，世界上最快的電腦是 IBM Blue Gene/L 超級電腦，測量的峰值 596 萬億次浮點運算。在 Cray XT4 以 101.7 萬億次浮點運算速度的成績位列第二。 

2007 年 10 月 25 日，日本 NEC 公司發布其 SX 系列新型號 SX-9, 其聲稱它是世界上最快的向量的超級電腦。 SX-9 是第一台 CPU 能夠以每顆核心每秒 102.4 億次浮點運算的速度進行頂點向量運算的機器。 

2008 年 2 月 4 日， 美國國家科學基金會 和 奧斯汀的德克薩斯大學 開展了一個完全執行在 AMD 和 Sun 平台，名叫 Ranger 的超級電腦上的研究。 這是當時世界上最強大的研究用超級電腦系統，其持續工作時的運算速度為五百萬億次。 

2008 年 5 月 25 日， IBM 為美國建造了一台超級電腦，起名為 ' 鵑'，這台機器的運算速度達到了里程碑式的一千萬億次。 它也榮獲 2008 年 6 月和 11 月的 TOP500 最強大的超級電腦 (不包括 網格計算). 電腦位於新墨西哥的洛斯阿拉莫斯國家實驗室。 電腦的名字指的是新墨西哥州鳥，大鵑 (Geococcyx californianus). 

在 2008 年六月，AMD 發布了 ATI Radeon 4800 系列，這是第一塊達到一萬億次浮點運算能力的 GPU. 2008 年 8 月 20 日，AMD 發布 ATI Radeon HD 4870X2 圖形卡與兩塊 Radeon R770 Gpu 總共達到 2.4 萬億次浮點運算. 

2008 年 11 月，美國能源部 (DOE) 的橡樹嶺國家實驗室升級了 Cray 提供的 Jaguar 超級電腦。該系統的峰值計算能力為 1.64 千萬億次，使得美洲虎成為世界上第一個專門用於開放研究的千萬億次系統。 在 2009 年初，一台以神話般的動物命名超級電腦，海妖誕生了。 海妖是世界上由大學管理的電腦中速度最快的一台，在 2009 年 TOP500 榜單中名列第六。2010 年，經過升級的海妖操作速度更快，更強大。 

2009 年， Cray Jaguar 以 1.75 千萬億次的速度擊敗 IBM 的「鵑」，登上 500 強名單的第一名。 

在 2010 年，中國推出了 天河一號，這台超級電腦工作的峰值計算速度在每秒 2.5 千萬億次。 

同年最快的 PC 處理器在雙精度浮點運算測試中達到 109 gFLOPS (Intel Core i7 980 XE) ，GPU 的處理速度則更為強大。舉例來說，Nvidia Tesla C2050 GPU 在雙精度浮點運算測試中能夠達到大約 515 gFLOPS ，而 AMD FireStream 9270 的峰值工作速度也達到 240 gFLOPS. 

2011 年，日本已開發出運算速度在 10.51 千萬億次的 K 電腦（京）. 它擁有 88,128 顆 SPARC64VIIIfx 處理器，總共占用了 864 台機架，與理論效能的 11.28 千萬億次。 它以日本漢字 "京" 的讀音命名，「京」表示 10 萬億，對應了它的速度 10 千萬億次。 

2011 年 11 月 5 日，英特爾發布一款基於 x86 處理器，代號為 "騎士角"，持續運算速度超過一萬億次。 英特爾在演示期間強調，這是持續的萬億次浮點運算 (不是其它公司聲稱的 "原生萬億次浮點運算"，以獲得更高，但無意義的數字)，它是第一塊超過一萬億次浮點運算的通用處理器. 

2012 年 6 月 18 日， IBM 的紅杉的超級電腦系統，根據美國勞倫斯 \* 利弗莫爾國家實驗室 (U.S. Lawrence Livermore National Laboratory，LLNL) 的測試結果，速度達到 16 千萬億次，奠定了新的世界紀錄，並以第一名的成績重新整理了最新 TOP500 的名單。 

2012 年 11 月 12 日，TOP500 名單認證的 泰坦 作為世界上最快的超級電腦通過 LINPACK 基準測試，運算速度在 17.59 千萬億次。 它是由 Cray Inc. 在 橡樹嶺國家實驗室 聯合 AMD 皓龍處理器和 "克卜勒" 架構的 NVIDIA Tesla 圖形處理單元 (GPU) 的技術下製造完成的。 

2013 年 6 月 10 日，中國的 天河 2 號 的以 33.86 千萬億次成世界上最快超級電腦。2016 年 6 月 20 日，中國的 神威・太湖之光 在 LINPACK 基準測試中以 93pFLOPS (峰值速度超過 125pFLOPS) 的成績登頂成為世界最快超級電腦。 該系統幾乎完全基於中國的技術研發，其被安裝在無錫的國家超級計算中心。據介紹，該系統比其在 TOP500 中下五個排名的系統算力之和還要快。 

2018 年 6 月生產的 高峰是由 IBM 建立的超級電腦。現在正在執行在能源部 (DOE) 橡樹嶺國家實驗室，以 122.3 千萬億次 的效能表現登頂 HPL (High Performance Linpack)，HPL 是製作 TOP500 的名單的基準。 高峰擁有 4,356 節點，每個節點配有兩塊 22 核心的 Power9 Cpu, 以及六塊 NVIDIA Tesla V100 GPU。 

### 分散式電腦記錄

分散式計算使用網際網路連結的個人電腦來達到更高的 FLOPS。

## 參見

* 浮點數
* IEEE 754
* MIPS
* TOP500
* Computer performance by orders of magnitude
* Performance per watt#FLOPS per watt
* Gordon Bell Prize
* Multiply–accumulate operation
* LINPACK benchmarks
* SPECfp
* SPECint
* SUPS
* Moore's law

## 注釋

## 外部連結

* Current Einstein@Home benchmark （頁面存檔備份，存於網際網路檔案館）
* BOINC projects global benchmark （頁面存檔備份，存於網際網路檔案館）
* Current GIMPS throughput （頁面存檔備份，存於網際網路檔案館）