✨ QIR support for MQT #429
Labels
c++
Anything related to C++ code
Core
Anything related to the Core library and IR
dependencies
Pull requests that update a dependency file
feature
New feature or request
help wanted
Extra attention is needed
Milestone
What's the problem this feature will solve?
This is a tracking issue for adding QIR support within the MQT.
The following contains a summary of some discussions that took place at QCE23.
Describe the solution you'd like
One of the key take aways is that it is fine to keep our own circuit representation, i.e., we are not expected to base all of our developments on an LLVM Parse-Tree and throw away the
QuantumComputation
class.In principle, we need to be able to parse QIR into
QuantumComputation
objects and create QIR from aQuantumComputation
description.The ad-hoc, straight-forward solution would be to rely on the PyQIR Python library that facilitates easy parsing and writing of QIR.
As for translating our circuit structure to QIR, https://github.com/microsoft/qiskit-qir could serve as an inspiration.
Pros:
Cons:
A potential alternative would be to use the qirlib Rust library that builds the foundation for PyQIR and interface with that.
Pros:
Cons:
As a consequence of the above, it was actually recommended to directly build upon LLVM, which is natively written in C++.
Pros:
Cons:
qirlib
and our in-house solutionAs for the last part, I was told that the part of LLVM that’s actually needed for QIR support should be rather small compared to the complete LLVM Suite.
From these discussion, I would rule out the second option from above as it sits straight in between the least effort/quickest solution and the most effort/long-term solution.
I would prefer the long-term solution to be implemented right away, although it might be a tough nut to crack.
A couple of references for starting out with this:
Tasks
The text was updated successfully, but these errors were encountered: