Every computer has firmware. Your laptop has it. Your smartphone has it. And your cloud-accessible quantum computer of choice has it. Quantum firmware is simply the quantum analogue of classical firmware.
Imagine that we physically have some piece of computer hardware. We’re holding it in our hands. We’re rotating it around and taking a look at it from different angles. And we’re trying to figure out how to actually use the thing. Unfortunately, we can’t.
Part of the answer to our problem is firmware. A computer is like a stack of pancakes, with the hardware layer at the bottom. The firmware is the layer, or pancake, just above the hardware layer. There are other layers on top of these two layers, which makes the firmware layer that much more important. The firmware is the interface with the hardware.
Let’s now imagine that our hardware is a quantum processor. The firmware is the classical-quantum interface between the algorithm we want to execute and the actual execution of the algorithm using real qubits. There are several layers above the firmware, culminating in a quantum operating system with which end users interface, but the firmware is what actually enables quantum computation to be performed.
For more information, Q-CTRL offers a high-level-but-detailed description in an article titled “What is quantum firmware?” For even more information, Q-CTRL offers an even more detailed description in a paper published in Physics Today titled “Quantum firmware and the quantum computing stack.”
What is Quantum Firmware
The firmware is responsible for multiple tasks. These might vary from qubit modality to qubit modality and from provider to provider, but they generally include:
- Automation – abstracting tasks away from the higher levels in the stack
- Calibration – adapting to hardware imperfections to suppress errors
- Characterization – developing an understanding of the effects of gate operations
- Error suppression – anticipating undesired effects and adjusting signals to counter them
- Stabilization – ensuring that the correct operations are executed
These tasks allow the firmware to play several critical roles in the overall quantum computing stack.
The Role of Quantum Firmware
The tasks executed by the firmware allows it to play multiple roles, all of which are critically important due to its placement in the stack. At a high level, these roles generally include:
- Abstraction – simplifying the roles of the higher layers in the stack
- Error suppression – easing the job of quantum error correction codes (QECC)
- Tuning – calibrating and characterizing to optimize the performance of the hardware
- Virtualization – determining what the hardware should do and how it should do it
“By homogenizing error rates and also reducing error correlations, quantum firmware can improve the efficiency of QEC, reducing code complexity and also minimizing resource overheads required for encoding.” Q-CTRL
Controlling quantum systems is challenging. In addition to suppressing environmental noise and other sources of errors, gate operations need to execute with exquisite timing and precision. An underlying theme of the roles mentioned above is the simplification of higher-level tasks to enable the successful execution of these operations, and thus ensure the successful execution of algorithms.
Applications of Quantum Firmware
The roles that the firmware plays enable it to be involved in several important applications. These applications include:
- The stabilization and characterization of the hardware to optimize its performance
- The error-robust execution of physical operations
- The error-robust execution of logical transversal operations
- The leveraging of classical machine learning to automate the optimization of these processes
- The boosting of the assessed quantum volume of the hardware
The final point, about quantum volume (QV), can have an impact on the amount of investment that goes into the organization and into the hardware. It can also affect the usage of the hardware, as quantum computers with higher QV scores are more desirable than quantum computers with lower QV scores. The higher QV scores ought to allow the users to do to more with that particular hardware than with other underperforming hardware.
In summary, quantum firmware allows us to interact with, control, and perform computation with qubits. Not stopping there, the firmware is further responsible for many of the qualitative aspects of quantum computing: it optimizes the performance of the hardware, it helps to suppress errors, and it simplifies the roles of the higher levels in the stack.