You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Description
This PR adds support information to the README and the documentation.
For more information, see
munich-quantum-toolkit/.github#49.
## Checklist:
- [x] The pull request only contains commits that are focused and
relevant to this change.
- [x] ~I have added appropriate tests that cover the new/changed
functionality.~
- [x] I have updated the documentation to reflect these changes.
- [x] ~I have added entries to the changelog for any noteworthy
additions, changes, fixes, or removals.~
- [x] ~I have added migration instructions to the upgrade guide (if
needed).~
- [x] The changes follow the project's style guidelines and introduce no
new warnings.
- [x] The changes are fully tested and pass the CI checks.
- [x] I have reviewed my own code changes.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
# MQT Predictor: Automatic Device Selection with Device-Specific Circuit Compilation for Quantum Computing
18
+
# MQT Predictor - Automatic Device Selection with Device-Specific Circuit Compilation for Quantum Computing
19
19
20
20
MQT Predictor is a framework that allows one to automatically select a suitable quantum device for a particular application and provides an optimized compiler for the selected device.
21
-
It not only supports end-users in navigating the vast landscape of choices, it also allows to mix-and-match compiler passes from various tools to create optimized compilers that transcend the individual tools.
21
+
It is part of the [_Munich Quantum Toolkit (MQT)_](https://mqt.readthedocs.io).
MQT Predictor supports end-users in navigating the vast landscape of choices by allowing them to mix-and-match compiler passes from various tools to create optimized compilers that transcend the individual tools.
22
32
Evaluations on more than 500 quantum circuits and seven devices have shown that—compared to Qiskit's and TKET's most optimized compilation flows—the MQT Predictor yields circuits with an expected fidelity that is on par with the best possible result that could be achieved by trying out all combinations of devices and compilers and even achieves a similar performance when considering the critical depth as an alternative figure of merit.
23
33
24
34
Therefore, MQT Predictor tackles this problem from two angles:
25
35
26
-
1. It provides a method (based on Reinforcement Learning) that produces device-specific quantum circuit compilers by combining compilation passes from various compiler tools and learning optimized sequences of those passes with respect to a customizable figure of merit). This mix-and-match of compiler passes from various tools allows one to eliminate vendor locks and to create optimized compilers that transcend the individual tools.
36
+
1. It provides a method (based on Reinforcement Learning) that produces device-specific quantum circuit compilers by combining compilation passes from various compiler tools and learning optimized sequences of those passes with respect to a customizable figure of merit.
37
+
This mix-and-match of compiler passes from various tools allows one to eliminate vendor locks and to create optimized compilers that transcend the individual tools.
27
38
28
-
2. It provides a prediction method (based on Supervised Machine Learning) that, without performing any compilation, automatically predicts the most suitable device for a given application. This completely eliminates the manual and laborious task of determining a suitable target device and guides end-users through the vast landscape of choices without the need for quantum computing expertise.
39
+
2. It provides a prediction method (based on Supervised Machine Learning) that, without performing any compilation, automatically predicts the most suitable device for a given application.
40
+
This completely eliminates the manual and laborious task of determining a suitable target device and guides end-users through the vast landscape of choices without the need for quantum computing expertise.
If you have any questions, feel free to create a [discussion](https://github.com/munich-quantum-toolkit/predictor/discussions) or an [issue](https://github.com/munich-quantum-toolkit/predictor/issues) on [GitHub](https://github.com/munich-quantum-toolkit/predictor).
43
49
44
50
## Contributors and Supporters
45
51
@@ -48,25 +54,43 @@ Among others, it is part of the [Munich Quantum Software Stack (MQSS)](https://w
<imgwidth=20%src="https://img.shields.io/badge/Sponsor-white?style=for-the-badge&logo=githubsponsors&labelColor=black&color=blue"alt="Sponsor the MQT" />
85
+
</a>
62
86
</p>
63
87
64
88
## Getting Started
65
89
66
90
`mqt.predictor` is available via [PyPI](https://pypi.org/project/mqt.predictor/).
67
91
68
92
```console
69
-
(venv) $ pip install mqt.predictor
93
+
(.venv) $ pip install mqt.predictor
70
94
```
71
95
72
96
The following code gives an example on the usage:
@@ -75,54 +99,78 @@ The following code gives an example on the usage:
75
99
from mqt.predictor import qcompile
76
100
from mqt.bench import get_benchmark, BenchmarkLevel
77
101
78
-
#get a benchmark circuit on algorithmic level representing the GHZ state with 5 qubits from [MQT Bench](https://github.com/munich-quantum-toolkit/bench)
#print the selected device and the compilation information
111
+
#Print the selected device and the compilation information
87
112
print(quantum_device, compilation_information)
88
113
89
-
#draw the compiled circuit
114
+
#Draw the compiled circuit
90
115
print(qc_compiled.draw())
91
116
```
92
117
93
118
> [!NOTE]
94
119
> To execute the code, respective machine learning models must be trained before.
95
-
> Up until mqt.predictor v2.0.0, pre-trained models were provided. However, this is not feasible anymore due to the
96
-
> increasing number of devices and figures of merits. Instead, we now provide a detailed documentation on how to train
97
-
> and setup the MQT Predictor framework.\*\*
120
+
> Up until mqt.predictor v2.0.0, pre-trained models were provided.
121
+
> However, this is not feasible anymore due to the increasing number of devices and figures of merits.
122
+
> Instead, we now provide a detailed documentation on how to train and setup the MQT Predictor framework.
123
+
124
+
**Detailed documentation and examples are available at [ReadTheDocs](https://mqt.readthedocs.io/projects/predictor).**
125
+
126
+
## System Requirements
98
127
99
-
**Further documentation and examples are available at [ReadTheDocs](https://mqt.readthedocs.io/projects/predictor).**
128
+
MQT Predictor can be installed on all major operating systems with all supported Python versions.
129
+
Building (and running) is continuously tested under Linux, macOS, and Windows using the [latest available system versions for GitHub Actions](https://github.com/actions/runner-images).
130
+
131
+
## Cite This
132
+
133
+
Please cite the work that best fits your use case.
134
+
135
+
### MQT Predictor (the tool)
136
+
137
+
When citing the software itself or results produced with it, cite the MQT Predictor paper:
138
+
139
+
```bibtex
140
+
@article{quetschlich2025mqtpredictor,
141
+
title = {{MQT Predictor: Automatic Device Selection with Device-Specific Circuit Compilation for Quantum Computing}},
142
+
author = {Quetschlich, Nils and Burgholzer, Lukas and Wille, Robert},
143
+
year = {2025},
144
+
journal = {ACM Transactions on Quantum Computing (TQC)},
145
+
doi = {10.1145/3673241},
146
+
eprint = {2310.06889},
147
+
eprinttype = {arxiv}
148
+
}
149
+
```
100
150
101
-
##References
151
+
### The Munich Quantum Toolkit (the project)
102
152
103
-
In case you are using MQT Predictor in your work, we would be thankful if you referred to it by citing the following publication:
153
+
When discussing the overall MQT project or its ecosystem, cite the MQT Handbook:
104
154
105
155
```bibtex
106
-
@ARTICLE{quetschlich2025mqtpredictor,
107
-
AUTHOR = {N. Quetschlich and L. Burgholzer and R. Wille},
108
-
TITLE = {{MQT Predictor: Automatic Device Selection with Device-Specific Circuit Compilation for Quantum Computing}},
109
-
YEAR = {2025},
110
-
JOURNAL = {ACM Transactions on Quantum Computing (TQC)},
111
-
DOI = {10.1145/3673241},
112
-
EPRINT = {2310.06889},
113
-
EPRINTTYPE = {arxiv},
156
+
@inproceedings{mqt,
157
+
title = {The {{MQT}} Handbook: {{A}} Summary of Design Automation Tools and Software for Quantum Computing},
158
+
shorttitle = {{The MQT Handbook}},
159
+
author = {Wille, Robert and Berent, Lucas and Forster, Tobias and Kunasaikaran, Jagatheesan and Mato, Kevin and Peham, Tom and Quetschlich, Nils and Rovara, Damian and Sander, Aaron and Schmid, Ludwig and Schoenberger, Daniel and Stade, Yannick and Burgholzer, Lukas},
160
+
year = 2024,
161
+
booktitle = {IEEE International Conference on Quantum Software (QSW)},
162
+
doi = {10.1109/QSW62656.2024.00013},
163
+
eprint = {2405.17543},
164
+
eprinttype = {arxiv},
165
+
addendum = {A live version of this document is available at \url{https://mqt.readthedocs.io}}
114
166
}
115
167
```
116
168
117
169
---
118
170
119
171
## Acknowledgements
120
172
121
-
This project received funding from the European Research Council (ERC) under the European Union's Horizon 2020 research
122
-
and innovation program (grant agreement No. 101001318), was part of the Munich Quantum Valley, which is supported by the
123
-
Bavarian state government with funds from the Hightech Agenda Bayern Plus, and has been supported by the BMWK on the
124
-
basis of a decision by the German Bundestag through project QuaST, as well as by the BMK, BMDW, the State of Upper
125
-
Austria in the frame of the COMET program, and the QuantumReady project within Quantum Austria (managed by the FFG).
173
+
The Munich Quantum Toolkit has been supported by the European Research Council (ERC) under the European Union's Horizon 2020 research and innovation program (grant agreement No. 101001318), the Bavarian State Ministry for Science and Arts through the Distinguished Professorship Program, as well as the Munich Quantum Valley, which is supported by the Bavarian state government with funds from the Hightech Agenda Bayern Plus.
Copy file name to clipboardExpand all lines: docs/index.md
+31-27Lines changed: 31 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,7 @@
1
1
# Welcome to MQT Predictor's documentation!
2
2
3
-
MQT Predictor is a tool for Automatic Device Selection with Device-Specific Circuit Compilation for Quantum Computing developed as part of the [Munich Quantum Toolkit](https://mqt.readthedocs.io) (_MQT_).
3
+
MQT Predictor is a tool for automatic device selection with device-specific circuit compilation for quantum computing.
4
+
It is part of the _{doc}`Munich Quantum Toolkit (MQT) <mqt:index>`_.
4
5
5
6
From a user's perspective, the framework works as follows:
6
7
@@ -12,25 +13,26 @@ The compiled circuit is returned together with the compilation information and t
12
13
13
14
The MQT Predictor framework is based on two main components:
14
15
15
-
- An [Automatic Device Selection](device_selection.md) component that predicts the most suitable device for a given quantum circuit and figure of merit.
16
-
- A [Device-Specific Circuit Compilation](compilation.md) component that compiles a given quantum circuit for a given device.
16
+
- An {doc}`Automatic Device Selection <device_selection>` component that predicts the most suitable device for a given quantum circuit and figure of merit.
17
+
- A {doc}`Device-Specific Circuit Compilation <compilation>` component that compiles a given quantum circuit for a given device.
17
18
18
-
Combining these two components, the framework can be used to automatically compile a given quantum circuit for the most suitable device optimizing a [customizable figure of merit](figure_of_merit.md).
19
-
How to install the framework is described in the [installation](installation.md) section, how to set it up in the [setup](setup.md) section, and how to use it in the [quickstart](quickstart.md) section.
19
+
Combining these two components, the framework can be used to automatically compile a given quantum circuit for the most suitable device optimizing a {doc}`customizable figure of merit <figure_of_merit>`.
20
+
How to install the framework is described in the {doc}`installation section <installation>`, how to set it up in the {doc}`setup section <setup>` section, and how to use it in the {doc}`quickstart section <quickstart>` section.
20
21
21
-
If you are interested in the theory behind MQT Predictor, have a look at the publications in the [references list](references.md).
22
+
If you are interested in the theory behind MQT Predictor, have a look at the publications in the {doc}`references list <references>`.
22
23
23
24
---
24
25
25
26
```{toctree}
26
-
:hidden: true
27
+
:hidden:
27
28
28
29
self
29
30
```
30
31
31
32
```{toctree}
32
33
:caption: User Guide
33
-
:glob: true
34
+
:glob:
35
+
:hidden:
34
36
:maxdepth: 1
35
37
36
38
installation
@@ -44,20 +46,21 @@ references
44
46
45
47
```{toctree}
46
48
:caption: Developers
47
-
:glob: true
49
+
:glob:
50
+
:hidden:
48
51
:maxdepth: 1
49
52
50
53
contributing
51
54
development_guide
52
55
support
53
56
```
54
57
55
-
````{only} html
58
+
```{only} html
56
59
## Contributors and Supporters
57
-
The _[Munich Quantum Toolkit (MQT)](https://mqt.readthedocs.io)_ is developed by the [Chair for Design Automation](https://www.cda.cit.tum.de/) at the [Technical University of Munich](https://www.tum.de/)
58
-
and supported by the [Munich Quantum Software Company (MQSC)](https://munichquantum.software).
59
-
Among others, it is part of the [Munich Quantum Software Stack (MQSS)](https://www.munich-quantum-valley.de/research/research-areas/mqss) ecosystem,
60
-
which is being developed as part of the [Munich Quantum Valley (MQV)](https://www.munich-quantum-valley.de) initiative.
60
+
61
+
The _[Munich Quantum Toolkit (MQT)](https://mqt.readthedocs.io)_ is developed by the [Chair for Design Automation](https://www.cda.cit.tum.de/) at the [Technical University of Munich](https://www.tum.de/) and supported by the [Munich Quantum Software Company (MQSC)](https://munichquantum.software).
62
+
Among others, it is part of the [Munich Quantum Software Stack (MQSS)](https://www.munich-quantum-valley.de/research/research-areas/mqss) ecosystem, which is being developed as part of the [Munich Quantum Valley (MQV)](https://www.munich-quantum-valley.de) initiative.
0 commit comments