🧪 Testing circuit support in device implementations #113
Labels
documentation
Improvements or additions to documentation
usability
Increasing usability of the library
This is an addition to #112 because it is slightly more involved and requires a little more care.
It would be good for the QDMI repository to provide ways to test the circuit support of a QDMI device implementation based on a representative set of benchmarks.
A suitable candidate for providing these benchmarks is the MQT Bench library (https://github.com/cda-tum/mqt-bench) developed as part of the Munich Quantum Toolkit. It allows one to generate circuits for various different algorithms with increasing qubit numbers and on multiple different levels. In particular, it allows one to generate circuits that are executable on a particular device (the "mapped level").
MQT Bench plans to adopt QDMI for managing the information about devices to compile to. Once implemented, this allows MQT Bench to generate circuits for any (hopefully) QDMI device implementation without much configuration. This is being tracked in cda-tum/mqt-bench#438.
In the meantime, required device configurations can be explicitly added to MQT Bench if necessary.
At the time of creating this issue, MQT Bench exports OpenQASM circuits (OpenQASM 2 and, soon, OpenQASM 3). This already allows to set up testing for devices supporting either OpenQASM standard.
Support for QIR is being tracked in cda-tum/mqt-bench#437.
The main purpose of these tests should be to check whether the device can accept common circuits in the formats it claims to support and does not error out for whatever reason.
Execution itself is not a priority here and is probably hard to test on a regular basis anyways.
The text was updated successfully, but these errors were encountered: