Skip to main content

No project description provided

Project description

qoala-mlir

qoala-mlir is the MLIR-based middle and back end of the Qoala compiler stack. It consumes a Qoala HIR module — emitted by the euqalyptus Python frontend — lowers it through three intermediate representations (qnetqmemqoalahost + netqasm + qremote), and emits a textual .iqoala executable that can be run on the Qoala runtime. The build produces two command-line tools, qoala-opt (analyses, optimizations, and lowerings) and qoala-translate (LIR-to-.iqoala translation), together with a qnet Python bindings package that the frontend imports to construct HIR programmatically.

Documentation

The full documentation is published at https://softwarequtech.github.io/qoala-mlir/. It covers installation, the three intermediate representations, the pass pipeline, the per-op and per-pass reference, the Python bindings, and contributor-facing material.

Design and paper

For a deeper account of the compiler's design — the design considerations, the optimization passes (peephole rules, quantum dead-code elimination, MILP-based block reordering), the deadline-estimation MILP, and the static analyses — please refer to the accompanying paper: <PAPER_URL>.

Running the documentation locally

You can serve the documentation site locally with the official squidfunk/mkdocs-material Docker image, without installing MkDocs into your environment. Because the site uses the mkdocstrings[python] plugin to render API documentation from the qnet Python bindings' docstrings, the command below installs the docs-build dependencies (listed in requirements-docs.txt) into the container before serving:

docker run --rm -it -p 8000:8000 -v "$(pwd)":/docs \
  --entrypoint sh squidfunk/mkdocs-material:latest \
  -c 'pip install --quiet -r requirements-docs.txt && mkdocs serve --dev-addr=0.0.0.0:8000'

Run the command from the repository root. The site is then available at http://localhost:8000, with live reload on every change to docs/, mkdocs.yml, or the docstrings under lib/Python/mlir_qnet/.

Citation

If you use qoala-mlir in academic work, please cite the accompanying paper. A BibTeX entry will be available alongside the paper at the URL above; the placeholder below will be replaced once the paper is published:

<BIBTEX_PLACEHOLDER>

License

qoala-mlir is released under the MIT License (Copyright © 2025 QuTech). See the LICENSE file for the full text.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

qoala_mlir-0.1.0-cp312-cp312-manylinux_2_38_x86_64.whl (78.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.38+ x86-64

qoala_mlir-0.1.0-cp311-cp311-manylinux_2_38_x86_64.whl (78.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.38+ x86-64

qoala_mlir-0.1.0-cp310-cp310-manylinux_2_38_x86_64.whl (78.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.38+ x86-64

File details

Details for the file qoala_mlir-0.1.0-cp312-cp312-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for qoala_mlir-0.1.0-cp312-cp312-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 6afa25d793e962a1daad58421fa08d857ac50bf8756b5ac0da8782d1c8864018
MD5 91f9a6bf5e525295fc9c03f092890e73
BLAKE2b-256 f599e7d4404b41e96a064dfc2dd2175446944040677d125e0b9c650b9fe5dc21

See more details on using hashes here.

Provenance

The following attestation bundles were made for qoala_mlir-0.1.0-cp312-cp312-manylinux_2_38_x86_64.whl:

Publisher: release.yml on SoftwareQuTech/qoala-mlir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qoala_mlir-0.1.0-cp311-cp311-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for qoala_mlir-0.1.0-cp311-cp311-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 301c35b5dc223057d3acb4f531259daf7f17a5be54a5336275851b44e95a59e0
MD5 2524998adc3ca5ae1fdd51181342dc27
BLAKE2b-256 f7b373164e93c395e1f517e7520a268782543438ab93793be6c3b8578247ee3c

See more details on using hashes here.

Provenance

The following attestation bundles were made for qoala_mlir-0.1.0-cp311-cp311-manylinux_2_38_x86_64.whl:

Publisher: release.yml on SoftwareQuTech/qoala-mlir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qoala_mlir-0.1.0-cp310-cp310-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for qoala_mlir-0.1.0-cp310-cp310-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 b5b2bba720eb1e1df6dae385df1a9deb75bb4043eabfdc7fa22efe5860a9a63d
MD5 7a1869a4a8d1f4acf6301fc7b67727c1
BLAKE2b-256 d516b6e603f97427943306996cc2c13e3264abc9408a06875d0c155c3f3c03e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for qoala_mlir-0.1.0-cp310-cp310-manylinux_2_38_x86_64.whl:

Publisher: release.yml on SoftwareQuTech/qoala-mlir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page