Topic hub

Data centre and acceleration

Where FPGAs sit in a data centre, from SmartNICs and ultra-low-latency trading to database and compression offload, the host interfaces and programming flows involved, and when the economics work.

Updated 13 Nov 2026 · SmartNIC, DPU, Alveo, Agilex, CXL, RDMA, HFT, Vitis, oneAPI, DMA

Overview

An FPGA in a data centre is a PCIe card or a network card with a large device on it, programmed to do one thing faster or cheaper than the server’s processors. The successful cases share a shape: a stream of data that must be handled at line rate, a function that changes rarely, and a reason a GPU does not fit (latency, power, or the data never needing to reach memory at all). This hub is for engineers evaluating or building such accelerators, and for the people who have to decide whether to pay for them.

Microsoft’s Catapult project, which put an FPGA in every Azure server from 2015, made the idea respectable. The decade since has sorted it into three durable niches and several that did not last. The durable ones are network processing (SmartNICs, firewalls, telemetry), ultra-low-latency finance, and specialised streaming offload such as compression, encryption, search and some database operators. The ones that did not last were general-purpose compute offload in competition with GPUs, which won on software.

Key ideas

The data path, and why the host is the bottleneck

A PCIe Gen4 x16 link carries roughly 32 GB/s each way, Gen5 doubles it, and a 400 Gb/s Ethernet port needs 50 GB/s. Every byte that crosses the link costs host memory bandwidth, a DMA descriptor and often an interrupt. The best accelerators therefore keep data on the card: packets come in on the network port, are filtered, parsed or encrypted in the fabric, and leave on the other port or go to host memory already reduced. Host-FPGA DMA engines (AMD XDMA and QDMA, Altera’s PCIe multi-channel DMA, and open designs such as Corundum’s) manage descriptor rings and scatter-gather lists so the processor sees a block device or a NIC rather than a PCIe BAR. RDMA and RoCE v2 move data between hosts without involving either processor, and an FPGA can terminate RoCE in hardware. CXL, which runs over the PCIe physical layer, lets an FPGA share coherent memory with the host at the time of writing on Agilex 7 and Versal parts, which removes the copy for memory-expansion and near-memory compute cases.

100G MACPCS, serdesparserheaders to metadatamatch / actionTCAM, hash tablescrypto, filterIPsec, telemetry100G MACegressDMA enginequeues, descriptorsPCIe Gen5 x16or CXLhostmemory, CPUembedded CPUslow path, controlThe fast path never touches the processor. The slow path (new flows, exceptions) goes to an on-card or host CPU.
A SmartNIC data path: packets are processed in the fabric and only the useful ones reach host memory

Latency: the finance case

High-frequency trading is the purest FPGA application. A market data feed arrives on Ethernet, the FPGA decodes it, applies a pricing rule and sends an order, and the whole path from wire to wire takes under a microsecond on the best designs, with tens of nanoseconds of jitter. No processor and no kernel can match that, because the FPGA has no cache, no scheduler and no interrupt. The engineering is in cut-through processing (start on the header before the packet has arrived), in avoiding any serialisation, and in the Ethernet PHY itself, where a vendor’s hard MAC may add more latency than the whole trading logic. The same skills transfer to telecom fronthaul, industrial control and test equipment.

The economics

A large data-centre FPGA card costs several thousand USD, draws 75 W to 225 W and needs an engineer who costs more than the card. It pays off when it replaces several servers, when it enables a latency or line-rate target that nothing else can hit, or when it moves a function (encryption, compression, RAID parity) off processors that are then sold as compute. It does not pay off when the function could run on a GPU with a mature library, when the workload changes faster than a hardware team can follow, or when the volume is high enough that an ASIC (or a merchant DPU from NVIDIA, AMD Pensando or Marvell, which are themselves FPGA-prototyped ASICs) is cheaper. Hyperscalers who use FPGAs do so because they can amortise the engineering over a hundred thousand servers. Most smaller operators are better served by buying the finished card from a vendor who did that work.

Where to start

