Introduction

In 1946, ENIAC performed about 500 floating-point operations per second. It weighed 27 tons, consumed 150 kilowatts of power, and filled a room. In 2024, an NVIDIA B200 GPU performs 9 quadrillion floating-point operations per second at reduced precision—18 trillion times faster—in a chip you can hold in one hand. That increase is not a metaphor. It is a measured, physical fact about what silicon can do.

This article surveys the major types of computing hardware, how each is architected, what each is good at, and how their raw arithmetic throughput—measured in FLOPS (floating-point operations per second)—has evolved over decades. The goal is to give you a sense of scale: what a CPU actually does that a GPU cannot, why a GPU achieves $50\times$ the FLOPS of a CPU at the same price, why purpose-built chips demolish both for narrow workloads, and how humanity went from 500 FLOPS to $10^{18}$ FLOPS in 78 years.

What is a FLOP?
A FLOP is one floating-point operation: an addition, multiplication, or fused multiply-add (FMA) on a number represented in IEEE 754 format. FLOPS (with the S) is the rate: operations per second. The precision matters enormously. A 64-bit (FP64, "double precision") operation carries about 15 significant decimal digits. A 32-bit (FP32, "single precision") operation carries about 7. A 16-bit (FP16, "half precision") operation carries about 3. Lower precision means smaller, faster arithmetic units, so the same chip can do more FP16 operations per second than FP64. Modern AI accelerators push this further with 8-bit (FP8) and even 4-bit (FP4) formats, trading precision for raw throughput.

Part 1: The CPU—General-Purpose Computation

Central Processing Unit (CPU)
The universal machine. Optimized for doing one thing at a time, very fast, with complex control flow. The only processor that can run an operating system, handle interrupts, manage memory, and execute arbitrary branching logic.

Architecture

A CPU is a latency-optimized processor. It is designed to execute a single thread of instructions as fast as possible. To achieve this, modern CPUs dedicate enormous amounts of transistor budget to machinery that has nothing to do with arithmetic: branch predictors, out-of-order execution engines, register renaming, speculative execution, multi-level cache hierarchies (L1/L2/L3), and memory prefetchers. On a modern Intel or AMD CPU, the actual arithmetic units—the ALUs and FPUs—occupy perhaps 5–10% of the die area. The rest is control logic and cache.

This makes the CPU extraordinarily flexible. It can evaluate an if/else branch with near-zero penalty (thanks to branch prediction). It can chase pointers through a linked list. It can handle interrupts, context-switch between threads, run an operating system kernel, parse a file, manage a network stack, and execute arbitrary code with complex data dependencies between operations. No other processor type can do this.

The cost of this generality is that the CPU has relatively few arithmetic units. A high-end desktop CPU in 2024 has 8–24 cores, each capable of executing perhaps 32–64 FP32 operations per cycle (via SIMD/AVX instructions). That gives it a few teraflops at peak—impressive by historical standards, but a fraction of what a GPU achieves.

The SIMD Revolution

CPUs have steadily widened their arithmetic throughput through SIMD (Single Instruction, Multiple Data) extensions. Instead of operating on one number at a time, SIMD instructions operate on a vector of numbers in a single cycle:

  • SSE (1999): 128-bit registers. 4 FP32 or 2 FP64 operations per instruction.
  • AVX (2011): 256-bit registers. 8 FP32 or 4 FP64 operations per instruction.
  • AVX-512 (2016): 512-bit registers. 16 FP32 or 8 FP64 operations per instruction.

With fused multiply-add (FMA), each SIMD instruction counts as two operations (a multiply and an add), doubling the effective throughput. A single AVX-512 FMA instruction on FP32 data performs 32 floating-point operations in one cycle. But you need data that is independent and contiguous to fill these wide registers. Code with branches, pointer chasing, or irregular memory access patterns cannot use SIMD effectively. This is the fundamental constraint: the CPU is fast at everything, but only achieves peak FLOPS on embarrassingly parallel, regular data.

Historical FLOPS: CPU

Processor Year Peak FLOPS Notes
Intel 8087 coprocessor 1980 50 KFLOPS First x86 FPU. 5–10 MHz. Separate chip.
Intel 486DX-33 1989 ~7 MFLOPS First integrated FPU on x86. 33 MHz.
Intel Pentium 66 1993 ~30 MFLOPS Superscalar: 2 FP ops/cycle. 66 MHz.
Pentium III 1.0 GHz 1999 ~4 GFLOPS (FP32) SSE: 4-wide FP32 SIMD.
Core 2 Duo E6700 2006 ~43 GFLOPS (FP32) 2 cores, 128-bit SSE, FMA.
AMD Ryzen 9 7950X 2022 ~2.9 TFLOPS (FP32) 16 cores, AVX-512, 5.7 GHz boost.
Intel Core i9-14900K 2023 ~2.6 TFLOPS (FP32) 24 cores (8P+16E), AVX2. No AVX-512.
Apple M4 Max (CPU only) 2024 ~1.5 TFLOPS (FP32) 16 cores, ARM NEON. No AVX.

