atlas

Research map / Large language models / Reasoning and chain of thought

NestedFP: High-Performance, Memory-Efficient Dual-Precision Floating Point Support for LLMs

NeurIPS 2025 · Large language models › Reasoning and chain of thought · approach: Efficient LLM serving · 1 citations (OpenAlex)

Read the paperCheck your idea against 108,967 papers

AI-extracted summary. Written by AI from the paper's full text. Numbers and claims can be wrong or missing context, so check the paper before you cite or build on it.

Proposes NestedFP, which stores FP16 weights as two 8-bit tensors so the upper part serves as an E4M3 FP8 model and both parts reconstruct FP16, enabling dual-precision LLM serving with no extra memory.

Problem

LLM serving must meet SLOs under second-level load fluctuations; running FP8 under surges helps but storing both FP16 and FP8 models costs memory, while on-the-fly quantization loses FP8 throughput.

Approach

Decompose each FP16 weight into an upper 8-bit part (a quantization-aware E4M3-like FP8 representation, exploiting the unused most significant exponent bit for weights with |w|<=1.75) and a lower 8-bit part; FP8 mode loads only the upper part, FP16 mode reconstructs losslessly via a custom CUTLASS-based GEMM kernel with merged bitwise ops and a three-stage pipeline.

Key results

Measured effects reported in the paper

What was changedWhereMeasuredEffect
Use NestedFP FP8 extracted from FP16 weights instead of baseline FP8 quantizationLLM models · Minerva Math, MMLU Pro, and BBHaccuracy: Llama 3.1 8B Minerva Math: 17.6 -> 17.2; MMLU Pro: 32.8 -> 33.2; BBH: 38.6 -> 39.0Mixed
Switch dynamically from FP16 to FP8 when token count exceeds 1024Llama 3.1 70B serving · Azure trace, 7.47 req/stight SLO attainment: 0.7 -> 72.4Helped
Switch dynamically from FP16 to FP8 when token count exceeds 1024Llama 3.1 70B serving · Azure trace, 5.03 req/stight SLO attainment: 71.6 -> 94.6Helped
Switch dynamically from FP16 to FP8 when token count exceeds 1024Llama 3.1 70B serving · Azure trace, 3.79 req/stight SLO attainment: 83.1 -> 96.6Helped
Switch dynamically from FP16 to FP8 when token count exceeds 1024Llama 3.1 70B serving · Azure trace, 1.99 req/stight SLO attainment: 90.4 -> 98.4Helped
Use NestedFP FP16 reconstruction GEMM instead of CUTLASS FP16 GEMMFP16 GEMM inference · 14 GEMM shapesrelative performance overhead: 6.38%Hurt
Use NestedFP FP16-mode execution instead of vanilla vLLM FP16Llama 3.1 8B · End-to-end inference across batch sizesthroughput overhead: 5.04%Hurt
Use NestedFP FP16-mode execution instead of vanilla vLLM FP16Mistral Nemo · End-to-end inference across batch sizesthroughput overhead: 5.56%Hurt
Use NestedFP FP16-mode execution instead of vanilla vLLM FP16Phi-4 · End-to-end inference across batch sizesthroughput overhead: 4.76%Hurt
Use NestedFP FP16-mode execution instead of vanilla vLLM FP16Mistral Small · End-to-end inference across batch sizesthroughput overhead: 4.56%Hurt
Use FP8 instead of FP16 inferenceLlama 3.1 8B · Azure trace, 20% load over 60 secondsSLO violations: 35.8% -> 17.3%Helped

Surprising findings

Limitations

Experimental setup

Datasets: Azure LLM inference trace Minerva Math MMLU Pro BBH

Benchmarks: Minerva Math MMLU Pro BBH

Metrics: accuracy GEMM latency overhead end-to-end throughput p90 TTFT p90 TPOT SLO attainment

Baselines: vanilla vLLM FP16 CUTLASS FP16 GEMM FP8 baseline per-channel/per-token quantization FP8-only serving separate storage dual model

Builds on: CUTLASS vLLM E4M3 FP8 format LM Evaluation Harness

Closest papers by meaning

Writing a paper in this area? scime draft is a free LaTeX editor with AI included, real-time co-authors and a check of your references and venue rules before you submit. It also imports OpenAI Prism projects.

Open scime draft

Get the next scime Dispatch and a monthly field update

Free. We send a confirmation link first; every email has a one-click unsubscribe. Privacy