The QIR Alliance is a joint effort to establish a many-to-many intermediate representation between programming languages and current and future heterogenous quantum processors, to accelerate the growth and interoperability of the quantum ecosystem.
With our work and partnership, we aim to
- reduce the required development effort for all parties by promoting interoperability between different frameworks and languages
- enable the development of shared libraries both for quantum application development, and for quantum compiler development
- build on state-of-the-art compiler technology and leverage existing tools, libraries and learnings from high-performance computing
- allow for incremental and progressive evolution in how classical and quantum computations can interact at the hardware level
- provide the flexibility to easily connect emerging technologies in a way that permits to experiment with distinct and differentiated hardware capabilities
This effort includes the creation of a specification for how to represent quantum programs within the LLVM IR, developed on this repository. It provides a holistic program representation suitable for taking full advantage of the unique and distinct capabilities of quantum computing systems across a variety of different hardware platforms. The specification includes profiles for current and future quantum processor architectures.
A set of tools and samples to facilitate the adoption of the specification can be found in the respective GitHub repositories and are licensed under MIT license unless specified otherwise.