From 50 thousand to 2.9 trillion in 42 years: a factor of 58 million. But notice the trajectory flattening. The jump from the 8087 to the Pentium III (1980–1999) was $80{,}000\times$. The jump from the Pentium III to the Ryzen 9 7950X (1999–2022) was about $725\times$. Clock speeds plateaued around 2005 (the "power wall"); further gains came from more cores and wider SIMD, which only help if the workload is parallel.

What CPUs Are Best At

Operating systems. Compilers. Databases. Web servers. Game logic. Any code with complex branching, irregular memory access, or serial dependencies between operations. The CPU is the only processor that can run arbitrary programs. Everything else on this list is a specialist.

Part 2: The GPU—Throughput-Optimized Parallel Arithmetic

Graphics Processing Unit (GPU)
Thousands of simple cores executing the same instruction on different data. Designed for massively parallel workloads where every element is independent. Achieves $10$–$50\times$ the FLOPS of a CPU—but only on the right kind of problem.

Architecture

A GPU is a throughput-optimized processor. Where a CPU dedicates transistors to making one thread fast, a GPU dedicates transistors to running thousands of threads simultaneously. An NVIDIA H100 has 16,896 CUDA cores, compared to 24 cores on a top-end Intel CPU. Each GPU core is far simpler than a CPU core: no branch predictor, no out-of-order execution, minimal cache. But there are thousands of them, and they all execute the same instruction at the same time on different pieces of data (SIMT: Single Instruction, Multiple Threads).

This architecture emerged from the demands of real-time graphics. Rendering a frame requires performing the same computation (lighting, shading, texture sampling) on millions of pixels independently. There are no dependencies between pixels: the color of pixel (300, 400) does not depend on the color of pixel (301, 400). This is embarrassingly parallel, and the GPU is built for exactly this pattern.

The Constraint: No Dependencies

The GPU achieves its enormous FLOPS counts precisely because it assumes operations are independent. If your computation requires the result of step N before it can begin step N+1, the GPU cannot help you. Thousands of cores will sit idle waiting for a single dependency to resolve. Consider these two examples:

  • Matrix multiplication (GPU-friendly): Every element of the output matrix can be computed independently. Feed the GPU two $4096\times4096$ matrices and it will compute all 16 million dot products in parallel. The H100 sustains close to its peak tensor FLOPS on this workload.
  • Fibonacci sequence (GPU-hostile): $F(n) = F(n-1) + F(n-2)$. Each term depends on the previous two. This is inherently serial. A GPU computes this slower than a CPU because of the overhead of launching a kernel for a single addition.

Real workloads fall on a spectrum between these extremes. Neural network training is dominated by matrix multiplications (GPU-friendly). Game physics involves both parallel particle systems (GPU-friendly) and sequential constraint solving (GPU-hostile). Sorting algorithms are partially parallelizable but require synchronization. The art of GPU programming is restructuring algorithms to minimize dependencies and maximize parallel occupancy.

Tensor Cores and the Precision Hierarchy

Starting with NVIDIA’s Volta architecture in 2017, GPUs added tensor cores: specialized matrix-multiply units that operate on small matrices (e.g., $4\times4$) in a single cycle. Tensor cores exploit the fact that deep learning tolerates reduced precision. The result is a dramatic hierarchy of throughput by precision:

Precision H100 (SXM) Dense H100 with Sparsity B200 (HGX) Dense
FP64 34 TFLOPS 37 TFLOPS
FP64 Tensor 67 TFLOPS 37 TFLOPS
FP32 67 TFLOPS 75 TFLOPS
TF32 Tensor 989 TFLOPS 1,979 TFLOPS 2,250 TFLOPS
FP16/BF16 Tensor 1,979 TFLOPS 3,958 TFLOPS 4,500 TFLOPS
FP8 Tensor 3,958 TFLOPS 7,916 TFLOPS 9,000 TFLOPS
FP4 Tensor 18,000 TFLOPS

Look at that table carefully. The B200’s FP4 tensor throughput (18,000 TFLOPS) is $486\times$ its FP64 throughput (37 TFLOPS). This is not a software trick. At lower precision, the arithmetic units are physically smaller, so more fit on the die, and each completes faster. The chip is literally doing $486\times$ more operations per second—but each operation carries only 4 bits of precision instead of 64. For scientific simulation (climate models, fluid dynamics, molecular dynamics), you need FP64. For training large language models, FP16 or BF16 is standard. For inference, FP8 or even FP4 is increasingly sufficient.

The "with sparsity" column refers to NVIDIA’s 2:4 structured sparsity feature (Ampere and later): if exactly 2 of every 4 values in a matrix are zero, the hardware skips those multiplications, effectively doubling throughput. This is a hardware-level exploitation of the fact that neural network weights are often sparse.

Historical FLOPS: GPU