The building blocks are FIFOs, pipelines and clock-domain crossings at high clock rates, so /learn/beginner/09-memories-block-ram-and-fifos/ and /learn/beginner/04-registers-clocks-and-state/ are the foundations, followed by /topics/high-speed-io/ for the transceivers and /topics/high-level-synthesis/ for the Vitis and oneAPI kernel flows. A first hands-on step is a Vitis vector-add example on an Alveo card or on a cloud FPGA instance, then the Corundum NIC on a board you own. An advanced track on networking and acceleration is coming.

Tools and vendors

Vendor Cards and devices Host flow Notes
AMD Alveo U50, U55C, U200, U250, V70, V80, Versal HBM Vitis (HLS, OpenCL, RTL kernels), XRT runtime, XDMA and QDMA Largest ecosystem, cloud availability on AWS F2
Altera Agilex 7 (I and M series with HBM and CXL), Stratix 10 oneAPI (SYCL) and Quartus Prime Pro, OFS open shell Agilex 7 I-Series carries CXL and PCIe Gen5 hard IP
Achronix Speedster7t on VectorPath cards ACE tools, RTL 2D network on chip, GDDR6, aimed at networking and ML
Napatech, Silicom, BittWare, AMD (Solarflare heritage), Exablaze (Cisco) Finished SmartNIC and HFT cards Vendor SDK, often with FPGA access for custom logic Buy the card when the FPGA is not your product

The AMD Vitis and Altera oneAPI flows let software engineers write kernels in C++ and SYCL, with a prebuilt shell handling PCIe, DMA and memory. They are the fastest way to a working accelerator. They are also several times less efficient than RTL for the fast path, so most production cards mix a C++ control plane with hand-written RTL on the wire.

Common mistakes

  • Building an accelerator for a function that is bandwidth-bound on the PCIe link, so the card is slower than the host doing it in place.
  • Measuring kernel time and ignoring DMA setup, driver overhead and the copy to pinned memory.
  • Choosing an FPGA for a workload with mature GPU libraries and no latency requirement.
  • Ignoring the shell. The vendor’s static region can take a third of the device and all of the best transceivers.
  • Underestimating driver and deployment work, which outweighs the RTL on most projects.
  • Forgetting thermal limits. A 225 W card in a 1U chassis needs the chassis airflow to be designed for it.

Going deeper

Latest news on this topic

Recent papers

  • PENSA: A Spatial Accelerator for BitNet b1.58 Inference on an HBM-equipped AMD Alveo FPGA

    K. B. Kalyanasundaram, I. S. Maksymov, P. H. W. Leong · arXiv cs.AR · digest

    Ternary LLMs replace multiplications in their linear layers with sign-controlled adds, which moves the bottleneck to feeding packed weights and reducing the results. PENSA runs the full BitNet b1.58 2B4T model on an Alveo U50, streaming TQ1_0-packed weights from eight HBM pseudo-channels into two matrix engines that each handle 1,280 ternary weights per cycle, while attention and vocabulary projection stay resident on the device. At 104.1 MHz it reaches 58.09 tokens per second at a context of 128 and 24.60 at 2048, which the authors put at 2.14 to 3.14 times a Xeon E-2356G baseline. The clock is low for an UltraScale+ part and the comparison is against a CPU rather than a GPU, so treat it as a feasibility result.

  • End-to-End NTT on FPGA for FHE Acceleration

    M. Allam, T. Spendlhofer, H. Sanz-González et al. · arXiv cs.CR · digest

    The number theoretic transform and its inverse take about 63 per cent of CPU time in FHE-based neural network inference, so the authors build a fully unrolled, delay-commutator streaming NTT kernel and floorplan it across the three dies of an AMD Alveo V80. At 400 MHz it transforms a 65,536-coefficient polynomial every 5.12 microseconds, which they state is the highest FPGA throughput at that size, and it is up to 22 times faster than the CPU per transform when offloaded. Integrated into the Lattigo library with 128-bit secure parameters, it speeds up key switching and bootstrapping by 1.8 to 2.2 times and end-to-end inference by 1.8 to 2.1 times. The modest end-to-end gain compared with the kernel speed-up shows how much of FHE is not the NTT.