Glyd

Report · Sep 27, 2026 · Glyd

Qwen3.8-27B, the top open model for one GPU, in 41 GB

Qwen3.8-27B, the top-scoring open model that fits one GPU, in 41,071 MiB of GPU memory with Glyd against bf16's 51,771: under a 48 GB card, bit for bit.

Qwen3.8-27B, Qwen’s 27.8-billion-parameter dense model released in August 2026 under Apache-2.0, scores 34 on Artificial Analysis’s index of open models, the highest of the scored models this site tracks that fit one GPU. In bf16 it takes 51,771 MiB of GPU memory with the model loaded. With Glyd it takes 41,071 MiB, under the 49,140 MiB a 48 GB card has, and every weight decodes to exactly the bf16 value it was.

Measured on an H100 PCIe, an 80 GB GPU; not yet run on a 48 GB card.

Memory

bf16 and then Glyd in the same run; the H100 takes Glyd’s 12-bit layout, and the smallest layout is mma (which layout on which GPU).

bf16GlydChange, %
GPU memory in use (nvidia-smi), MiB51,77141,071−21
Weights on the GPU, 12-bit layout, GB53.7940.35−25
Matrices, smallest layout, GB49.5233.28−33
Matrices, 12-bit layout, GB49.5237.25−25
GPU memory in use with Qwen3.8-27B loaded, as nvidia-smi reports it. The black line is the 49,140 MiB of a 48 GB card. Lambda Cloud, H100 PCIe (81,559 MiB), Sep 27, 2026.

Generating for 32 sequences at once, Glyd’s peak was 46.57 GB, under a 48 GB card’s 51.5.

Speed

GPU time of a generated token, a step after the prompt, with q, k, v and gate, up merged as vLLM runs them:

Sequences a step bf16, ms Glyd, ms Change, %
1 40.21 34.73 −14
8 50.60 51.42 +2
32 85.19 84.52 −1

On an H100 a model this size is bound by memory at one sequence, where reading a quarter fewer bytes shows; at 8 and 32 sequences the two are level. The other GPUs’ numbers, for a smaller model, are on the benchmarks.

The same model

The weights are the model’s to the bit; the products round a little differently from bf16’s, so a close call can go either way.

bf16 Glyd
Perplexity on enwik8 15.1946 15.1941
MMLU, 300 questions, % 79.67 80.00
MMLU answers as bf16’s, % 99.67
Next token as bf16’s, % 98.82

Method

The harness ran bf16 and Glyd in one process:

python e2e.py models/Qwen3.8-27B --fused --tokens 64 --batch 1,8,32 --prefill 64,128,512,2048 \
  --ppl enwik8 --mmlu 300 --merge --format auto --baseline --gpus 1 --profile 16 \
  --smi results/smi-Qwen3.8-27B-auto-x1

The matrix sizes are from sizes.py on an A10. Setting it up: getting started; the options: the GPU docs.

Raw logs

The same run measured gemma-3-12b-it; the sizes of every model measured are in the nineteen-model report.