Quantum computing demonstrations are maturing to the level where a new discipline of quantum computer engineering is emerging - seeking solutions to the practical challenges of building the first useful quantum computers. Chief among these is hardware error and instability arising from environmental perturbation and imperfect devices. Quantum Firmware - the lowest level of the quantum computing software stack - bridges the divide between the mathematical abstractions of quantum algorithms and the practical physical manipulation of imperfect hardware.
Realizing useful computations on quantum computers requires a recognition that performance is predominantly limited by hardware imperfections and failures, not just system size. Susceptibility to noise and error remains the Achilles heel of quantum computers, and ultimately limits the range of achievable algorithms run on quantum coherent hardware. Mitigating the resultant hardware errors via e.g. quantum error correction (QEC), has been a major driver of research in the field for decades. The complexity and resource intensity of QEC, however, has long motivated consideration of complementary techniques which do not rely on full fault-tolerant encoding.
In experimental laboratories all over the world, teams seek to improve the performance of their devices through passive means like circuit design, but also through active techniques.
There is now a move to produce a unified and distinct software layer in order to aid efficient interfacing between higher-level abstractions such as compilation and application programming and a disparate set of low-level control routines customized to improve the performance of hardware systems. Enter quantum firmware.
Quantum firmware is a set of protocols whose purpose is to deliver high-performing qubit operations to higher levels of abstraction in the quantum computing stack with minimal user intervention. It is primarily designed to enable the autonomous, efficient, and error-robust manipulation of quantum computing hardware directly at the classical-quantum interface. The choice of the generalized term firmware reflects the fact that the relevant routines are usually software-defined but embedded proximal to the physical layer and effectively invisible to higher layers of abstraction.
More specifically, quantum firmware determines how the physical hardware should be manipulated, with the aim of ensuring efficient and error-robust operations (e.g. operations with reduced susceptibility to environmental noise, temporal drift in the hardware, or sensitivity to "leakage" out of the computational subspace). It comprises the techniques used to define error-robust physical operations and associated supporting protocols designed to tune-up and stabilize the hardware via actuation on microscopic semiclassical information in the hardware (rather than information about logical errors as in quantum error correction). The implementation of a distinct firmware abstraction layer also supports autonomy for the complete set of complex operations associated with converting exceptionally fragile physical quantum devices into robust and useful systems for algorithm developers. As it relates specifically to suppressing errors, quantum firmware may operate as a standalone function in near-term devices, or in combination with algorithmic approaches to quantum error correction (a further discussion of this interaction appears below).
Integrating quantum firmware into the quantum computing software stack is, however, not simply about achieving higher-performance hardware; quantum firmware can have substantial positive impacts on higher-level software abstractions, and can even influence overall system design. This is because the functioning of quantum firmware fundamentally transforms the behavior of the underlying hardware, and these modifications have the potential to shape the practical implementation of many higher-level abstractions such as compilation and QEC.
In the long-term these concepts also have critical impacts on the functioning of logical encoding for quantum error correction. Quantum firmware broadly exploits the fact that noise processes often vary slowly in space and time, while they can in general provide little benefit for truly stochastic errors such as energy relaxation. Thus quantum firmware works in concert with QEC to provide broad coverage of various error types, and ideally conditioning errors for QEC. 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.
However this technology evolves, there is a tremendous opportunity to exploit novel quantum control concepts at the quantum-classical interface. Considerable effort will be required to address the emerging problems in efficiently manipulating large numbers of qubits with exceptionally high fidelity. There are many lessons to be learned from across the fields of machine learning and robotic control in the drive for performance and autonomy, allowing future quantum developers to confidently abstract away the details of the underlying hardware.
The complexity of quantum computer hardware is growing rapidly, and along with it is the need for a unified framework for the execution of low-level controls. At this stage, the quantum-classical interface has been effectively "hard-coded" into each hardware system, customized to address dominant error processes and classical hardware constraints, and adopting the solutions most familiar to specialist hardware teams. Just as we have seen an explosion of capability at the application and algorithmic level with the development of efficient programming abstractions, it is likely that building a framework for standardization of quantum firmware will allow the integration of a greater diversity of technical solutions for efficient hardware manipulation from the quantum control and machine learning communities.