QAT (Quantum Assembly Toolkit/Toolchain) is a low-level quantum compiler and runtime which facilitates executing quantum IRs such as QASM, OpenPulse and QIR against QPU drivers. It facilitates the execution of largely-optimised code, converted into abstract pulse-level and hardware-level instructions, which are then transformed and delivered to an appropriate driver.
For our full documentation check here.
Rasqal is our low-level hybrid runtime and optimizer, which powers our more advanced QIR features.
QAT can be installed from PyPI via:
pip install qat-compiler
If you are contributing to the project we recommend that you also run
poetry run pre-commit install
to enable pre-commit checks.
We use poetry for dependency management and run on
Python 3.8+.
Once both of these are installed run this in the root folder to install all the dependencies that you need: poetry install
Here's a list of what we're currently working on, if you want to get involved contact the person or group linked.
In-development:
- Classical-quantum hybrid computation. John Dumbell
- Runtime-embedded QEC. Jamie Friel
Designing / verifying suitability:
- Distributed QPU execution. John Dumbell
To-do:
- Full QASM v3 support. Currently waiting for available parsers.
To take the first steps towards contributing to QAT, visit our contribution documents, which provides details about our process.
We also encourage new contributors to familiarise themselves with the code of conduct and to adhere to these expectations.
For support, please reach out in the discussions tab of this repository or file an issue.
This code in this repository is licensed under the BSD 3-Clause Licence. Please see LICENSE for more information.
Please let us know your feedback and any suggestions by reaching out in Discussions. Additionally, to report any concerns or code of conduct violations please use this form.