Floating point operations per second (FLOPS, flops or flop/s) is a measure of computer performance in computing, useful in fields of scientific computations that require floating-point calculations.[1]
For such cases, it is a more accurate measure than measuring instructions per second.
kiloFLOPS | kFLOPS | 103 |
megaFLOPS | MFLOPS | 106 |
gigaFLOPS | GFLOPS | 109 |
teraFLOPS | TFLOPS | 1012 |
petaFLOPS | PFLOPS | 1015 |
exaFLOPS | EFLOPS | 1018 |
zettaFLOPS | ZFLOPS | 1021 |
yottaFLOPS | YFLOPS | 1024 |
ronnaFLOPS | RFLOPS | 1027 |
quettaFLOPS | QFLOPS | 1030 |
The exponentiation inherent in floating-point computation assures a much larger dynamic range – the largest and smallest numbers that can be represented – which is especially important when processing data sets where some of the data may have extremely large range of numerical values or where the range may be unpredictable. As such, floating-point processors are ideally suited for computationally intensive applications.[3]
FLOPS and MIPS are units of measure for the numerical computing performance of a computer. Floating-point operations are typically used in fields such as scientific computational research, as well as in machine learning. However, before the late 1980s floating-point hardware (it's possible to implement FP arithmetic in software over any integer hardware) was typically an optional feature, and computers that had it were said to be "scientific computers", or to have "scientific computation" capability. Thus the unit MIPS was useful to measure integer performance of any computer, including those without such a capability, and to account for architecture differences, similar MOPS (million operations per second) was used as early as 1970[4] as well. Note that besides integer (or fixed-point) arithmetics, examples of integer operation include data movement (A to B) or value testing (If A = B, then C). That's why MIPS as a performance benchmark is adequate when a computer is used in database queries, word processing, spreadsheets, or to run multiple virtual operating systems.[5] [6] In 1974 David Kuck coined the terms flops and megaflops for the description of supercomputer performance of the day by the number of floating-point calculations they performed per second.[7] This was much better than using the prevalent MIPS to compare computers as this statistic usually had little bearing on the arithmetic capability of the machine on scientific tasks.
FLOPS on an HPC-system can be calculated using this equation:[8]
FLOPS=racks x
nodes | |
rack |
x
sockets | |
node |
x
cores | |
socket |
x
cycles | |
second |
x
FLOPs | |
cycle |
.
This can be simplified to the most common case: a computer that has exactly 1 CPU:
FLOPS=cores x
cycles | |
second |
x
FLOPs | |
cycle |
.
FLOPS can be recorded in different measures of precision, for example, the TOP500 supercomputer list ranks computers by 64 bit (double-precision floating-point format) operations per second, abbreviated to FP64.[9] Similar measures are available for 32-bit (FP32) and 16-bit (FP16) operations.
Instruction set architecture | FP64 | FP32 | FP16 | ||
---|---|---|---|---|---|
Intel CPU | |||||
Intel 80486 | x87 (32-bit) | ? | 0.128 | ? | |
| x87 (32-bit) | ? | 0.5[10] | ? | |
| MMX (64-bit) | ? | 1[11] | ? | |
Intel P6 Pentium III | SSE (64-bit) | ? | 2 | ? | |
Intel NetBurst Pentium 4 (Willamette, Northwood) | SSE2 (64-bit) | 2 | 4 | ? | |
Intel P6 Pentium M | SSE2 (64-bit) | 1 | 2 | ? | |
SSE3 (64-bit) | 2 | 4 | ? | ||
4 | 8 | ? | |||
Intel Atom (Bonnell, Saltwell, Silvermont and Goldmont) | SSE3 (128-bit) | 2 | 4 | ? | |
Intel Sandy Bridge (Sandy Bridge, Ivy Bridge) | AVX (256-bit) | 8 | 16 | 0 | |
| AVX2 & FMA (256-bit) | 16 | 32 | 0 | |
Intel Xeon Phi (Knights Corner) | IMCI (512-bit) | 16 | 32 | 0 | |
| AVX-512 & FMA (512-bit) | 32 | 64 | 0 | |
AMD CPU | |||||
AMD64 (64-bit) | 2 | 4 | 0 | ||
4 | 8 | 0 | |||
AMD K10 | SSE4/4a (128-bit) | 4 | 8 | 0 | |
AMD Bulldozer (Piledriver, Steamroller, Excavator) | 4 | 8 | 0 | ||
AVX2 & FMA (128-bit, 256-bit decoding)[17] | 8 | 16 | 0 | ||
AVX2 & FMA (256-bit) | 16 | 32 | 0 | ||
ARM CPU | |||||
ARM Cortex-A7, A9, A15 | 1 | 8 | 0 | ||
ARM Cortex-A32, A35 | 2 | 8 | 0 | ||
4 | 8 | 0 | |||
ARM Cortex-A76, A77, A78 | 8 | 16 | 0 | ||
ARM Cortex-X1 | ARMv8 | 16 | 32 | ? | |
1 | 8 | 0 | |||
Qualcomm Kryo (1xx - 3xx) | 2 | 8 | 0 | ||
Qualcomm Kryo (4xx - 5xx) | 8 | 16 | 0 | ||
Samsung Exynos M1 and M2 | 2 | 8 | 0 | ||
Samsung Exynos M3 and M4 | 3 | 12 | 0 | ||
IBM PowerPC A2 (Blue Gene/Q) | ? | 8 | 8 (as FP64) | 0 | |
Hitachi SH-4[19] [20] | 1 | 7 | 0 | ||
Nvidia GPU | |||||
Nvidia Curie (GeForce 6 series and GeForce 7 series) | PTX | ? | 8 | ? | |
Nvidia Tesla 2.0 (GeForce GTX 260–295) | PTX | ? | 2 | ? | |
Nvidia Fermi (only GeForce GTX 465–480, 560 Ti, 570–590) | 1/4 (locked by driver, 1 in hardware) | 2 | 0 | ||
Nvidia Fermi (only Quadro 600–2000) | 1/8 | 2 | 0 | ||
Nvidia Fermi (only Quadro 4000–7000, Tesla) | 1 | 2 | 0 | ||
Nvidia Kepler (GeForce (except Titan and Titan Black), Quadro (except K6000), Tesla K10) | 1/12 (for GK110: locked by driver, 2/3 in hardware) | 2 | 0 | ||
Nvidia Kepler (GeForce GTX Titan and Titan Black, Quadro K6000, Tesla (except K10)) | 2/3 | 2 | 0 | ||
1/16 | 2 | 1/32 | |||
Nvidia Pascal (only Quadro GP100 and Tesla P100) | 1 | 2 | 4 | ||
Nvidia Volta[21] | 1 | 2 (FP32) + 2 (INT32) | 16 | ||
Nvidia Turing (only GeForce 16XX) | 1/16 | 2 (FP32) + 2 (INT32) | 4 | ||
Nvidia Turing (all except GeForce 16XX) | 1/16 | 2 (FP32) + 2 (INT32) | 16 | ||
Nvidia Ampere[22] [23] (only Tesla A100/A30) | 2 | 2 (FP32) + 2 (INT32) | 32 | ||
Nvidia Ampere (all GeForce and Quadro, Tesla A40/A10) | 1/32 | 2 (FP32) + 0 (INT32) or 1 (FP32) + 1 (INT32) | 8 | ||
AMD GPU | |||||
AMD TeraScale 1 (Radeon HD 4000 series) | TeraScale 1 | 0.4 | 2 | ? | |
AMD TeraScale 2 (Radeon HD 5000 series) | TeraScale 2 | 1 | 2 | ? | |
AMD TeraScale 3 (Radeon HD 6000 series) | TeraScale 3 | 1 | 4 | ? | |
AMD GCN (only Radeon Pro W 8100–9100) | 1 | 2 | ? | ||
AMD GCN (all except Radeon Pro W 8100–9100, Vega 10–20) | 1/8 | 2 | 4 | ||
1/8 | 2 | 4 | |||
AMD GCN Vega 20 (only Radeon VII) | 1/2 (locked by driver, 1 in hardware) | 2 | 4 | ||
AMD GCN Vega 20 (only Radeon Instinct MI50 / MI60 and Radeon Pro VII) | 1 | 2 | 4 | ||
1/8 | 2 | 4 | |||
AMD RDNA3 | 1/8? | 4 | 8? | ||
1 | 4 (Tensor)[26] | 16 | |||
4 (Tensor) | 4 (Tensor) | 16 | |||
Intel GPU | |||||
Intel Xe-LP (Iris Xe MAX)[27] | Xe | 1/2? | 2 | 4 | |
Intel Xe-HPG (Arc Alchemist) | Xe | 0 | 2 | 16 | |
Intel Xe-HPC (Ponte Vecchio)[28] | Xe | 2 | 2 | 32 | |
Qualcomm GPU | |||||
Qualcomm Adreno 5x0 | Adreno 5xx | 1 | 2 | 4 | |
Qualcomm Adreno 6x0 | Adreno 6xx | 1 | 2 | 4 | |
Graphcore | |||||
Graphcore Colossus GC2[29] [30] | ? | 0 | 16 | 64 | |
? | 0 | 32 | 128 | ||
Supercomputer | |||||
ENIAC @ 100 kHz in 1945 | 0.004[33] (~0.00000003 FLOPS/W) | ||||
48-bit processor @ 208 kHz in CDC 1604 in 1960 | |||||
60-bit processor @ 10 MHz in CDC 6600 in 1964 | 0.3 (FP60) | ||||
60-bit processor @ 10 MHz in CDC 7600 in 1967 | 1.0 (FP60) | ||||
Cray-1 @ 80 MHz in 1976 | 2 (700 FLOPS/W) | ||||
CDC Cyber 205 @ 50 MHz in 1981FORTRAN compiler (ANSI 77 with vector extensions) | 8 | 16 | |||
Transputer IMS T800-20 @ 20 MHz in 1987 | 0.08[34] | ||||
Parallella E16 @ 1000 MHz in 2012 | 2[35] (5.0 GFLOPS/W) | ||||
Parallella E64 @ 800 MHz in 2012 | 2[36] (50.0 GFLOPS/W)[37] | ||||
Microarchitecture | Instruction set architecture | FP64 | FP32 | FP16 |
In June 1997, Intel's ASCI Red was the world's first computer to achieve one teraFLOPS and beyond. Sandia director Bill Camp said that ASCI Red had the best reliability of any supercomputer ever built, and "was supercomputing's high-water mark in longevity, price, and performance".[38]
NEC's SX-9 supercomputer was the world's first vector processor to exceed 100 gigaFLOPS per single core.
In June 2006, a new computer was announced by Japanese research institute RIKEN, the MDGRAPE-3. The computer's performance tops out at one petaFLOPS, almost two times faster than the Blue Gene/L, but MDGRAPE-3 is not a general purpose computer, which is why it does not appear in the Top500.org list. It has special-purpose pipelines for simulating molecular dynamics.
By 2007, Intel Corporation unveiled the experimental multi-core POLARIS chip, which achieves 1 teraFLOPS at 3.13 GHz. The 80-core chip can raise this result to 2 teraFLOPS at 6.26 GHz, although the thermal dissipation at this frequency exceeds 190 watts.[39]
In June 2007, Top500.org reported the fastest computer in the world to be the IBM Blue Gene/L supercomputer, measuring a peak of 596 teraFLOPS.[40] The Cray XT4 hit second place with 101.7 teraFLOPS.
On June 26, 2007, IBM announced the second generation of its top supercomputer, dubbed Blue Gene/P and designed to continuously operate at speeds exceeding one petaFLOPS, faster than the Blue Gene/L. When configured to do so, it can reach speeds in excess of three petaFLOPS.[41]
On October 25, 2007, NEC Corporation of Japan issued a press release announcing its SX series model SX-9,[42] claiming it to be the world's fastest vector supercomputer. The SX-9 features the first CPU capable of a peak vector performance of 102.4 gigaFLOPS per single core.
On February 4, 2008, the NSF and the University of Texas at Austin opened full scale research runs on an AMD, Sun supercomputer named Ranger,[43] the most powerful supercomputing system in the world for open science research, which operates at sustained speed of 0.5 petaFLOPS.
On May 25, 2008, an American supercomputer built by IBM, named 'Roadrunner', reached the computing milestone of one petaFLOPS. It headed the June 2008 and November 2008 TOP500 list of the most powerful supercomputers (excluding grid computers).[44] [45] The computer is located at Los Alamos National Laboratory in New Mexico. The computer's name refers to the New Mexico state bird, the greater roadrunner (Geococcyx californianus).[46]
In June 2008, AMD released ATI Radeon HD 4800 series, which are reported to be the first GPUs to achieve one teraFLOPS. On August 12, 2008, AMD released the ATI Radeon HD 4870X2 graphics card with two Radeon R770 GPUs totaling 2.4 teraFLOPS.
In November 2008, an upgrade to the Cray Jaguar supercomputer at the Department of Energy's (DOE's) Oak Ridge National Laboratory (ORNL) raised the system's computing power to a peak 1.64 petaFLOPS, making Jaguar the world's first petaFLOPS system dedicated to open research. In early 2009 the supercomputer was named after a mythical creature, Kraken. Kraken was declared the world's fastest university-managed supercomputer and sixth fastest overall in the 2009 TOP500 list. In 2010 Kraken was upgraded and can operate faster and is more powerful.
In 2009, the Cray Jaguar performed at 1.75 petaFLOPS, beating the IBM Roadrunner for the number one spot on the TOP500 list.[47]
In October 2010, China unveiled the Tianhe-1, a supercomputer that operates at a peak computing rate of 2.5 petaFLOPS.[48] [49]
the fastest PC processor reached 109 gigaFLOPS (Intel Core i7 980 XE)[50] in double precision calculations. GPUs are considerably more powerful. For example, Nvidia Tesla C2050 GPU computing processors perform around 515 gigaFLOPS[51] in double precision calculations, and the AMD FireStream 9270 peaks at 240 gigaFLOPS.[52]
In November 2011, it was announced that Japan had achieved 10.51 petaFLOPS with its K computer.[53] It has 88,128 SPARC64 VIIIfx processors in 864 racks, with theoretical performance of 11.28 petaFLOPS. It is named after the Japanese word "kei", which stands for 10 quadrillion,[54] corresponding to the target speed of 10 petaFLOPS.
On November 15, 2011, Intel demonstrated a single x86-based processor, code-named "Knights Corner", sustaining more than a teraFLOPS on a wide range of DGEMM operations. Intel emphasized during the demonstration that this was a sustained teraFLOPS (not "raw teraFLOPS" used by others to get higher but less meaningful numbers), and that it was the first general purpose processor to ever cross a teraFLOPS.[55] [56]
On June 18, 2012, IBM's Sequoia supercomputer system, based at the U.S. Lawrence Livermore National Laboratory (LLNL), reached 16 petaFLOPS, setting the world record and claiming first place in the latest TOP500 list.[57]
On November 12, 2012, the TOP500 list certified Titan as the world's fastest supercomputer per the LINPACK benchmark, at 17.59 petaFLOPS.[58] [59] It was developed by Cray Inc. at the Oak Ridge National Laboratory and combines AMD Opteron processors with "Kepler" NVIDIA Tesla graphics processing unit (GPU) technologies.[60] [61]
On June 10, 2013, China's Tianhe-2 was ranked the world's fastest with 33.86 petaFLOPS.[62]
On June 20, 2016, China's Sunway TaihuLight was ranked the world's fastest with 93 petaFLOPS on the LINPACK benchmark (out of 125 peak petaFLOPS). The system was installed at the National Supercomputing Center in Wuxi, and represented more performance than the next five most powerful systems on the TOP500 list did at the time combined.[63]
In June 2019, Summit, an IBM-built supercomputer now running at the Department of Energy's (DOE) Oak Ridge National Laboratory (ORNL), captured the number one spot with a performance of 148.6 petaFLOPS on High Performance Linpack (HPL), the benchmark used to rank the TOP500 list. Summit has 4,356 nodes, each one equipped with two 22-core Power9 CPUs, and six NVIDIA Tesla V100 GPUs.[64]
In June 2022, the United States' Frontier is the most powerful supercomputer on TOP500, reaching 1102 petaFlops (1.102 exaFlops) on the LINPACK benchmarks.[65]
Distributed computing uses the Internet to link personal computers to achieve more FLOPS:
Date | Approximate USD per GFLOPS | Platform providing the lowest cost per GFLOPS | Comments | |
---|---|---|---|---|
Unadjusted | ||||
1945 | $130 trillion | $2 quadrillion | ENIAC in 1945 and $ in 2022. | / . First-generation (vacuum tube-based) electronic digital computer. |
1961 | $20 billion | $ billion | A basic installation of IBM 7030 Stretch had a cost at the time of each. | The IBM 7030 Stretch performs one floating-point multiply every .[76] Second-generation (transistor-based) computer. |
1984 | $20,000,000 | $ | Cray X-MP/48 | $15,000,000 / . Third-generation (integrated circuit-based) computer. |
1997 | $30,000 | $ | Two 16-processor Beowulf clusters with Pentium Pro microprocessors[77] | |
$1,000 | $ | Bunyip was the first sub- computing technology. It won the Gordon Bell Prize in 2000. | ||
$640 | $ | KLAT2 | KLAT2 was the first computing technology which scaled to large applications while staying under .[78] | |
$90 | $ | KASY0 | KASY0 was the first sub- computing technology.[79] | |
$50 | $ | Microwulf | As of August 2007, this "personal" Beowulf cluster can be built for $1256.[80] | |
$1.80 | $ | HPU4Science | This $30,000 cluster was built using only commercially available "gamer" grade hardware.[81] | |
$0.75 | $ | Quad AMD Radeon 7970 System | A quad AMD Radeon 7970 desktop computer reaching 16 TFLOPS of single-precision, 4 TFLOPS of double-precision computing performance. Total system cost was $3000; built using only commercially available hardware.[82] | |
$0.22 | $ | Sony PlayStation 4 | The Sony PlayStation 4 is listed as having a peak performance of, at a price of $400[83] | |
$0.16 | $ | AMD Sempron 145 & GeForce GTX 760 system | Built using commercially available parts, a system using one AMD Sempron 145 and three Nvidia GeForce GTX 760 reaches a total of for a total cost of .[84] | |
$0.12 | $ | Pentium G550 & Radeon R9 290 system | Built using commercially available parts. Intel Pentium G550 and AMD Radeon R9 290 tops out at grand total of .[85] | |
$0.08 | $ | Celeron G1830 & Radeon R9 295X2 system | Built using commercially available parts. Intel Celeron G1830 and AMD Radeon R9 295X2 tops out at over at a grand total of .[86] [87] | |
$0.06 | $ | AMD Ryzen 7 1700 & AMD Radeon Vega Frontier Edition system | Built using commercially available parts. AMD Ryzen 7 1700 CPU combined with AMD Radeon Vega FE cards in CrossFire tops out at over at just under for the complete system.[88] | |
October 2017 | $0.03 | $ | Intel Celeron G3930 & AMD RX Vega 64 system | Built using commercially available parts. Three AMD RX Vega 64 graphics cards provide just over 75 TFLOPS half precision (38 TFLOPS SP or 2.6 TFLOPS DP when combined with the CPU) at ~$2,050 for the complete system.[89] |
November 2020 | $0.03 | $0.03 | AMD Ryzen 3600 & 3× NVIDIA RTX 3080 system | AMD Ryzen 3600 @ 484 GFLOPS & $199.99 3× NVIDIA RTX 3080 @ 29,770 GFLOPS each & $699.99 Total system GFLOPS = 89,794 / TFLOPS= 89.2794 Total system cost incl. realistic but low cost parts; matched with other example = $2839[90] /GFLOP = $0.0314 |
November 2020 | $0.04 | $0.04 | PlayStation 5 | The Sony PlayStation 5 Digital Edition is listed as having a peak performance of 10.28 TFLOPS (20.58 TFLOPS at half precision) at a retail price of $399.[91] |
November 2020 | $0.04 | $0.04 | Xbox Series X | Microsoft's Xbox Series X is listed as having a peak performance of 12.15 TFLOPS (24.30 TFLOPS at half precision) at a retail price of $499.[92] |
September 2022 | $0.02 | $0.02 | RTX 4090 | Nvidia's RTX 4090 is listed as having a peak performance of 82.6 TFLOPS (1.32 PFLOPS at 8-bit precision) at a retail price of $1599.[93] |
May 2023 | $0.01 | $0.01 | Radeon RX 7600 | AMD's RX 7600 is listed as having a peak performance of 21.5 TFLOPS at a retail price of $269.[94] |