-
-
Notifications
You must be signed in to change notification settings - Fork 55
✨ MLIR - Conversion from/to CUDA-Q's quake dialect #924
Copy link
Copy link
Open
Labels
MLIRAnything related to MLIRAnything related to MLIRc++Anything related to C++ codeAnything related to C++ codefeatureNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomersunitaryHACKIssues and PRs intended for unitaryHACKIssues and PRs intended for unitaryHACK
Milestone
Metadata
Metadata
Assignees
Labels
MLIRAnything related to MLIRAnything related to MLIRc++Anything related to C++ codeAnything related to C++ codefeatureNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomersunitaryHACKIssues and PRs intended for unitaryHACKIssues and PRs intended for unitaryHACK
What's the problem this feature will solve?
Our efforts in adopting MLIR within the MQT have been steadily progressing.
#880 is the first PR that adds interoperability with an external framework, namely Xanadu's Catalyst and their
Quantumdialect.To connect the ecosystem further and to extend the compatibility of the MQT, this issue aims to add support for NVIDIA's
quakedialect that is used within CUDA-Q. See https://github.com/NVIDIA/cuda-quantum/blob/main/Overview.md for a brief overview.Describe the solution you'd like
Similarly to the solution currently being pursued in #880, it should be possible to translate MLIR programs using the Quake dialect to our internal
mqtoptormqtdyn(see comment below for more details) dialect and back.The conversion itself can probably borrow quite a few of the implementation details from #880.
The intriguing aspect is the packaging aspect in the sense that it is still an open question how to best add these translations without adding an unconditional dependency on cuda-q. Ideally, the integration is set up similar to how we currently handle Qiskit as an optional plugin of the mqt-core Python package: https://github.com/munich-quantum-toolkit/core/tree/main/src/mqt/core/plugins/qiskit