FPGA vs GPU
Contrast FPGA spatial computing with GPU SIMD parallelism — understand when each wins for AI inference, radar DSP, streaming data, and high-frequency trading, and why latency often determines the winner.
Two Kinds of Parallelism
GPUs and FPGAs are both parallel computing platforms — but they achieve parallelism in completely different ways. Understanding this architectural distinction is the key to making correct platform decisions in AI, signal processing, and data center applications.
A GPU is a SIMD (Single Instruction, Multiple Data) machine. It contains thousands of simple compute cores (CUDA cores in NVIDIA's terminology) organized into Streaming Multiprocessors (SMs). All cores in an SM execute the same instruction on different data simultaneously. To use a GPU efficiently, you must have a large batch of independent data items — the A100 GPU needs 6,912 CUDA cores all busy to reach peak efficiency. If you send it 1 item, 6,911 cores sit idle. The GPU also requires data to be transferred from CPU RAM to GPU VRAM over PCIe, adding 20–100 µs of overhead before any computation begins.
An FPGA is a spatial computing machine. Your algorithm is implemented as a custom hardware pipeline that exactly matches the shape of the data flow. A packet entering the FPGA immediately begins flowing through logic stages — no batch, no kernel launch, no PCIe transfer, no wasted cores. The first bit of data produces the first result in 10–200 nanoseconds. This is why FPGAs dominate in streaming applications where data arrives continuously and must be processed immediately.
Architecture: SIMD vs Spatial Pipeline
GPU — SIMD Model
- Thousands of simple CUDA/shader cores
- All cores execute same instruction (SIMD/SIMT)
- High memory bandwidth (HBM2e: 2–3 TB/s)
- Requires large data batches for efficiency
- PCIe interface to host CPU (+20–100 µs latency)
- GPU VRAM separate from CPU RAM
- Power: 200–700W (A100: 400W, H100: 700W)
- Programming: CUDA, OpenCL, ROCm
- Excellent for: training, batch inference, graphics
- Weak for: single-item latency, custom IO
FPGA — Spatial Pipeline Model
- Custom logic fabric — hardware matches algorithm
- Each pipeline stage has dedicated compute resources
- Moderate bandwidth (DDR4/HBM: 64–460 GB/s)
- Processes one item at a time, every clock cycle
- Direct IO — no host transfer overhead
- On-chip BRAM + external DDR tightly integrated
- Power: 5–100W (typical: 15–75W)
- Programming: VHDL, Verilog, HLS (Vitis)
- Excellent for: streaming, custom IO, low latency
- Weak for: training large models, arbitrary code
Execution Model Diagrams
The Latency Gap: Where It Comes From
The latency difference between GPU and FPGA is not just about processing speed — it's about the overhead stack that every GPU request must climb before any compute occurs. Understanding each component helps you understand why GPUs cannot serve certain markets regardless of how fast the GPU cores themselves are.
GPU Latency Stack (typical)
FPGA Latency Stack (direct IO)
Power Efficiency: A Critical Differentiator
Power is often the deciding factor at the edge — in autonomous vehicles, industrial equipment, telecom radio units, and medical devices where power budgets are tight. A 700W H100 GPU requires a server-grade power supply and cooling infrastructure. An Xilinx Alveo U50 FPGA draws 75W and fits in a standard PCIe slot with passive cooling.
For ML inference at the network edge, the power efficiency difference is dramatic. AMD Xilinx published benchmarks showing Alveo U50 achieving better latency than a V100 GPU for BERT-base inference at 3x lower power. Versal AI Core series achieves up to 400 TOPS while consuming under 100W — compared to A100's 312 TOPS at 400W. The FPGA's ability to implement custom low-precision arithmetic (INT4, INT6, arbitrary fixed-point) further multiplies this advantage, since fewer transistors switch per MAC operation.
Performance Comparison by Workload
Power Consumption Comparison
FPGA vs GPU — Full Comparison
| Criteria | GPU | FPGA | Winner |
|---|---|---|---|
| Parallelism Type | SIMD — same instruction, many data | Spatial — custom pipeline, arbitrary structure | Context-dependent |
| Peak FLOPS (top model) | H100: ~2000 TFLOPS (FP8) | Versal: ~400 TOPS (INT8) | GPU wins |
| Streaming Latency | 40–200+ µs (PCIe + kernel launch) | 50–500 ns (direct pipeline) | FPGA wins 100–1000x |
| Batch ML Training | Excellent — purpose-built matrix ops | Possible but not competitive | GPU wins |
| Edge ML Inference | Overkill — too much power/latency | Optimal — low power, custom bit width | FPGA wins |
| Packet Processing | Not viable — PCIe overhead kills latency | Wire-rate with deterministic latency | FPGA wins decisively |
| Radar / Sonar DSP | Too high latency, no determinism | Real-time pipeline at ns latency | FPGA wins |
| HFT Order Management | Not viable (>50 µs latency) | ~1.2 µs order-to-send | FPGA wins |
| Video Transcoding (batch) | High throughput (NVENC hardware) | Real-time encode with custom latency | Tie — GPU for batch, FPGA for real-time |
| Custom Interfaces | PCIe/NVLink only | Any standard: QSFP, SMPTE, MIPI, custom | FPGA wins |
| Arbitrary Bit Widths | FP16, BF16, INT8, FP8 (limited) | Any width: INT4, INT6, custom FP | FPGA wins |
| Power Consumption | 200–700W per card | 5–100W per card | FPGA wins 5–50x efficiency |
| Ease of Programming | CUDA well-documented; Python frameworks | RTL or HLS — steep learning curve | GPU wins significantly |
| Monte Carlo / Simulation | Excellent — massively parallel RNG | Possible but GPU is more practical | GPU wins |
| Reconfigurability | Programmable but fixed GPU architecture | Fully reconfigurable hardware | FPGA wins |
A: Radar requires processing each pulse return in microseconds with guaranteed deterministic timing — every pulse, every time, with no jitter. A GPU cannot provide this because: (1) PCIe data transfer takes 10–100 µs per transfer; (2) CUDA kernel launch adds 5–20 µs overhead; (3) GPU scheduling is non-deterministic under load; (4) there is no way to directly connect radar RF hardware to a GPU's PCIe interface. An FPGA connects directly to the ADC output, processes each sample in a hardware pipeline with nanosecond latency and absolute determinism.
Real-World Performance Data
Knowledge Check
- Spatial parallelism — custom hardware for each operation
- SIMD/SIMT — same instruction executed on thousands of data items simultaneously
- Sequential pipelining — one operation at a time in a long pipeline
- Von Neumann — fetch, decode, execute on one data item
- GPU — higher TFLOPS means lower latency
- FPGA — streaming pipeline with direct sensor IO, nanosecond latency
- Both are equivalent — latency depends on algorithm complexity, not hardware
- GPU with NVLink — eliminates PCIe bottleneck
- 50–100W
- 150–250W
- 600–700W
- 1000–1500W
- FPGA — custom bit widths give better efficiency
- GPU — massive matrix operations, HBM bandwidth, and CUDA ecosystem are purpose-built for this
- CPU cluster — more memory capacity available
- ASIC — lowest power per FLOP
- True — FPGA logic can implement any arbitrary bit width arithmetic
- False — FPGAs are limited to standard IEEE 754 floating point formats
- True — but only for powers of 2 (INT1, INT2, INT4, INT8)
- False — custom arithmetic requires an ASIC