AMD EPYC LLM Inference Benchmark: CPU Performance for 7B–20B Models and TTS Workloads

TL;DR: A dual-socket AMD EPYC 9334 delivers 20–28 tokens/sec on Q4-quantized 7B–20B LLMs and sub-real-time TTS inference (RTF 0.16 for Kokoro). Throughput is roughly half that of an NVIDIA L4 GPU, but at a fraction of the per-hour cost. For batch, async, and lightweight TTS workloads, this AMD EPYC LLM inference benchmark shows CPU is the right call.


Why Inference Costs More Than You Planned For

Training is a one-time cost. Inference is not. Once a model is in production, it runs continuously. Cost per query scales directly with traffic, and for many teams, inference spend overtakes training spend within months of launch.

The hardware decision for inference is also different from training. Training needs large GPU clusters and high-bandwidth interconnects. Inference needs low latency, high throughput per dollar, and enough memory bandwidth to serve quantized weights efficiently. Those requirements do not always point to a GPU.


How LLM Inference Works (And Why It Matters for Hardware Choice)

When a prompt hits an LLM, processing happens in two stages.

Prefill. The model converts input into tokens, runs them through its layers, and builds a KV cache. Because all input tokens are known upfront, this stage is parallelizable and compute-bound. It ends when the first output token is generated.

Decode. The model generates each subsequent token one at a time, reading from the KV cache at each step. Large models have large KV caches, which makes this stage memory-bandwidth-bound.

These two stages have different performance profiles, which is why benchmarks report two different metrics.

Key Metrics for This AMD EPYC LLM Inference Benchmark

Time to first token (TTFT) reflects prefill performance. Lower is better.

Tokens per second measures decode throughput. Higher is better, particularly for batch and streaming workloads.

Real-time factor (RTF) is the standard metric for TTS models. Below 1.0 means faster than real time. Above 1.0 means it cannot keep up.


Hardware and Software Setup

All tests ran on a single HPE ProLiant DL385 Gen11 server with two AMD EPYC 9334 processors.

Component Specification
CPU AMD EPYC 9334 (x2)
Architecture Zen 4
Cores / Threads per socket 32 / 64
Base clock 2.7 GHz
L3 cache 128 MB per socket
TDP 210W per socket
Memory 64 GB DDR5

Two benchmarking tools were used: llama-bench (part of llama.cpp) for local model evaluation, and OpenLLM with llmperf for API-level throughput testing.


Models Tested

Model Parameters Type
DeepSeek-R1-0528-Qwen3-8B-Q4_K_M 8B LLM
Gpt-oss-20b 20B LLM
Llama-2-7b-Q4_K_M 7B LLM
Mistral-7B-Instruct-v0.2-Q4_K_M 7B LLM
Kokoro (ONNX Runtime) 82M TTS
Microsoft SpeechT5 150M TTS
Coqui XTTS-v2 400M TTS

Test configuration: 512-token prompt, 128 tokens generated, 24 CPU threads for LLM. 180-character input, 32 CPU threads, 30 runs per model for TTS.


AMD EPYC LLM Inference Benchmark Results: TTFT and Throughput

Time to First Token (TTFT)

TTFT across Q4 models ranged from 3.6 seconds (GPT-OSS-20B) to 4.8 seconds (Llama-2-7B). For GPT-OSS-20B, switching to FP16 had minimal effect. For DeepSeek, the same switch pushed TTFT to 8.1 seconds.

llama.cpp AMD EPYC Tokens Per Second: Q4 vs. FP16

DeepSeek drops from 27.8 tokens per second at Q4 to 8.1 at FP16. For sustained batch workloads, Q4 quantization is the practical choice on CPU.

Memory and CPU Utilization

CPU utilization stayed between 20–30% across all runs. Q4 models leave substantial DRAM headroom for multi-tenant deployments. DeepSeek at FP16 consumed close to 16 GB, which limits concurrent instances considerably.


CPU vs. GPU Inference: Cost Per Token Comparison

Cost per token determines the right hardware. For reference, we ran the same FP16 throughput test on an NVIDIA L4 GPU. The L4 produced 16.7 tokens/sec on DeepSeek-R1-8B and 58.6 on GPT-OSS-20B, compared to 8.1 and 26.2 on the EPYC 9334.

The GPU delivers roughly double the throughput. Bare metal EPYC servers run at a fraction of the hourly cost.

Metric AMD EPYC 9334 (dual) NVIDIA L4 GPU
DeepSeek-R1-8B throughput (FP16) 8.1 tok/s 16.7 tok/s
GPT-OSS-20B throughput (FP16) 26.2 tok/s 58.6 tok/s
Relative throughput ~0.45×
Typical hourly cost Lower 3–5× higher
Cost-per-token advantage ✅ Batch/async ✅ Latency-critical

If you are deciding between GPU options for latency-critical workloads, our bare metal GPU comparison covering H100, H200, and L4 walks through when each makes sense.


TTS Inference on AMD EPYC: RTF Benchmarks

Kokoro (82M) — RTF 0.162

Generates audio roughly six times faster than real time. Consistent performance between p50 and p95. The standout result in this test set.

Microsoft SpeechT5 (150M) — RTF 0.6

Memory footprint around 1.4 GB. A solid option for single-speaker synthesis with limited memory.

Coqui XTTS-v2 (400M) — RTF 1.41

Supports voice cloning and multilingual synthesis but cannot serve real-time audio on this hardware. Best fit for batch audio generation or overnight processing jobs.


EPYC LLM Inference Benchmark vs GPU: How to Make the Call

CPU inference is a good fit for:

  • Batch summarization and document processing
  • Audio transcription queues
  • Overnight report generation
  • Edge deployments where GPU cost is a constraint
  • Lightweight TTS workloads that do not require real-time synthesis

GPU inference is still the right call for:

  • Real-time, latency-critical workloads at scale
  • High-concurrency serving where throughput is the ceiling
  • Models above 20B parameters without quantization

Running batch inference or TTS workloads? See our bare metal dedicated server configurations and pricing.

Leave a Reply

Your email address will not be published. Required fields are marked *