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 (qnet → qmem → qoalahost + 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qoala_mlir-0.1.0-cp312-cp312-manylinux_2_38_x86_64.whl.
File metadata
- Download URL: qoala_mlir-0.1.0-cp312-cp312-manylinux_2_38_x86_64.whl
- Upload date:
- Size: 78.3 MB
- Tags: CPython 3.12, manylinux: glibc 2.38+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6afa25d793e962a1daad58421fa08d857ac50bf8756b5ac0da8782d1c8864018
|
|
| MD5 |
91f9a6bf5e525295fc9c03f092890e73
|
|
| BLAKE2b-256 |
f599e7d4404b41e96a064dfc2dd2175446944040677d125e0b9c650b9fe5dc21
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qoala_mlir-0.1.0-cp312-cp312-manylinux_2_38_x86_64.whl -
Subject digest:
6afa25d793e962a1daad58421fa08d857ac50bf8756b5ac0da8782d1c8864018 - Sigstore transparency entry: 1668341630
- Sigstore integration time:
-
Permalink:
SoftwareQuTech/qoala-mlir@523fabcf829f8599a139a6c2f31793d053e0150d -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/SoftwareQuTech
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@523fabcf829f8599a139a6c2f31793d053e0150d -
Trigger Event:
push
-
Statement type:
File details
Details for the file qoala_mlir-0.1.0-cp311-cp311-manylinux_2_38_x86_64.whl.
File metadata
- Download URL: qoala_mlir-0.1.0-cp311-cp311-manylinux_2_38_x86_64.whl
- Upload date:
- Size: 78.3 MB
- Tags: CPython 3.11, manylinux: glibc 2.38+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
301c35b5dc223057d3acb4f531259daf7f17a5be54a5336275851b44e95a59e0
|
|
| MD5 |
2524998adc3ca5ae1fdd51181342dc27
|
|
| BLAKE2b-256 |
f7b373164e93c395e1f517e7520a268782543438ab93793be6c3b8578247ee3c
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qoala_mlir-0.1.0-cp311-cp311-manylinux_2_38_x86_64.whl -
Subject digest:
301c35b5dc223057d3acb4f531259daf7f17a5be54a5336275851b44e95a59e0 - Sigstore transparency entry: 1668341162
- Sigstore integration time:
-
Permalink:
SoftwareQuTech/qoala-mlir@523fabcf829f8599a139a6c2f31793d053e0150d -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/SoftwareQuTech
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@523fabcf829f8599a139a6c2f31793d053e0150d -
Trigger Event:
push
-
Statement type:
File details
Details for the file qoala_mlir-0.1.0-cp310-cp310-manylinux_2_38_x86_64.whl.
File metadata
- Download URL: qoala_mlir-0.1.0-cp310-cp310-manylinux_2_38_x86_64.whl
- Upload date:
- Size: 78.3 MB
- Tags: CPython 3.10, manylinux: glibc 2.38+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5b2bba720eb1e1df6dae385df1a9deb75bb4043eabfdc7fa22efe5860a9a63d
|
|
| MD5 |
7a1869a4a8d1f4acf6301fc7b67727c1
|
|
| BLAKE2b-256 |
d516b6e603f97427943306996cc2c13e3264abc9408a06875d0c155c3f3c03e5
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qoala_mlir-0.1.0-cp310-cp310-manylinux_2_38_x86_64.whl -
Subject digest:
b5b2bba720eb1e1df6dae385df1a9deb75bb4043eabfdc7fa22efe5860a9a63d - Sigstore transparency entry: 1668341334
- Sigstore integration time:
-
Permalink:
SoftwareQuTech/qoala-mlir@523fabcf829f8599a139a6c2f31793d053e0150d -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/SoftwareQuTech
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@523fabcf829f8599a139a6c2f31793d053e0150d -
Trigger Event:
push
-
Statement type: