Skip to content

release: 0.8.8 — glq-quantize defaults to the trellis codebook - #68

Merged
cnygaard merged 1 commit into
mainfrom
release/0.8.8
Aug 19, 2026
Merged

release: 0.8.8 — glq-quantize defaults to the trellis codebook#68
cnygaard merged 1 commit into
mainfrom
release/0.8.8

Conversation

@cnygaard

Copy link
Copy Markdown
Owner

The headline is a behaviour change: --codebook now defaults to trellis (3INST variant) instead of e8_shell. Anyone who quantizes without naming a codebook gets a different format from this release on.

That was already the recommended path — the README said so, and the checkpoint table marked a trellis build as "fastest GLQ decode" — while the CLI still handed out lattice checkpoints. Trellis wins where bits are scarcest: SmolLM3-3B at 2 bpw is PPL 11.94 vs 13.79.

What a user notices

  • glq-quantize produces trellis-3INST by default. Uniform integer bit-rates only (2–8); fractional and per-layer mixed precision now need --codebook e8_shell, and the refusal says so.
  • The variant moved toohyb3inst, because the fused CUDA kernels consume a 3INST checkpoint. Defaulting to trellis alone would have shipped checkpoints with no fast path.
  • Pre-flight names the gcc/nvcc fix instead of letting the build die in ninja. fedora:44 ships gcc 16 against CUDA's cap of 15; a compat compiler plus NVCC_CCBIN makes a source install work there for the first time. It is a note, not a blocker — prebuilt wheels compile nothing and are unaffected.
  • The README documents the Blackwell/FlashInfer trap: on sm_120 without a CUDA Toolkit, vLLM's sampler compiles at startup and takes the engine down. glq-chat falls back on its own; vllm serve and LLM(...) do not.

Version pins

Five places: pyproject.toml, glq/__init__.py, the Dockerfile's GLQ_VERSION default plus its three build comments, and the glq[quantize] pin in infra/setup.sh.tftpl. install.sh needs no change — it defaults to latest on PyPI.

The remaining 0.8.7 strings in .github/workflows/docker.yml and tests/test_installer_distros.py are prose about past releases, not pins, and are deliberately left.

Validation

  • Full local suite on the trellis-default change: 1085 passed, 882 skipped, 0 failed.
  • The pre-flight advice was validated end to end on real fedora:44: follow the package advice, then the compat-compiler advice, then install.sh --glq-source with NVCC_CCBIN exported → install exit 0, EXT_OK:True, 0 gcc errors. The extension builds where it previously could not.
  • Distro matrix (11 distros, RTX PRO 6000): pre-flight advice correct and sufficient and GPU visible on all 11, including arch, azurelinux, opensuse and amazon2023 which had never been executed. Ubuntu 26.04 passes both install modes.
  • A matrix run against this release commit is in flight; results will be added before merge.

Existing checkpoints

Unaffected. Nothing here changes the encode or storage format of an already-quantized model — only which codebook a new quantization picks when the user does not choose.

The headline is a behaviour change: `--codebook` now defaults to `trellis` (3INST variant)
instead of `e8_shell`. Anyone who quantizes without naming a codebook gets a different
format from this release on. That was already the recommended path — the README said so and
the checkpoint table marked a trellis build as the fastest GLQ decode — while the CLI still
handed out lattice checkpoints.

Also in this release:

- Pre-flight names the fix when the host gcc is newer than CUDA accepts, instead of letting
  the build die in ninja. fedora:44 ships gcc 16 against CUDA's cap of 15; a compat compiler
  plus NVCC_CCBIN makes a source install work there for the first time.
- The README documents that on Blackwell (sm_120) without a CUDA Toolkit, vLLM's FlashInfer
  sampler compiles at startup and takes the engine down — glq-chat falls back on its own,
  `vllm serve` and `LLM(...)` do not.
- The distro matrix stopped producing false failures: it sent SIGINT to a nohup'd job where
  SIGINT is SIG_IGN, matched PID 1 in its own process check, curled the UI before gradio was
  up, and never asserted on the one signal that cannot be fooled.

Version bumped in five places: pyproject.toml, glq/__init__.py, the Dockerfile's
GLQ_VERSION default plus its three build comments, and the glq[quantize] pin in
infra/setup.sh.tftpl. install.sh needs no change — it defaults to latest on PyPI.

The 0.8.7 references left in .github/workflows/docker.yml and tests/test_installer_distros.py
are prose about past releases, not pins.
@cnygaard
cnygaard merged commit ee3cc9f into main Aug 19, 2026
3 checks passed
@cnygaard
cnygaard deleted the release/0.8.8 branch August 19, 2026 19:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant