Although we talk frequently talk about the number of qubits and the quality level of the qubits when assessing the capability of a quantum computer, there are other dimensions that are important for an end user to easily and effectively use a vendor’s quantum platform for achieving a quantum solution to their difficult computational problems.

To that end, IBM has announced several new capabilities and future directions in their quantum platform that while not related to the qubit count or qubit quality will still be very helpful in improving the usefulness of their machines.

These new capabilities include the following:

  • Mid-Circuit Measurement and Qubit Reuse
  • Dynamic Circuits
  • A more sophisticated Quantum Runtime system
  • Quantum Application Modules
  • Quantum Application Services
IBM Quantum Development Roadmap. Credit: IBM

Mid-Circuit Measurement and Qubit Reuse

 In some ways, programming a quantum computer is similar to programming early classical computers in the way that programmers had to pay a lot of attention to minimize the resources required to run their program. In early classical computers, main memory was a limited resource and programmers worked hard to fit their programs to run on a machine that might only have had 16 or 64 kilobytes of memory. In a quantum computer, the total number of qubits is a constrained resource.

Mid-circuit measurement and qubit reuse was first introduced by Honeywell in 2019 with their ion trap computer. This capabilities provides for a qubit to be measured in the middle of the circuit, reinitialized to 0 and then reused in the later part of the circuit. Previously, a qubit could not be reused for something else in the program once it had been measured. In an environment where the total number of qubits are constrained the ability to reuse a qubit for a different function and measurement can be very helpful.

Example of the Bernstein-Vazirani Algorithm using Mid-Circuit Measurement and Reuse. Credit: Honeywell

Simple example of how mid-circuit measurement and reuse could be used on an implementation of the Bernstein-Vazirani algorithm. The purpose of the circuit is to determine a five bit key which is encoded via CNOT gates from some of the top five qubits to the bottom ancilla qubit. In the top diagram six qubits are needed with a measurement performed on each of the qubits. In the bottom diagram only two qubits are needed because each bit of the five bit key is encoded sequentially in the top qubit and once a bit is analyzed the qubit is reset and the circuit proceeds to analyze the next bit.

This Mid-Circuit measurement capability is available on all IBM Q machines right now.

Dynamic Circuits

The next step beyond mid-circuit measurement and qubit reuse is what IBM calls Dynamic Circuits. We would call it implementation of a Quantum IF statement. Instead of just measuring a qubit, resetting it to 0 and use it for something else, this capability will measure a qubit and then use the result to control a future operation. For example, a qubit can be measured and then be used as the control input for a CNOT gate. Implementing this capability is more challenge and IBM has indicated it won’t be available until 2022 and may not be available on some of their older machines. In additional, using this capability will require an upgrade their OpenQASM programming language with a version they call OpenQASM3. The specification for OpenQASM3 is still in draft phase, but IBM indicates it should be ready sometime in the second half of 2021.

More Sophisticated Quantum Runtime System

More and more quantum applications are using a hybrid quantum/classical approach where the same quantum program is executed multiple times with different parameters chosen by the classical computer. Common algorithms that use this approach include VQE (Variable Quantum Eigensolver) and QAOA (Quantum Approximate Optimization Algorithm). In an environment where the classical computer and the quantum computer are not co-located they can result in very slow execution.  Not only would a programmer using this approach have to contend with transit delays between the two computers, there could also be queueing delays since a new execution on the quantum computer would need to enter into the back of the queue each time a new parameter was selected.

IBM’s new Quantum Runtime System will include a classical capability with the quantum computer such that an algorithm that requires running the same program multiple times with different parameters can all run all together and not have to reenter the queue each time or suffer from transit delays between the classical and the quantum computer. In an example discussed at the Q2B conference last December, an IBM engineer indicated that this approach was able to cut down the total execution time of a Lithium-Hydride chemical simulation to 16 hours from a previous 111 days. Rigetti pioneered a similar approach in 2019 with a capability they called Colocation.

IBM has indicated that this improved quantum runtime system will be available later this year, but it is not known yet how many of the machines in their fleet will support this capability.

Quantum Application Modules

IBM had previously introduced a module called Qiskit Aqua that included a library of routines that could be used in Chemistry, Finance, Machine Learning, and Optimization application. IBM will continue to develop new library routines and expand/improve some of the existing ones.  In particular, they will include more routines in the Natural Sciences area beyond the ones presently available for Chemistry. In addition, they expect additional contributions from the open source community that will also help expand this library of routines.

Quantum Application Services

As a farther out effort, IBM plans to continue making the machines easier to use by providing Quantum Application Services for model developers. These developers are more focused on understanding the particular problem that needs to be solved rather than programmers writing code. IBM’s goal is to provide a service, where a model developer can specify a domain-specific function and the system figures out where to run it and how to do it most efficiently. To do this, IBM will supply pre-built quantum runtimes as well as pre-built quantum + HPC runtimes.

IBM goal for provide Quantum Application Modules and Quantum Application Services is to provide when they call “Frictionless Development”. They want to make application development as easy as possible for end users. Providing both of these capabilities will allow end users to work at a higher level and not worry as much about the details of the machine architecture or programming individual machine instructions so that they can be more productive.

Additional information about these developments from IBM can be found in a three blog posts on IBM’s website titled Rethinking Quantum Systems for Faster, More Efficient Execution, IBM’s Roadmap for Building an Open Quantum Ecosystem, and Quantum Circuits Get a Dynamic Upgrade with the Help of Concurrent Classical Computing. They have also published a blog post on Medium titled A New OpenQASM for a New Era of Dynamic Circuits and submitted a preprint on arXiv titled Exploiting Dynamic Quantum Circuits in a Quantum Algorithm with Superconducting Qubits.

February 4, 2021