Rethinking quantum systems for faster, more efficient computation
The IBM Quantum team pioneered quantum computing access on the cloud nearly five years ago. Today, members of our community execute billions of circuits each day trying to solve problems in chemistry, optimization, and finance, and have begun developing the first stages of a quantum computing industry. Our team now has defined an aggressive roadmap toward a 1,121-qubit machine and beyond—but we need to rethink our software if we hope to maximize the power of what cloud-based quantum computing can do.
Our team is embarking on a journey toward dramatically more efficient execution of quantum workloads. Real workloads require interactions between quantum and classical processors. This is neither surprising nor a novel statement, as even “traditional” quantum algorithms like Shor’s algorithm have this structure. However, the advent of near-term applications, such as variational methods, has elevated the importance of efficient execution of jobs with this interactive structure in its inner loop.
As we looked closer at the kinds of jobs our systems execute, we noticed a richer structure of quantum-classical interactions including multiple domains of latency. These domains include real-time computation, where calculations must complete within the coherence time of the qubits, and near-time computation, which tolerates larger latency but which should be more generic. The constraints of these two domains are sufficiently different that they demand distinct solutions.
We’re re-thinking the hardware and software architecture of IBM Quantum systems to efficiently handle jobs containing both near-time and real-time elements. For the near-time domain we are exploring concepts for a new runtime that would allow for program execution on classical resources co-located with our quantum hardware. This model removes trips between the user’s computer and the quantum hardware for interactive programs, offering significant speed advantages. These programs will be re-usable, allowing people to invoke them many times with different input parameters. We will have more to say about this runtime as we refine our ideas through several iterations of prototypes, but they will define what we are calling a quantum node, which will be the core of future quantum systems showing that a quantum system comprises of quantum processors, software and hardware control stack, and classical computation resources.
For the real-time domain, we are proposing a significant update to the OpenQASM quantum assembly language. This new OpenQASM3 allows for description of a much broader family of circuits containing concurrent classical computation. This is a critical capability to master as we build toward error-mitigated and error-corrected quantum computation. It requires more than just new syntax for circuit construction, though, but also significant changes in the software and hardware control stack that compiles and executes OpenQASM3 circuits. This work is already under way.
Full support of real-time computation in OpenQASM3 will be an extended journey, but you don’t have to wait months to begin taking advantage of the first fruits of this labor. In recent weeks we have deployed conditional reset instruction across our fleet of quantum systems. This is a first usable example of simple real-time computation that depends on the low-latency movement of measurement data within our control stack. Already with this feature you can re-use qubits within a circuit, and significantly increase the rate of circuit execution on IBM Quantum hardware.
The net result of the solutions we are developing for near-time and real-time computation will be dramatically more efficient execution of workloads on IBM Quantum systems, allowing us to execute in hours some tasks that previously took days. We hope that these advances will allow us to make quantum computation truly frictionless, where developers can seamlessly take advantage of a quantum systems power without having to worry about the intricacies of the hardware they’re programming on. We invite you to join us by running circuits on our quantum systems either by signing up for the open systems here or by joining the IBM Quantum Network to use our advance quantum systems.