cmix-obias β Hutter Prize submission (enwik9)
Source code, build system, and artifacts of record for the cmix-obias
enwik9 submission. cmix-obias is a fork of
cmix-lex (Ibrahim Marcouch, GPL), itself
built on fx2-cmix / cmix / cmix-hp / PAQ / PHDA9. License: GPL-3.0 (per
upstream). New in this work: a +76% CPU speed campaign (15 composed
optimizations, no update-skipping), a 256-cell byte-LSTM mixer funded by that
headroom, the "bitlstm32" offline-trained fp16 correction head (23,002 B
weights), the "obias" PPMd output-prior on the byte-LSTM (compiled gate
g=0.15), and single-build PGO+LTO packaging.
Layout
cmix-obias/β full documented source snapshot of record (git 60c499e, branch obias-lstm-prior), incl.LICENSE,makefile, build scripts,dictionary/, the bitlstm32 head weights (models/bitlstm32/refit_golden256_fp16.blob), and the exact PGO profile of record (pgo_data_asbuilt/default.profdata) for bit-exact rebuildsartifacts_asbuilt/β as-built compressor binary of record (cmix, md5 b170f2d61b89f8367edd3d4efba3139f) + preprocessor outputsBUILD.mdβ toolchain (clang 17.0.6, UPX 5.1.1), PGO+LTO build steps, roundtrip verification recipe, and a ~3 s CPU reciprocal-estimate-table self-check (cmix-obias/tools/estprobe.c)SUBMISSION.mdβ the algorithmic-ideas documentMANIFEST.txtβ md5 manifest of everything abovefinal/β (added on run completion) the submittedarchive9andcmix
Reproducibility envelope
Built on Ubuntu 22.04 (glibc 2.35), -march=znver2. The full enwik9 decode of
the submitted archive9 was verified byte-identical on the Zen 2 build
machine (md5 e206c3450ac99950df65bf70ef61a12d). The only
microarchitecture-dependent behaviour is the rcpps/rsqrtps estimate-table
lookup, which is estprobe-hash-identical on Zen 2 and Zen 5 (Zen 3/4 sit
between them and use the same tables). On a glibc mismatch the binary fails
loudly at load rather than misdecoding; on glibc >= 2.41 rebuild from source
with the shipped PGO profile and it self-round-trips.