GPU Year FP32 FLOPS Top AI FLOPS Notes
GeForce 256 1999 ~1–2 GFLOPS Fixed-function T&L. Not programmable.
GeForce 6800 Ultra 2004 ~54 GFLOPS First fully programmable FP32 shaders.
Tesla C870 (G80) 2007 518 GFLOPS First CUDA GPU. 128 cores.
Tesla M2090 (Fermi) 2011 1.33 TFLOPS 512 CUDA cores. FP64 at 1:2 ratio.
Tesla K80 (Kepler) 2014 8.74 TFLOPS Dual-GPU. 4,992 CUDA cores total.
Tesla P100 (Pascal) 2016 10.6 TFLOPS 21.2 TFLOPS (FP16) First HBM2 memory. NVLink.
Tesla V100 (Volta) 2017 15.7 TFLOPS 125 TFLOPS (FP16 Tensor) First tensor cores. 640 tensor cores.
A100 (Ampere) 2020 19.5 TFLOPS 624 TFLOPS (FP16 Tensor+Sparse) TF32 format. Structured sparsity.
H100 (Hopper) 2022 67 TFLOPS 3,958 TFLOPS (FP8 Tensor+Sparse) Transformer Engine. FP8 support.
B200 (Blackwell) 2024 75 TFLOPS 18,000 TFLOPS (FP4 Tensor) 208B transistors. 192 GB HBM3e.

From the GeForce 256 to the B200 in 25 years: FP32 went from ~2 GFLOPS to 75 TFLOPS ($37{,}500\times$). But the real story is the AI-specific formats. The V100 in 2017 introduced tensor cores at 125 TFLOPS FP16. Seven years later, the B200 reaches 18,000 TFLOPS at FP4—a $144\times$ increase in AI throughput in seven years, on top of the preceding two decades of GPU evolution.

What GPUs Cannot Do

A GPU cannot efficiently run an operating system. It cannot handle unpredictable branches. It cannot chase pointers through a graph. It cannot serve a web request. It cannot do anything that requires one operation to complete before the next can begin. The thousands of cores are powerful only when they all do the same thing at the same time. When threads within a warp (a group of 32 threads on NVIDIA hardware) take different branches, the GPU serializes both paths—a penalty called warp divergence. The GPU also has limited cache and relies on massive parallelism to hide memory latency (by switching to another warp while one waits for data). If your workload has irregular memory access patterns, the GPU stalls.

The GPU is a specialist that happens to be useful for an enormous category of problems: anything that looks like "apply the same function to millions of independent data points." Graphics, matrix algebra, neural networks, physics simulations, signal processing, cryptography, and Monte Carlo methods all fit this description. But the CPU remains indispensable for everything else.

Part 3: The NPU/TPU—Neural Network Accelerators

Neural Processing Unit (NPU) / Tensor Processing Unit (TPU)
Purpose-built matrix-multiply engines. Even less general than a GPU, but even faster at the specific computation that neural networks require: multiplying large matrices of low-precision numbers.

Architecture

Neural networks, at the level of hardware, are almost entirely matrix multiplications. A transformer layer is a sequence of matrix multiplies (queries $\times$ keys, attention $\times$ values, feed-forward projections) with nonlinear activations (softmax, GELU) between them. The activations are elementwise and cheap. The matrix multiplies dominate runtime. An NPU or TPU is built around a systolic array: a grid of multiply-accumulate (MAC) units that data flows through in a wave, performing matrix multiplication with maximum arithmetic density and minimal data movement.

Google’s TPU v1 (2016) had a $256\times256$ systolic array of 8-bit integer MACs—65,536 multipliers operating in lockstep. It could not train models (no backpropagation support); it was inference-only. But it could evaluate neural networks at 92 trillion 8-bit operations per second. Each subsequent generation added training capability, higher precision (BF16), more memory, and faster interconnects.

The key difference from a GPU: an NPU/TPU has no general-purpose cores. There is no CUDA-equivalent programming model where you write arbitrary kernels. The chip executes a fixed computational graph (a neural network) that has been compiled into a sequence of matrix operations. This rigidity is the source of its efficiency. By not supporting arbitrary computation, the chip dedicates nearly all its transistors and power to matrix arithmetic.

Google TPU Evolution

Generation Year Peak Compute Precision Notes
TPU v1 2016 92 TOPS INT8 Inference only. $256\times256$ systolic array. 28nm.
TPU v2 2017 45 TFLOPS BF16 First training-capable TPU.
TPU v3 2018 420 TFLOPS BF16 Liquid cooling. $2\times$ FP throughput of v2.
TPU v4 2021 275 TFLOPS BF16 7nm. Optical interconnects. 4,096-chip pods.
TPU v5e 2023 197 TFLOPS BF16 Cost-optimized for inference.
TPU v5p 2023 459 TFLOPS BF16 Training-optimized. 8,960-chip pods.
TPU v6e (Trillium) 2024 918 TFLOPS BF16 $2\times$ v5e throughput.
TPU v7 (Ironwood) 2025 4,614 TFLOPS FP8 4.6 PFLOPS per chip. First native FP8 TPU.

Note the jump from v6e (918 TFLOPS BF16) to v7 (4,614 TFLOPS FP8). Part of this is architectural improvement; part is the shift from BF16 to FP8. The trend is clear: each generation pushes precision lower and throughput higher, because neural network workloads tolerate it.

On-Device NPUs

The same principle—dedicated matrix-multiply silicon—has migrated into phones and laptops. Apple’s Neural Engine, Qualcomm’s Hexagon NPU, and Intel’s NPU are all small systolic arrays integrated into the SoC (system on chip). They handle on-device AI tasks: face recognition, voice processing, image enhancement, and local LLM inference. Their throughput is measured in TOPS (tera-operations per second, usually INT8):

Chip Year NPU Performance Notes
Apple A11 Bionic 2017 0.6 TOPS First Apple Neural Engine. 2 cores.
Apple A12 Bionic 2018 5 TOPS 8 Neural Engine cores.
Apple A17 Pro 2023 35 TOPS 16 cores. iPhone 15 Pro.
Apple M4 2024 38 TOPS 16 cores. iPad Pro / MacBook.
Qualcomm Snapdragon X Elite 2024 45 TOPS Hexagon NPU. INT8.
Intel Lunar Lake NPU 2024 48 TOPS $4\times$ Meteor Lake’s 11 TOPS.
Qualcomm Snapdragon X2 Elite 2025 80 TOPS Adds FP8 and BF16 support.

These numbers are modest compared to data-center accelerators, but they enable real-time AI inference without a network round-trip. An 80 TOPS NPU can run a small language model (7–13 billion parameters, quantized to 4-bit) at conversational speed entirely on-device.

Part 4: ASICs—Fixed-Function Silicon

Application-Specific Integrated Circuit (ASIC)
A chip designed to do exactly one thing. No programmability, no flexibility, no wasted transistors. The most efficient possible implementation of a fixed algorithm in silicon.

Architecture

An ASIC is the logical endpoint of specialization. Where a CPU is fully general, a GPU is parallel-general, and an NPU is matrix-specialized, an ASIC is algorithm-specific. The entire chip is a hardwired implementation of one computation. There is no instruction decoder, no register file, no program counter. Data flows through fixed logic gates that implement the target algorithm directly.

The most visible example is Bitcoin mining. The SHA-256 hash function is a fixed sequence of bitwise operations. An ASIC miner implements this sequence as a physical circuit. The Antminer S21 XP Hydro (2024) computes 473 trillion SHA-256 hashes per second. Each hash involves roughly 12,000 32-bit integer operations, so this is equivalent to approximately $5.7 \times 10^{18}$ integer operations per second—a number that exceeds the FP64 throughput of the world’s fastest supercomputer, for a single rack-mounted device. But it can do nothing else. It cannot add two numbers. It cannot run a program. It computes SHA-256, and that is all.

AI-Specific ASICs: Wafer-Scale

The most ambitious ASIC for AI is the Cerebras Wafer-Scale Engine (WSE). Instead of cutting a silicon wafer into hundreds of individual chips, Cerebras uses the entire wafer as a single processor:

Chip Year Cores Transistors On-Chip SRAM AI Compute
WSE-1 2019 400,000 1.2 trillion 18 GB
WSE-2 2021 850,000 2.6 trillion 40 GB 7.5 PFLOPS (FP16)
WSE-3 2024 900,000 4 trillion 44 GB 125 PFLOPS (FP16)

125 petaflops on a single wafer. That is roughly equivalent to 62 NVIDIA H100 GPUs—but in a single device with 44 GB of on-chip SRAM (no off-chip memory bandwidth bottleneck). The WSE-3 uses TSMC 5nm and draws about 15 kW. Its advantage is that the entire model can reside in on-chip memory, eliminating the memory-bandwidth bottleneck that limits GPU training.

Graphcore’s Intelligence Processing Unit (IPU) takes a different approach: 1,472 independent processor tiles, each with 6 hardware threads, and 900 MB of in-processor SRAM. The Bow IPU (2022) achieves 350 TFLOPS at FP16 per chip.

The ASIC Tradeoff

The advantage of an ASIC is raw efficiency: more operations per watt and per dollar than any general-purpose processor. The disadvantage is that if the algorithm changes, the chip is worthless. Bitcoin miners become paperweights if the network switches hash functions. AI ASICs become obsolete if neural network architectures shift in ways the hardware cannot accommodate. This is why GPUs, despite being less efficient per-operation, dominate AI training: they can run any computation, so they are not stranded by algorithmic change.

Part 5: FPGAs—Reconfigurable Hardware

Field-Programmable Gate Array (FPGA)
A chip whose logic can be rewired after manufacturing. Slower than an ASIC, faster than a CPU, and reprogrammable. The compromise between generality and specialization.

Architecture

An FPGA is a grid of configurable logic blocks connected by a programmable interconnect. You describe your desired circuit in a hardware description language (Verilog or VHDL), and a synthesis tool maps it onto the FPGA’s physical resources. The result is custom hardware—but hardware that can be erased and reconfigured in milliseconds.

FPGAs occupy a middle ground. They are $3$–$10\times$ slower than an equivalent ASIC (because the programmable routing adds delay and area overhead) but $10$–$100\times$ more power-efficient than a CPU for the same algorithm. They excel in applications that need hardware-speed processing but where the algorithm may change: telecommunications, financial trading (low-latency order execution), video encoding, and prototyping ASICs before committing to fabrication.

Modern FPGAs have integrated hardened blocks for common operations. AMD/Xilinx Versal devices include dedicated AI Engine tiles (systolic arrays for matrix math) alongside the traditional FPGA fabric:

