Improving the QUantum computing Application benchmaRK (QUARK) Framework

In the world of Quantum Computing (QC), much is still unsure.

While there are some claims of present-day quantum advantages, most applications are still very limited. As a result, reproducibility and comparability are key properties that need to be focused on.

To be able to decide which form and configuration of QC is the best option for the respective application, one needs to be able to compare available possibilities. This is where benchmarks like the QUantum computing Application benchmaRK (QUARK) come into play. QUARK strives to make different QC platforms comparable for multiple applications and configurations.

Arguably even more important than comparability are reproducibility and repeatability. A comparison result that changes with each run of the framework is of no use. Given a certain configuration, each repeated run ideally returns a similar result. With QC, this might not be fully possible, but steps can be taken to make it more likely.

With this work, I enhance the setup of the QUARK framework by automating major aspects of it. I also work on reducing the human interaction needed to run the tests themselves.

I start with increasing the overall code quality by improving readability, fixing typos and removing redundancies.

Following this, I help with creating a reproducible Docker image to decrease both the time and effort needed for setting up and running the framework.

Furthermore, I work together with the QUARK authors to implement a mechanism to install dependencies only if they are actually used. This functionality is based upon what modules are selected to be available.