Skip to content

Releases: iamwavecut/OrbitQuant

OrbitQuant 0.6.0

Choose a tag to compare

@iamwavecut iamwavecut released this 14 Jul 01:31
9bfa3be

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

Choose a tag to compare

@iamwavecut iamwavecut released this 13 Jul 23:41

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

Choose a tag to compare

@iamwavecut iamwavecut released this 11 Jul 17:20
8b0d87d

What's Changed

New Contributors

Full Changelog: v0.3.1...v0.4.0

OrbitQuant 0.3.1

Choose a tag to compare

@iamwavecut iamwavecut released this 10 Jul 23:19

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.md and 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

Choose a tag to compare

@iamwavecut iamwavecut released this 10 Jul 22:03

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_bf16 exact-centroid reference mode remains available

See docs/kernel-audit.md for measured scope, local ABI3 build instructions, and claim boundaries.

OrbitQuant 0.2.1

Choose a tag to compare

@iamwavecut iamwavecut released this 10 Jul 12:27

OrbitQuant 0.2.1 strengthens visual validation for published image artifacts.

  • image_visual_v2 contains 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

Choose a tag to compare

@iamwavecut iamwavecut released this 10 Jul 11:36

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.Linear and Hugging Face Conv1D, 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

Choose a tag to compare

@iamwavecut iamwavecut released this 09 Jul 23:56

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-native bundle, 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

Choose a tag to compare

@iamwavecut iamwavecut released this 09 Jul 22:01

Paper-conformant quantizer update.

  • Adds converged beta-marginal Lloyd-Max codebook version 2.
  • Matches Algorithm 1 activation normalization with s + epsilon on 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_fused packed CUDA/MPS inference as the default runtime.

OrbitQuant 0.1.4

Choose a tag to compare

@iamwavecut iamwavecut released this 09 Jul 17:46

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_overall now follows upstream GenEval semantics:
    average over task scores.
  • GenEval image-level and prompt-level hit rates are imported as
    geneval_image_accuracy and geneval_prompt_accuracy when they are present
    in the external results.
  • VBench external eval commands now pass requested dimensions as separate CLI
    arguments, matching upstream --dimension parsing.
  • 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.