FairyFuse: Multiplication-Free LLM Inference on CPUs via Fused Ternary Kernels

arXiv cs.LG / 4/24/2026

📰 NewsDeveloper Stack & InfrastructureModels & Research

Key Points

  • The paper introduces FairyFuse, a CPU-focused LLM inference system that eliminates floating-point multiplications by using ternary weights in {-1, 0, +1}, replacing multiplies with masked additions/subtractions or no-ops.
  • FairyFuse fuses the eight real-valued sub-GEMVs from each widely-linear layer into a single AVX-512 loop, enabling “multiplication-free” execution on commodity CPUs.
  • Roofline analysis suggests that 16x weight compression can move the bottleneck from memory bandwidth toward compute, which the authors report as a 29.6x speedup at the kernel level on bandwidth-limited CPUs.
  • End-to-end benchmarks show 32.4 tokens/second on a single Intel Xeon 8558P, improving over llama.cpp Q4_K_M by 1.24x while maintaining near-lossless quality (e.g., WikiText-2 perplexity 5.52 vs 5.47 FP16).
  • The approach delivers little benefit on GPUs, indicating the optimization is specifically tuned for CPU memory-bandwidth constraints.

Abstract

Large language models are increasingly deployed on CPU-only platforms where memory bandwidth is the primary bottleneck for autoregressive generation. Weight quantization to four bits or below reduces memory pressure, yet existing systems still dequantize weights and perform floating-point multiplications, limiting the achievable gains. Ternary weights in {-1, 0, +1} provide a more efficient alternative, replacing multiplications with conditional additions, subtractions, or no-ops. While Fairy2i shows that ternary LLMs can match FP16 quality, its runtime does not exploit this structure. We present FairyFuse, an inference system that enables multiplication-free execution on commodity CPUs by fusing the eight real-valued sub-GEMVs of each widely-linear layer into a single AVX-512 loop using masked additions and subtractions, with zero floating-point multiplications. Roofline analysis shows that 16x weight compression shifts memory-bound GEMV toward the compute regime on bandwidth-limited CPUs, yielding a 29.6x kernel speedup while offering little benefit on GPUs. End-to-end, FairyFuse achieves 32.4 tokens per second on a single Intel Xeon 8558P, outperforming llama.cpp Q4_K_M by 1.24x with near-lossless quality (WikiText-2 perplexity 5.52 vs. 5.47 FP16; downstream accuracy 66.0%).