🐣 🛸 qBraid-QIR

Python package for generating QIR (Quantum Intermediate Representation) programs from high-level quantum programming languages. Currently supports conversions for Cirq and OpenQASM 3. This project aims to make QIR representations accessible via the qBraid-SDK transpiler, and by doing so, open the door to language-specific conversions from any and all high-level quantum languages supported by qbraid. See QIR Alliance: why do we need it?. This project was conceived in collaboration with QOSF (Quantum Open Source Foundation).

Quantum Intermediate Representation (QIR) was designed and developed with the same interoperability objectives as LLVM. In fact, QIR is in LLVM. How is QIR different from other quantum IRs? There are not really any at the same level of abstraction/mode. This new approach allows for Multiple Level Intermediate Representation (MLIR) compiler systems. Tools and components that lower the instruction with MLIR approach can be reused for different source languages and target machines. It was initially introduced for in machine learning workflows to facilitate compilation for co-processing. MLIR spans the abstraction levels from after source code to machine code generation, creating a space for compiler extensibility and reusability with different high-level languages and low-level targets.

Open bounties:
Closed bounties: