dynquant-kernels
Compiled CUDA kernels for DynQuant.
You almost certainly want pip install dynquant, which resolves this wheel for
your platform. Install it directly only to force a specific variant.
What is in here
One shared object, exposed through the PyTorch dispatcher under the dynquant
namespace (not pybind, so torch.compile can trace through it):
- n-bit tile dequantization
- decode GEMV, templated on bit-width — the memory-bound case that dominates serving
- tensor-core prefill GEMM (cuBLASLt, then fused CUTLASS)
- MoE grouped GEMM — one launch for all experts, not one per expert
Built with Thrust, CUB, cuBLASLt and CUTLASS. -use_fast_math is off by design:
it implies denormals-to-zero, and a dequantized weight near the bottom of a 2-bit
group's range is exactly the denormal case, so accuracy measured with it on is not
reproducible.
Variants
The wheel version carries a PEP 440 local segment identifying what it was built against, the same scheme torch uses:
dynquant-kernels==0.1.0+cu124torch27
Compatibility with dynquant-core is enforced by an ABI number baked into the
binary, checked at import. A mismatch refuses to load with an actionable message
rather than returning wrong numbers — see csrc/include/dynquant/abi.h.
Diagnosing an install
This package never raises on import, so a broken binary degrades to the reference
backend rather than taking down import dynquant. To find out what happened:
import dynquant_kernels
print(dynquant_kernels.report())
That works with dynquant-core absent, which is the point — it makes this wheel
diagnosable on its own. dynquant doctor gives the same information in context.
Building from source
pip install --no-build-isolation -e packages/dynquant-kernels
Needs CMake ≥ 3.26, nvcc, and a C++17 compiler. --no-build-isolation is
required: an isolated build resolves the newest torch, and an extension linked
against a different libtorch than the one you run fails to import.
With no CUDA toolkit present the build still succeeds, producing a CPU-only
extension — deliberately, so a cheap CI runner catches CMake and registration
errors before a GPU runner is needed. Release builds set
DYNQUANT_REQUIRE_CUDA=ON so that a toolkit which failed detection is a build
failure, not a wheel advertising kernels it does not contain.
License
Apache-2.0.
Release files for dynquant-kernels 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dynquant_kernels-0.2.0.tar.gz | 47.6 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| dynquant_kernels-0.2.0-cp313-cp313-manylinux_2_34_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.34+ x86-64 | Details |
| dynquant_kernels-0.2.0-cp312-cp312-manylinux_2_34_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.34+ x86-64 | Details |
| dynquant_kernels-0.2.0-cp311-cp311-manylinux_2_34_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.34+ x86-64 | Details |
| dynquant_kernels-0.2.0-cp310-cp310-manylinux_2_34_x86_64.whl | CPython 3.10 | CPython 3.10 | Linux glibc 2.34+ x86-64 | Details |
Total release size: 51.9 MB
Release files / dynquant_kernels-0.2.0.tar.gz
| Download URL | dynquant_kernels-0.2.0.tar.gz |
|---|---|
| Size | 47.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
19ede1633f7656a3ef52ab2793d07bf10ea53715b82eee4aa5bc4e12a50fcf69
|
|
BLAKE2b-256 checksum How to use checksums |
63a7046a8f75b7de5b12827e4ec892885343685d63a18b2c32df7762e042c6fc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 2, 2026.
Transparency logRelease files / dynquant_kernels-0.2.0-cp313-cp313-manylinux_2_34_x86_64.whl
| Download URL | dynquant_kernels-0.2.0-cp313-cp313-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 13.0 MB |
| Tags | CPython 3.13 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
65f5192ca530238d5ead38bdfba0e72a1a536f36286de786b2b1f11d0772053b
|
|
BLAKE2b-256 checksum How to use checksums |
c5bf0897a65ae55b439dac5ca94b39b06c1338d7ffce159f784d72394e895f50
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 2, 2026.
Transparency logRelease files / dynquant_kernels-0.2.0-cp312-cp312-manylinux_2_34_x86_64.whl
| Download URL | dynquant_kernels-0.2.0-cp312-cp312-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 13.0 MB |
| Tags | CPython 3.12 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
f5ad8937d8a3dc990c6862d6d7d51b65f54f4079a8e800d0fc71be0597035768
|
|
BLAKE2b-256 checksum How to use checksums |
2b8d68bdc7bc15684dc913b0d18fcb7c029cd0642d496069989f7954644732a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 2, 2026.
Transparency logRelease files / dynquant_kernels-0.2.0-cp311-cp311-manylinux_2_34_x86_64.whl
| Download URL | dynquant_kernels-0.2.0-cp311-cp311-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 13.0 MB |
| Tags | CPython 3.11 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
84a7799a87eeddb614a66abe5e553f04a3e4dabbbbc81d4ffa4c64fb549938b6
|
|
BLAKE2b-256 checksum How to use checksums |
ba2d18cb317cccdbead920d4352b583b5669f103acd44908008dba36d041400a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 2, 2026.
Transparency logRelease files / dynquant_kernels-0.2.0-cp310-cp310-manylinux_2_34_x86_64.whl
| Download URL | dynquant_kernels-0.2.0-cp310-cp310-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 13.0 MB |
| Tags | CPython 3.10 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
e53df16894e5a3ed2b07cbebe5eb8d6113635075ac1743ccabebab485987ea9b
|
|
BLAKE2b-256 checksum How to use checksums |
31facb0f4c5044df3bf815dc7e9eaa7a19df69fd4f80d53b96a5a3c91b6bb725
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 2, 2026.
Transparency log