Glyd

Qwen3 32B

  • Qwen
  • 32.8B parameters
  • Dense
  • Apache-2.0
  • Released in bf16
  • Measured Sep 27, 2026

Qwen/Qwen3-32B on Hugging Face

Weights in GPU memory
65.5 to 44.5 GB
32% less, every weight restored bit for bit
48 GB GPUs it takes
2 to 1
nvidia-smi during the run, RTX A6000
Tokens per second, 1 sequence
9.5 to 11.8
bf16 on two A6000s, Glyd on one
MMLU, 1,000 questions
78.5% to 78.0%
Same weights; the products sum in another order

Memory on RTX A6000s, 48 GB each

nvidia-smi with the model loaded, from the run's log. 49,140 MiB a GPU.

  • bf16, GPU 044,554 MiB
  • bf16, GPU 118,514 MiB
  • Glyd, GPU 043,338 MiB

In bf16 the model spills onto a second GPU. With Glyd it runs on one, with 5,802 MiB to spare.

Which single GPU it fits

48 GB measured; the others worked out from the measured weights.

MemoryGPUsbf16Glyd
16 GBRTX 4080, RTX 5080NoNo
24 GBRTX 4090, RTX 3090, A10NoNo
32 GBRTX 5090NoNo
48 GBRTX A6000, L40S, RTX 6000 AdaMeasured with nvidia-smiNoFits
80 GBH100, A100 80 GBRoom for the KV cache: about 70K tokens in bf16, 150K with GlydFitsFits
96 GBRTX PRO 6000, GH200FitsFits
141 GBH200FitsFits

Tokens per second, RTX A6000

Higher is better. bf16 across two GPUs, Glyd on one.

bf16Glyd
  • 1 sequence+24% tokens/s
    bf16: 9.5
    Glyd: 11.8
  • 8 sequences+28% tokens/s
    bf16: 74
    Glyd: 95
  • 32 sequences+5% tokens/s
    bf16: 276
    Glyd: 290

GPU time per token, H100 SXM

Lower is better. q, k, v and gate, up merged, as vLLM runs them.

bf16Glyd
  • 1 sequence12% less time
    bf16: 27.90 ms
    Glyd: 24.50 ms
  • 8 sequences10% less time
    bf16: 29.78 ms
    Glyd: 26.75 ms
  • 32 sequences6% more time
    bf16: 31.44 ms
    Glyd: 33.46 ms
  • 64 sequences11% more time
    bf16: 33.52 ms
    Glyd: 37.35 ms

Same weights, same model

Every weight decodes to exactly the bf16 value it was. The matrix products add their terms in a different order than cuBLAS does, as any two GPU kernels do, so a few close answers can flip either way.

Benchmarkbf16Glyd
MMLU, 1,000 questions78.5%78.0%

The same effect on other models goes both ways: Llama 3.1 8B 71.7% → 72.0%, Qwen3 8B 74.0% → 74.3%.

Run it

git clone https://github.com/surya-koritala/Glyd
cd Glyd/gpu
python e2e.py /models/Qwen3-32B --format auto --fused \
  --merge --baseline --batch 1,8,32

Today Glyd runs from its PyTorch harness; vLLM and SGLang integration is not built yet.

Also measured

Twenty more open models measured, with quality wherever bf16 fits one GPU.