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.

To be plain about what was measured: the run was on an H100 PCIe, an 80 GB GPU. That Glyd’s model fits a 48 GB card comes from the memory it used there, not from a run on a 48 GB card, which is still to come.

Memory

nvidia-smi with the model loaded, bf16 and then Glyd in the same run. The H100 picks Glyd’s 12-bit layout (--format auto): its weights take 40.35 GB on the GPU against bf16’s 53.79 GB.

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.

While generating 64 tokens for 32 sequences at once, the harness’s peak with Glyd was 46.57 GB, still under that card’s 51.5 GB. The smaller tiered layout, which the harness takes on RTX 40-series GPUs and wherever only it fits (which layout on which GPU), stores the model’s matrices in 33.28 GB against 49.52 in bf16: 10.75 bits a weight, 32.8% less (the 12-bit layout: 37.25 GB, 24.8% less).

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 Glyd
1 40.21 ms 34.73 ms 14% less time
8 50.60 ms 51.42 ms 2% more time
32 85.19 ms 84.52 ms 1% less time
GPU time per generated token, Qwen3.8 27B on an H100 PCIe, bf16 against Glyd's 12-bit layout. Lower is better. Sep 27, 2026.

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 add their terms in another order than cuBLAS’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%

Glyd’s MMLU answers are bf16’s on 99.67% of the questions, and its next-token choice bf16’s 98.82% of the time.

Method

The run’s commands are in its log. The model came from Hugging Face (hf download Qwen/Qwen3.8-27B), and 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

Lambda Cloud, one H100 PCIe (81,559 MiB), driver 580.126.20, PyTorch 2.14.0 with CUDA 13.0. The matrix sizes are from sizes.py on an A10. What each option and each line of output means: getting started and the GPU docs.

Raw logs

The same run measured Gemma 3 12B; the sizes of every model measured are in the nineteen-model report.