Even if we have expressed our quantum algorithms in a so-called high-level quantum programming language, our quantum processor will still not understand this! At this point, we arrive at a new layer of our quantum computer: the compiler. The compiler translates your quantum algorithm to the lower-level language, or machine instructions, that can be executed on particular hardware.
In this video, assistant-professor Carmina Almudever (QuTech) will explain the role of the compiler. After this, she will describe the steps it executes in detail. These steps are the decomposition of quantum gates, the optimization of the quantum circuit, scheduling the operations, and creating a fault-tolerant version of the circuit. This is where it gets real!
We have seen compilers perform multiple jobs such as decomposition of gates, optimization, scheduling, mapping and FT synthesis. What do you think are the physical requirements for it? And what challenges does this bring? (hint: think of the different layers a quantum computing has).
Here you can take a look at the programming language developed at QuTech and browse through it a bit to get a feeling of what this looks like.
These are the most recent publications where Carmina was involved in.