FPGA FP32 INT8 Notes
Xilinx Versal AI Core up to 8 TFLOPS up to 133 TOPS 128–400 AI Engine tiles + FPGA fabric.
Xilinx Versal Premium up to 23 TFLOPS up to 99 TOPS High-end networking/compute.
Intel Stratix 10 GX up to 10 TFLOPS 14nm. DSP-heavy variant.
Intel Agilex (top-end) up to 12 TFLOPS 10nm. 40% improvement over Stratix 10.

These numbers are modest compared to GPUs or NPUs, but FPGAs achieve them at much lower latency (microseconds, not milliseconds) and with deterministic timing. In high-frequency trading, an FPGA can execute a trading strategy in 1–3 microseconds, while a CPU takes 10–50 microseconds. That difference is worth billions of dollars per year to quantitative trading firms.

Part 6: The View from Above—Supercomputers and the Scale of FLOPS

Individual chips are impressive, but the real scale of computation emerges when you wire thousands of them together. The history of supercomputing is the history of FLOPS at civilization scale.

System Year Performance Notes
ENIAC 1946 ~500 FLOPS 27 tons. 150 kW. 17,468 vacuum tubes.
CDC 6600 1964 ~3 MFLOPS First machine called a "supercomputer." Seymour Cray.
Cray-1 1976 160 MFLOPS Vector processor. 80 MHz. 115 kW. The icon.
Deep Blue 1997 11.38 GFLOPS Beat Kasparov. 480 custom chess chips.
ASCI Red 1997 1.338 TFLOPS First teraflop system. Intel Pentium Pro. Sandia.
Earth Simulator 2002 35.86 TFLOPS NEC vector processors. #1 for 2.5 years.
IBM Roadrunner 2008 1.026 PFLOPS First petaflop. Hybrid Cell/Opteron. Los Alamos.
Fugaku 2020 442 PFLOPS ARM A64FX. RIKEN, Japan.
Frontier 2022 1.102 EFLOPS First exaflop. AMD EPYC + MI250X. Oak Ridge. 21 MW.
El Capitan 2024 1.742 EFLOPS AMD EPYC + MI300A. Lawrence Livermore. Current #1.

From ENIAC to El Capitan: a factor of $3.5 \times 10^{15}$. Three and a half quadrillion times faster in 78 years. Put differently, El Capitan performs more floating-point operations in one second than ENIAC could have performed if it had been running continuously since the Big Bang ($13.8$ billion years $\times$ 31.5 million seconds/year $\times$ 500 FLOPS $\approx 2.2 \times 10^{17}$ operations).

SCALE OF FLOPS

500 FLOPS ENIAC (1946). One room. 27 tons.
50,000 FLOPS Intel 8087 coprocessor (1980). One chip.
7,000,000 FLOPS Intel 486DX (1989). Your first "fast" PC.
160,000,000 FLOPS Cray-1 (1976). Cost $8M. Liquid-cooled.
4,000,000,000 FLOPS Pentium III (1999). One desktop CPU.
1,000,000,000,000 FLOPS 1 TFLOPS. ASCI Red (1997). First teraflop system.
2,900,000,000,000 FLOPS AMD Ryzen 9 7950X (2022). One desktop CPU.
75,000,000,000,000 FLOPS NVIDIA B200 FP32 (2024). One GPU.
18,000,000,000,000,000 FLOPS NVIDIA B200 FP4 Tensor (2024). Same GPU.
1,000,000,000,000,000 FLOPS 1 PFLOPS. IBM Roadrunner (2008). First petaflop.
125,000,000,000,000,000 FLOPS Cerebras WSE-3 FP16 (2024). One wafer.
1,000,000,000,000,000,000 FLOPS 1 EFLOPS. Frontier (2022). First exaflop. 21 MW.
1,742,000,000,000,000,000 FLOPS El Capitan (2024). Current #1. FP64.

A desktop CPU in 2022 exceeds the first teraflop supercomputer from 1997. A single NVIDIA B200 GPU in 2024 exceeds the performance of the entire IBM Roadrunner from 2008—the machine that broke the petaflop barrier—at FP32. At FP4 tensor precision, the B200 exceeds 18 petaflops, roughly matching what the world’s most powerful supercomputer achieved in 2020. One chip.

Part 7: The Tradeoff Space

Every processor type occupies a position on a tradeoff curve between generality and efficiency:

The Fundamental Tradeoff:
$$\text{Generality} \times \text{Efficiency} \approx \text{Constant}$$

A CPU can run any program but achieves modest FLOPS per watt.
A GPU can run any parallel program and achieves high FLOPS per watt.
An NPU can run matrix multiplications and achieves very high FLOPS per watt.
An ASIC can run one algorithm and achieves maximum FLOPS per watt.

