Benchmarking Software and Design Automation Tools for Quantum Computing

Tools like the ones proposed above are key in order to support end users in the realization of their quantum computing applications. And, thankfully, a huge variety of tools has been proposed in the past—with many more to come. However, whenever such a quantum software tool is proposed, it is important to empirically evaluate its performance and to compare it to the state of the art. For that purpose, proper benchmarks are needed. To provide those, MQT Bench is proposed [79], which offers over \(70,000\) benchmarks on various abstraction levels (depending on what level the to-be-evaluated software tool operates on). Having all those benchmarks in a single repository enables an increased comparability, reproducibility, and transparency. To make the benchmarks as accessible as possible, MQT Bench comes as an easy-to-use website that is hosted at www.cda.cit.tum.de/mqtbench/ and as a Python package available on PyPI.

A larger version of the quantum circuit from Fig. 1 can easily be obtained programmatically from the MQT Bench Python package as follows:

1from mqt.bench import get_benchmark
2
3circ = get_benchmark("ghz", circuit_size=8, level="alg")
../_images/ea673fd01d2c906480b34c720e6a8f70dd20e798139eb08a12d88a426ab6c1d8.svg

Fig. 4 Larger version of the circuit from Fig. 1 obtained via MQT Bench.

This gives the circuit shown in Fig. 4, which can then be used to evaluate the performance of a quantum software tool, e.g., to test how well the tool can simulate the circuit or how well it can compile it to a given architecture.

MQT Bench
(venv) $ pip install mqt.bench