Releases: iamwavecut/OrbitQuant
Release list
OrbitQuant 0.6.0
OrbitQuant 0.6.0 makes the optimized native kernel package self-delivering.
The runtime now provisions orbitquant_packed_matmul automatically the first time a packed path needs it: it derives the exact variant for the running process (torch minor + CUDA version for CUDA, the torch stable ABI for CPU, plus OS/architecture), and resolves it through an installed package, LOCAL_KERNELS, the on-disk cache, a checksum-verified prebuilt wheel from the kernels-v1 release (14 variants: linux CUDA cu126/cu128/cu130 for torch 2.9/2.12/2.13, Windows CUDA cu128, Metal for torch 2.12/2.13, and CPU stable-ABI wheels for linux x86_64/aarch64, macOS arm64, and Windows), and finally an opt-in JIT build from sources bundled in the wheel. Failures degrade to the Triton/dequant fallbacks with actionable messages.
New CLI: orbitquant kernels-install [--build] [--no-fetch] and orbitquant kernels-status. Environment contract: ORBITQUANT_KERNELS_AUTOFETCH, ORBITQUANT_KERNELS_AUTOBUILD, ORBITQUANT_KERNELS_CACHE, ORBITQUANT_KERNELS_RELEASE_BASE; see docs/kernel-audit.md#native-package-provisioning.
The dead Hugging Face kernels.get_kernel loader path is removed; the [kernels] extra now only pulls the Triton fallback.
Native kernel variants v1
Prebuilt orbitquant_packed_matmul variant wheels consumed by the OrbitQuant runtime provisioner (orbitquant.kernels.provision, orbitquant >= 0.6.0).
The runtime derives the variant name for the current process (torch minor + CUDA version for CUDA, the torch stable ABI for CPU, plus OS/architecture), looks it up in manifest.json, downloads the wheel, verifies its sha256, and caches it under ~/.cache/orbitquant/kernels. The wheels are also directly pip-installable.
Do not delete individual assets: the runtime resolves them through manifest.json. Assets are refreshed by the build-kernels.yml workflow.
OrbitQuant 0.4.0
What's Changed
- Add bounded checkpoint streaming quantization by @iamwavecut in #2
- Fix Windows native CPU CI by @iamwavecut in #3
New Contributors
- @iamwavecut made their first contribution in #2
Full Changelog: v0.3.1...v0.4.0
OrbitQuant 0.3.1
OrbitQuant 0.3.1 improves packed Metal/MPS inference while preserving the compact weight path.
- Aligned FP16/BF16 projections with two or more rows use the padded SIMD-group MMA path; one-row projections retain the faster packed matvec
- Full 4096-coordinate RPBH activation blocks use a measured 512-thread Metal path
- Optimized execution continues to consume packed low-bit weights without materializing a complete FP16/BF16 matrix
- Metal operator and activation benchmarks are documented in
docs/kernel-audit.mdand the kernel card - The FLUX.2 Klein 9B BF16/SDNQ/OrbitQuant comparison matrix now covers all ten stress prompts
The Python package is available from PyPI as orbitquant==0.3.1. The standalone native kernel remains a local ABI3 build; Kernel Hub publication is outside this release.
OrbitQuant 0.3.0
OrbitQuant 0.3.0 adds the optimized packed W4A4 CUDA runtime.
- Native CUDA token norm, RPBH/FWHT, and activation codebook assignment
- Bounded packed-W4 decode with CUTLASS INT8 tensor-core matmul and fused epilogue
- Direct packed A4/W4 CUDA MMA fallback with SM89 tile selection
- No full BF16/FP16 weight materialization in the optimized path
- Verified RTX 4090, L40S, and Metal/MPS package paths
- Explicit
dequant_bf16exact-centroid reference mode remains available
See docs/kernel-audit.md for measured scope, local ABI3 build instructions, and claim boundaries.
OrbitQuant 0.2.1
OrbitQuant 0.2.1 strengthens visual validation for published image artifacts.
image_visual_v2contains ten detailed stress prompts covering fine mechanical
detail, exact counting, dense color binding, nested spatial relationships,
cinematic composition, artistic styles, reflection and occlusion.- Typography cases require exact Latin, Russian, Japanese, and Chinese text.
- Native image comparison matrices preserve 1024x1024 tiles for BF16 and
OrbitQuant instead of reducing them to small thumbnails. - Model cards list the complete prompt set when all ten paired generations are
present in the artifact evidence.
Runtime quantization and packed model weights are unchanged from 0.2.0.
OrbitQuant 0.2.0
OrbitQuant 0.2.0 extends calibration-free quantization from the paper-specific
Diffusers targets to transformer backbones across modalities.
Highlights
- Universal structural policy for registered linear-compatible modules, with
machine-readable coverage inspection before quantization. - Built-in adapters for
torch.nn.Linearand Hugging FaceConv1D, plus a
public adapter API for custom weight layouts. - Named W2A3, W2A4, W3A3, W4A4, and W4A6 recipes and a direct
quantize_model()API. - Transformers quantize-on-load and packed
save_pretrained()/
from_pretrained()support, including base-model prefixes and transposed
GPT-2 projections. - Shape-generic packed CUDA, Triton, and Metal inference paths for arbitrary
leading dimensions, short autoregressive decode rows, and partial matrix
tiles without full weight materialization. - Paper-specific FLUX.1, FLUX.2, Z-Image, and Wan policies remain unchanged and
pass their exact module-inventory methodology gate.
Architecture compatibility does not imply that every low-bit recipe preserves
quality on every model. Inspect coverage and validate the selected bit profile
for the target task before publishing a checkpoint.
OrbitQuant 0.1.6
OrbitQuant 0.1.6 Release Notes
OrbitQuant 0.1.6 aligns generated codebooks and activation normalization with
the OrbitQuant paper and improves compact Hugging Face artifact publication.
Install
pip install "orbitquant[hf]==0.1.6"For optimized packed-weight inference dependencies:
pip install "orbitquant[kernels]==0.1.6"Changes
- New artifacts use converged Lloyd-Max codebook version 2 derived from the
exact beta marginal of unit-sphere coordinates. - Activation normalization follows the paper's
x / (norm(x) + 1e-10)rule
in reference, Triton CUDA, and Metal paths. - Existing version 1 artifacts remain loadable with their original codebooks.
- Compact uploads can consume a validated
compare-nativebundle, publish one
canonical comparison matrix, and retain paired native-smoke evidence without
uploading raw generated images or videos.
Runtime
runtime_mode="auto_fused" remains the default. CUDA prefers the importable
native packed-matmul package and otherwise uses Triton; MPS uses the native
Metal package. runtime_mode="dequant_bf16" remains an explicit reference and
debug mode.
The package does not claim a universal throughput gain. Backend and model
performance depend on shape, device, framework version, and offload policy.
OrbitQuant 0.1.5
Paper-conformant quantizer update.
- Adds converged beta-marginal Lloyd-Max codebook version 2.
- Matches Algorithm 1 activation normalization with
s + epsilonon CPU, CUDA/Triton, and Metal/MPS. - Preserves explicit version 1 loading for existing packed artifacts.
- Validates artifact codebooks and RPBH sidecars against the runtime basis.
- Keeps
auto_fusedpacked CUDA/MPS inference as the default runtime.
OrbitQuant 0.1.4
OrbitQuant 0.1.4 Release Notes
OrbitQuant 0.1.4 is a release-metrics patch for external GenEval and VBench
metric import.
Install
pip install "orbitquant[hf]==0.1.4"For optimized packed-weight inference dependencies:
pip install "orbitquant[kernels]==0.1.4"Changes
- Imported GenEval
geneval_overallnow follows upstream GenEval semantics:
average over task scores. - GenEval image-level and prompt-level hit rates are imported as
geneval_image_accuracyandgeneval_prompt_accuracywhen they are present
in the external results. - VBench external eval commands now pass requested dimensions as separate CLI
arguments, matching upstream--dimensionparsing. - VBench prompt files now use exported video filenames as keys for custom input
evaluation. - README and generated model cards document GenEval and VBench release metric
semantics.
Claim Boundary
This release does not change quantization math, artifact format, runtime
dispatch, kernel implementations, or published model weights. Release-grade
GenEval/VBench runs remain separate from this package patch.