Each step toward specialization sacrifices flexibility for efficiency. The question is always: is your workload stable enough to justify the loss of generality?
Processor Generality Peak FLOPS (2024, FP32) Best At Cannot Do
CPU Universal ~3 TFLOPS Serial code, branching, OS, I/O Nothing (it can do everything, slowly)
GPU Parallel-general ~75 TFLOPS Matrix math, rendering, parallel compute Serial dependencies, branches, OS
NPU/TPU Matrix-specific ~200–900 TFLOPS (BF16) Neural network training & inference General compute, irregular access
FPGA Reconfigurable ~8–23 TFLOPS Low-latency, custom pipelines High-throughput bulk compute
ASIC Fixed N/A (algorithm-specific) One algorithm, maximum efficiency Anything other than its target algorithm

Why the GPU Won AI

Deep learning’s core operation is matrix multiplication. GPUs have thousands of cores that perform matrix multiplication in parallel. That alignment is why NVIDIA’s market capitalization went from $150 billion in early 2023 to over $3 trillion by late 2024. But GPUs did not win because they are the fastest possible hardware for matrix multiply. TPUs and Cerebras chips achieve higher arithmetic density. GPUs won because they are general enough to survive algorithmic change. When the field moved from convolutional networks to transformers to mixture-of-experts to state-space models, GPUs ran all of them. A chip hardwired for convolutions would have been stranded.

This is the deepest lesson of the FLOPS race: raw throughput matters, but so does the ability to redirect that throughput when the target moves. The CPU survived 50 years because it can do anything. The GPU is thriving because it can do almost anything parallel. The NPU and ASIC will dominate their niches—until the niche shifts.

Part 8: Where It’s Going

Three trends define the next decade of compute:

1. Precision keeps falling. FP64 $\rightarrow$ FP32 $\rightarrow$ FP16 $\rightarrow$ FP8 $\rightarrow$ FP4. Each halving of precision roughly doubles throughput. The B200 at FP4 achieves 18 petaflops—$18\times$ its FP32 throughput. Research into 1-bit and 2-bit neural networks is active. If neural network inference can be done at 2-bit precision with acceptable quality, current hardware throughput will effectively multiply by another factor of $2$–$4\times$ with no new silicon.

2. Memory bandwidth is the real bottleneck. For large language models, the limiting factor is often not FLOPS but memory bandwidth: how fast weights can be read from memory and fed to the arithmetic units. The B200 has 8 TB/s of HBM3e bandwidth, but its arithmetic units can consume data far faster than that. This "memory wall" is why Cerebras’s approach (44 GB of on-chip SRAM) and Apple’s unified memory architecture (no CPU-GPU data copies) are architecturally significant despite lower peak FLOPS.

3. The system, not the chip, is the unit of performance. Training GPT-4-scale models requires tens of thousands of GPUs communicating over high-speed interconnects (NVLink, InfiniBand, optical fabrics). The challenge is not building a fast chip—NVIDIA, Google, and Cerebras have all done that. The challenge is building a system where 30,000 chips can coordinate a single matrix multiplication across a room-sized cluster without idle time. Supercomputer FLOPS are measured in sustained performance for exactly this reason: peak chip FLOPS mean nothing if the interconnect cannot keep them fed.

Perspective. The iPhone in your pocket has a CPU, a GPU, and an NPU. Together, they deliver roughly 40 TFLOPS of AI compute (at INT8). In 1997, this would have made it the fastest computer on Earth, surpassing ASCI Red by $30\times$. In 2008, it would have matched a significant fraction of the world’s first petaflop supercomputer. You carry a former supercomputer in your pocket, and you use it to check the weather. The arithmetic of silicon has made previously unimaginable computation so cheap that it has become invisible. That trajectory is not slowing down.

Part 9: FLOPS per Dollar—The Economics of Computation

Raw FLOPS are an engineering metric. The metric that actually governs what gets built is FLOPS per dollar. How much arithmetic can you buy? How has that price changed? And what does it cost, in real money, to train a frontier AI model?

The 80-Year Price Collapse

The cost of a floating-point operation has fallen by a factor of roughly 10 trillion since electronic computing began. This is the most dramatic price collapse for any commodity in human history.

Year Hardware Cost per GFLOPS Context
1961 IBM 7030 Stretch ~$18.7 billion Mainframe era. One of the fastest machines on Earth.
1984 Cray X-MP/48 ~$18.7 million $1{,}000\times$ cheaper than 1961. Still a room-sized machine.
1997 Pentium Pro cluster ~$30,000 Commodity hardware. The cluster era begins.
2000 Commodity cluster ~$640 Moore’s Law in full force.
2003 Commodity cluster ~$82 A GFLOPS now costs less than a textbook.
2011 GPU compute ~$1.80 GPU general-purpose computing arrives.
2013 Consumer GPU ~$0.12–$0.22 Sub-dollar. A GFLOPS costs less than a candy bar.
2017 AMD RX Vega 64 ~$0.03 Three cents per GFLOPS. FP32.

From $18.7 billion per GFLOPS in 1961 to $0.03 in 2017: a factor of 620 billion. And that is only FP32 on consumer hardware. At tensor-core AI precisions, the effective cost is even lower.

