2.3.1 Compiler & programming languages

Course subject(s) Module 2: Micro-architecture, compiler & programming language

People who design quantum algorithms cannot account for the specific details of a given quantum device. These details include the size of the device, as well as connectivity (which sets of qubits can be entangled with a single operation). In order to transform generic quantum algorithms into a form which can be executed on a device of our choosing, we’ll need a compiler, a classical computer program which finds a near-optimal fit between the desired quantum operations and the limits of near-term devices. These compilers, in turn, require us to express quantum algorithms in specific quantum programming languages. In these two lectures, Nader Khammassi and Carmen G. Almudever will introduce compilers and programming languages.

Main takeaways

  • A quantum compiler translates expressions of quantum algorithms which are abstract and ignore details of the hardware into a more concrete form which accounts for the specific hardware to which the compiler is associated.
  • An important limitation of near-term quantum hardware is connectivity: each qubit in a near-term device is only capable of undergoing an entangling operation with a few of its close neighbours. Every “long-range” operation must, therefore be decomposed into a sequence of nearest-neighbour operations.
  • To schedule quantum algorithms, we express them using dependency graphs: networks whose sites represent operations, with two sites connected with an arrow from site A to site B whenever operation B requires operation A to be finished before operation B can begin.
  • In order to execute quantum algorithms on hardware with limited connectivity, it is necessary to use SWAP operations to transfer qubit states from one location to another.
Creative Commons License
The Building Blocks of a Quantum Computer: Part 2 by TU Delft OpenCourseWare is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Based on a work at https://online-learning.tudelft.nl/courses/the-building-blocks-of-a-quantum-computer-part-2/.
Back to top