IBM Broadens Availability of Its Quantum Computing Platform for External Developers

IBM Broadens Availability of Its Quantum Computing Platform for External Developers

IBM Broadens Availability of Its Quantum Computing Platform for External Developers


# Quantum Computing and Software Stacks: An In-Depth Look at IBM’s Qiskit and More

The field of quantum computing is advancing at a rapid pace, with major players such as IBM, Google, and Microsoft at the forefront. While the hardware aspect of quantum computing often dominates discussions, the software that manages and enhances these systems is of equal importance. Operating a quantum computer necessitates a considerable investment in classical computing resources due to the extensive measurements and control tasks required for executing and interpreting quantum algorithms. This is where software stacks, such as IBM’s Qiskit, become essential.

## The Significance of Software in Quantum Computing

As mentioned earlier this year, quantum computing transcends merely constructing powerful quantum processors. The true challenge resides in managing these processors and comprehending the information flow between the quantum and classical realms. While it is feasible to run algorithms on quantum hardware by establishing a complete set of instructions, many users prefer to concentrate on algorithm design instead of the complex specifics involved in operating individual quantum components.

Jay Gambetta, IBM’s Vice President of Quantum Computing, addressed this concern: “If everyone has to dive deep into understanding noise, [use] performance management tools, and learn how to compile a quantum circuit using hardware, they end up needing to be experts in too many areas to achieve algorithm discovery.” Essentially, the intricacy of quantum hardware should not hinder the progress of algorithm development.

To tackle this, organizations like IBM are crafting software that transforms abstract representations of quantum algorithms into the series of commands necessary for executing them on quantum hardware. IBM’s approach to this issue is **Qiskit**, an open-source software development kit (SDK) that has also been embraced by other companies.

## What Functions Does a Quantum Software Stack Perform?

It’s easy to regard Qiskit as a quantum compiler, and at a fundamental level, that analogy holds water. Similar to a classical compiler, Qiskit takes human-defined algorithms and translates them into instructions suitable for quantum hardware execution. However, notable distinctions exist between classical and quantum compilers.

In classical computing, a compiler generates code that the processor transforms into internal directives, which are then employed to configure the hardware and carry out operations. Programmers do not directly manage the hardware or the sequencing of instructions. Conversely, quantum computing demands a more hands-on approach. Each operation on a quantum processor is directed by external hardware, usually utilizing microwave or laser pulses.

Thus, software like Qiskit or Microsoft’s Q# not only compiles code; it also translates code into commands sent to the external hardware managing the quantum processor. These compilers must also keep track of processor usage, as quantum operations (known as gates) occur on individual qubits or pairs thereof. The selection of specific physical qubits can greatly influence outcomes due to discrepancies in hardware performance.

In summary, the software stack for quantum computing encompasses more than mere code compilation. It is responsible for managing hardware-specific nuances, optimizing the execution of quantum gates, and addressing the unavoidable noise and errors inherent in quantum operations.

## The Growing Importance of Quantum Software

The significance of quantum software stacks like Qiskit is predicted to grow considerably in the years ahead. Companies are working on hardware qubit designs capable of identifying common errors, and advancements are being made in developing **logical qubits** that facilitate error correction. As these technologies evolve, quantum software stacks will need to adapt accordingly, supporting these developments without necessitating algorithm developers to grapple with error correction complexities manually.

### Evaluating the Software Stack

Recently, IBM implemented substantial updates to Qiskit, including a complete rewrite of the stack in **Rust** (replacing its initial Python foundation) to enhance performance. To assess the efficacy of these modifications, IBM devised a cross-platform benchmarking suite that evaluates the capability of various software stacks in generating and optimizing quantum circuits.

The benchmarking suite focuses on two primary metrics: the number of gate operations necessary for executing an algorithm and the duration required to convert abstract quantum circuits into executable commands. Fewer gate operations typically yield better results, as each additional operation increases the risk of errors.

IBM’s evaluations included seven distinct quantum software stacks, with Qiskit delivering strong performance, yet the findings underscored the trade-offs between execution speed and optimization effectiveness. For instance, **Staq** excelled in circuit-building speed but required a greater number of operations to execute algorithms. Conversely, **Tket** was slower in circuit construction but generated algorithms that needed fewer operations, particularly when targeting non-IBM hardware.

These benchmarks offer significant insights into the current landscape of quantum software, and given that many of these toolkits are open-source, there is considerable potential for cross-pollination of ideas and enhancements among varying platforms.

## Expanding Access to the Software Stack

In addition to the benchmarking efforts, IBM has broadened access to its software stack for third-party developers. This initiative allows users to augment Qiskit’s capabilities with specialized modules. Currently, IBM supports