The long-run trend, documented by the economist William Nordhaus and by Epoch AI, shows FLOPS per dollar doubling roughly every 2–3 years since the 1990s. During the GPU era specifically (2006–2021), Epoch AI measured a doubling time of about 2.5 years for GPU FLOPS per dollar. This is faster than Moore’s Law (which describes transistor density, not price-performance, and has a doubling time of ~2 years). The additional gain comes from architectural improvements: wider SIMD, tensor cores, lower precision formats, and better memory systems.

What a FLOP Costs Today: Owned Hardware

The most concrete way to compute cost per FLOP is to buy a GPU and divide its price by its throughput over its useful lifetime. Take the NVIDIA H100 SXM:

H100 SXM: Cost per FLOP (owned hardware)

$$\text{Purchase price: } \sim\$30{,}000$$ $$\text{FP16 tensor throughput: } 1{,}979 \text{ TFLOPS} = 1.979 \times 10^{15} \text{ FLOPS}$$ $$\text{Useful life: } \sim 3 \text{ years (industry standard depreciation)}$$ $$\text{Utilization: } \sim 70\% \text{ (realistic for a well-run cluster)}$$ $$\text{Uptime: } 8{,}760 \text{ hrs/yr} \times 3 \text{ yrs} = 26{,}280 \text{ hours}$$ $$\text{Total FLOPs delivered: } 1.979 \times 10^{15} \times 26{,}280 \times 3{,}600 \times 0.70$$ $$= 1.31 \times 10^{23} \text{ FLOPs}$$ $$\text{Power cost: } 700\text{W} \times 26{,}280 \text{ hrs} \times \$0.10/\text{kWh} = \$18{,}396$$ $$\text{Total cost (GPU + power): } \sim\$48{,}400$$ $$\text{Cost per FLOP} = \frac{\$48{,}400}{1.31 \times 10^{23}} \approx \$3.7 \times 10^{-19} \text{ per FLOP}$$ $$\text{Or equivalently: } \sim\$0.37 \text{ per EFLOP (per } 10^{18} \text{ FLOPs)}$$

Notice that electricity ($18,400 over three years) is a significant fraction of the total—about 38% of the all-in cost at $0.10/kWh. This is a recent development. For most of computing history, power was negligible compared to hardware cost. But as chips have become cheaper and more power-hungry, electricity has become a first-order economic variable. At hyperscale (100,000+ GPUs), electricity cost alone reaches $50–60 million per year.

This calculation also omits networking, cooling, rack space, staff, and server components (CPU, RAM, storage, NVLink switches). Epoch AI estimates that GPU chips account for 47–64% of total amortized cluster cost, with server components at 15–22%, interconnect at 9–13%, and energy at 2–6%. So the true all-in cost per FLOP is roughly $1.5$–$2\times$ the GPU-plus-power number above.

What a FLOP Costs Today: Cloud Rental

Most organizations do not buy GPUs. They rent them by the hour from cloud providers. This is simpler but more expensive—the cloud provider’s margin, redundancy, and operational overhead are baked into the hourly rate.

GPU Provider $/GPU/Hour FP16 Tensor TFLOPS Cost per $10^{18}$ FLOPs
H100 SXM Lambda Labs $2.99 1,979 $0.42
H100 SXM AWS (p5) $3.90 1,979 $0.55
H100 SXM Azure $6.98 1,979 $0.98
A100 80GB AWS/GCP $3.67 624 (sparse) $1.63
B200 RunPod $4.99 4,500 $0.31

The "Cost per $10^{18}$ FLOPs" column is computed as: (price per hour) / (TFLOPS $\times\;10^{12} \times 3{,}600$ seconds). This assumes 100% utilization—that you are actually using every FLOP the GPU can deliver for the entire hour. In practice, real workloads achieve 30–50% of peak (called Model FLOP Utilization, or MFU, in AI training). So the effective cost is $2$–$3\times$ higher than the table shows.

Even so, the price trend is striking. H100 cloud pricing fell from ~$8/hour in 2023 to $2–4/hour by mid-2025 as supply caught up with demand. The B200, despite being a newer and faster chip, is already available at roughly $5/hour—delivering $2.3\times$ the FP16 tensor throughput of an H100 at only $1.3$–$1.7\times$ the price. Cost per FLOP continues to fall, even at cloud markups.

What It Costs to Train a Frontier Model

Now for the question that actually matters: if a training run requires $10^{25}$ FLOPs, what does it cost?

Worked Example: $10^{25}$ FLOPs on H100s (owned hardware)

$$\text{Target: } 10^{25} \text{ FLOPs (roughly the GPT-4 training scale)}$$ $$\text{H100 SXM FP16 tensor (dense): } 1{,}979 \text{ TFLOPS} = 1.979 \times 10^{15} \text{ FLOPS}$$ $$\text{Realistic MFU: } 35\% \text{ (published figure for GPT-4 training)}$$ $$\text{Effective throughput per GPU: } 1.979 \times 10^{15} \times 0.35 = 6.93 \times 10^{14} \text{ FLOPS}$$ $$\text{GPU-seconds needed: } \frac{10^{25}}{6.93 \times 10^{14}} = 1.44 \times 10^{10} \text{ seconds}$$ $$\text{GPU-hours needed: } 4.01 \times 10^{6} \text{ (about 4 million GPU-hours)}$$ $$\text{With 25,000 GPUs: } \frac{4.01 \times 10^{6}}{25{,}000} = 160 \text{ hours} \approx 6.7 \text{ days}$$ $$\text{With overhead, checkpointing, restarts: } \sim 90\text{--}100 \text{ days (reported for GPT-4)}$$ $$\text{Hardware amortization: } 25{,}000 \times \$30{,}000 \;/\; (3 \times 365) \times 100 = \$68.5\text{M}$$ $$\text{Electricity: } 25{,}000 \times 700\text{W} \times 100 \text{ days} \times 24 \text{ hrs} \times \$0.10/\text{kWh} = \$42\text{M}$$ $$\text{Total (GPU + power only): } \sim\$110\text{M}$$ $$\text{With networking, cooling, staff, overhead } (\sim 1.5\times)\text{: } \sim\$40\text{--}80\text{M (Epoch AI estimate)}$$

The gap between the naive calculation ($110M) and Epoch AI’s estimate ($40–80M for GPT-4) comes from several factors: Epoch AI amortizes over the full 3-year GPU life (not just the training run), companies negotiate GPU prices well below list, and the cluster is used for other work when not training the flagship model. The cloud-rental equivalent, which includes provider margins, is higher: Epoch AI estimates ~$78M for GPT-4 at cloud rates.

Here are published estimates for real training runs:

Model Year Training FLOPs Estimated Cost (Owned HW) Estimated Cost (Cloud)
GPT-3 175B 2020 $\sim 3.1 \times 10^{23}$ $2.2M $4.3M
PaLM 540B 2022 $2.9M $12.4M
Falcon-180B 2023 $10.3M
GPT-4 2023 $\sim 2.15 \times 10^{25}$ $41M $78M
Llama 3.1 405B 2024 $\sim 3.8 \times 10^{25}$ ~$60M
DeepSeek V3 2024 $5.6M

DeepSeek V3 is the outlier. It reported a cost of $5.6 million for its final training run on 2,048 H800 GPUs (an export-restricted variant of the H100)—roughly $10\times$ cheaper than comparable Western models at similar capability. This reflects both algorithmic efficiency (mixture-of-experts, aggressive quantization) and lower Chinese cloud and labor costs. It is a data point, not a trend: most frontier models at the GPT-4 scale cost $40–100 million.

The Cost Is Growing Faster Than It’s Falling

Here is the critical observation. FLOPS per dollar improves by roughly $2\times$ every 2.5 years. But the compute used for frontier model training grows by roughly $4\times$ per year (Epoch AI). This means that despite hardware getting cheaper, frontier training runs get more expensive every year, because the appetite for compute is growing faster than the price is falling.

TRAINING COST TRAJECTORY

$2.2M GPT-3 (2020). 175B parameters. $3.1 \times 10^{23}$ FLOPs.
$41M GPT-4 (2023). ~1.8T parameters (MoE). $2.15 \times 10^{25}$ FLOPs.
$60M Llama 3.1 405B (2024). $3.8 \times 10^{25}$ FLOPs.
~$100M+ Grok-3 (2025). 200M H100 GPU-hours.
>$1B Projected by 2027. Epoch AI estimate.

Training costs for frontier models grow at roughly $2.4\times$ per year. At this rate, the first billion-dollar training run arrives around 2027. The cost breakdown for a frontier model today is roughly: GPU chips 47–64%, R&D staff 29–49%, server components 15–22%, interconnect 9–13%, electricity 2–6%. The GPUs dominate, but human talent is nearly as expensive—the researchers who design the architecture, tune the hyperparameters, and debug the distributed training run are themselves a scarce and expensive resource.

Historical Cost per FLOP in Context

Zoom out far enough and the picture is staggering:

Year Cost per FLOP Cost for $10^{25}$ FLOPs Interpretation
1961 ~$19 per FLOP $\$1.9 \times 10^{26}$ 190 trillion times global GDP. Impossible.
1984 ~$0.019 per FLOP $\$1.9 \times 10^{23}$ 190 billion times global GDP. Still impossible.
1997 $\sim\$3 \times 10^{-5}$ $\$3 \times 10^{20}$ 300 million times global GDP. No.
2011 $\sim\$1.8 \times 10^{-9}$ $\$1.8 \times 10^{16}$ $18 quadrillion. $180\times$ global GDP.
2017 $\sim\$3 \times 10^{-11}$ $\$3 \times 10^{14}$ $300 trillion. $3\times$ global GDP.
2024 $\sim\$4 \times 10^{-19}$ ~$40–80M One company’s quarterly R&D budget. Feasible.

In 1961, performing $10^{25}$ floating-point operations would have cost 190 trillion times the entire world’s GDP. In 2024, it costs about $50 million. The operation itself has not changed—it is still just a multiply and an add on floating-point numbers. What changed is that we learned to etch the machinery for that operation onto silicon at nanometer scale, replicate it billions of times on a single chip, and run thousands of those chips in parallel. The price per operation fell by a factor of roughly $5 \times 10^{19}$ in 63 years. This is why large language models exist now and not in 2010: the algorithms were known (transformers were close to ideas from the 1990s), but the arithmetic was simply too expensive.