Search

Quantum in Context: Quantum Software Development Kit Qiskit Turns 1.0

Quantum in Context: Quantum Software Development Kit Qiskit Turns 1.0

The News: After putting version 0.3 on GitHub in 2017 and more than six years of community development, IBM has released the open-source Qiskit 1.0 software development kit (SDK). This release brings stability, performance improvements and heralds a planned cadence for future major and minor releases. See the announcement, release notes, and migration guide on the IBM Quantum website.

Quantum in Context: Quantum Software Development Kit Qiskit Turns 1.0

Analyst Take: It’s not unusual for software to be in a pre-release for years; Google Mail was in beta from 2004 to 2009. Qiskit was in beta for what I consider the first generation of quantum computing, when machines scaled from 5 qubits to more than 1000 and we started seeing partial implementation of logical qubits. IBM’s move with Qiskit to version 1.0 is what we now expect for any professionally maintained software, whether closed or open source. The improvements and stability in the API and the reliable release schedule should give quantum developers the confidence to move ahead with projects that feel much less experimental than in the past.

Qiskit by the Numbers

Blake Johnson, Quantum Engine Lead at IBM Quantum, shared the following statistics with me during a private briefing on March 21:

The Importance of Quantum Software Development Tools

An SDK is a set of tools and libraries that simplifies how the writing of applications to run on computer hardware. Microsoft’s Visual Studio and Apple’s Xcode are examples of such kits that developers have used for many years to code classical applications.

Qiskit includes a set of Python libraries that allow coders to create and execute circuits on quantum computing hardware or simulator backends. Used in this context, a quantum simulator is classical software that responds to instructions as if it were real quantum hardware. There are many varieties of quantum simulators, and Qiskit ships with seven of them. The Qiskit architecture allows a coder to write high-level Python code and decide which hardware or simulator backend to use. In this sense, Qiskit is a de facto standard for the interface between the quantum circuit description and the circuit execution model.

I did a quick review of the Python Package Index and found Qiskit backend support for quantum hardware from vendors including Alice & Bob, Alpine Quantum Technologies, Amazon Braket, IonQ, IQM, Microsoft Azure Quantum, Oxford Ionics, and Rigetti Computing. It is usually the provider’s responsibility to develop and maintain the backend. NVIDIA provides a cuQuantum quantum circuit simulator backend for Qiskit.

Why would IBM build a software development kit and then allow its competitors to use it? The answer is easy and well-established: open source. IBM benefits by having a community of active contributors to Qiskit. The software gets better, and IBM can use that improved code. It is otherwise IBM’s responsibility to ensure that Qiskit runs well on its quantum hardware, as with the other vendors. This is similar to the model allowing Linux to run on many classical computer systems.

Preparing Quantum Development Software for Bigger and Better Quantum Systems

Writing a basic software library that supports quantum gates and circuits for 5 or 10 qubits is very straightforward. There are some tricky bits, but I need not be too careful with my implementation because there are so few qubits. Things run fast enough on the classical laptop or desktop on which I write my Python code. As I use more qubits, I may realize that some parts of the libraries or tools are lagging. Perhaps my code is quadratic in the number of qubits, meaning the time or memory use increases as the square of the qubit count.

As an example: If the computation time takes 0.1 times the square of the number of qubits in seconds, for 5 qubits, this is 2.5 seconds. For 20 qubits, it is 40 seconds. The situation is even worse if my implementation is exponential in the qubit count. Suppose the time is 0.1 times 2 raised to the power equal to the number of qubits. For 5 qubits, the execution time is 0.1 times 25, which equals 3.2 seconds. For 20 qubits, the time would be 104,857.6 seconds, or approximately 29 hours. Something has to change to make this code usable.

Qiskit 1.0 has improved many internal algorithms and refactored the code for efficiency. Rather than having a pure Python implementation, the developers focused on rewriting more of the system using the Rust language with a Python interface over it. Good Rust code is much faster and memory-efficient than Python. This way, developers get Python language, convenience, and tools but with better performance from Rust underneath.

The X.Y.Zs of Quantum Software Versions

You may have used software or apps that have version numbers like 3.1.4. This numbering follows the X.Y.Z convention of a major version (X = 3), minor version (Y = 1), and patch version (Z = 4). At the time of writing, Qiskit is at version 1.0.2. IBM plans to do patch versions when necessary, minor versions every three months for enhancements and bug fixes that do not break correct user code, and major versions once a year. Developers beware: Major versions may break existing code, and it behooves IBM to give plenty of warning and support to coders affected by the changes.

Key Takeaway: Qiskit 1.0 Provides a Solid Foundation for Developing Software for the Next Generation of Quantum Computing Systems

Qiskit 1.0 is the open-source quantum software development kit’s most stable and best-performing version yet. IBM was the first to break the 1,000 qubit barrier with its experimental Condor chip for gate-and-circuit quantum computers, and other vendors will soon be scaling up their systems to that level and beyond. We need quantum development tools that scale similarly to systems that provide utility and eventual Practical Quantum Advantage.

Disclosure: The Futurum Group is a research and advisory firm that engages or has engaged in research, analysis, and advisory services with many technology companies, including those mentioned in this article. The author is a former IBM employee and holds an equity position in the company. The author’s book Dancing with Python introduces quantum software development using Qiskit.

Analysis and opinions expressed herein are specific to the analyst individually and data and other information that might have been provided for validation, not those of The Futurum Group as a whole.

Other Insights from The Futurum Group:

Quantum in Context: Pasqal Is the Latest to Publish a Roadmap

AI in Context: Remarks on the NVIDIA GTC 2024 GenAI and Ethics Panel

Quantum in Context: Rigetti Q4 2023 Earnings and Other Numbers

Author Information

Dr. Bob Sutor has been a technical leader and executive in the IT industry for over 40 years.Bob’s industry role is to advance quantum and AI technologies by building strong business, partner, technical, and educational ecosystems. The singular goal is to evolve quantum and AI to help solve some of the critical computational problems facing society today. Bob is widely quoted in the press, delivers conference keynotes, and works with industry analysts and investors to accelerate understanding and adoption of quantum technologies.Bob is the Vice President and Practice Lead for Emerging Technologies at The Futurum Group. He helps clients understand sophisticated technologies in order to make the best use of them for success in their organizations and industries. He is also an Adjunct Professor in the Department of Computer Science and Engineering at the University at Buffalo, New York, USA.More than two decades of Bob’s career were spent in IBM Research in New York. During his time there, he worked on or led efforts in symbolic mathematical computation, optimization, AI, blockchain, and quantum computing. He was also an executive on the software side of the IBM business in areas including middleware, software on Linux, mobile, open source, and emerging industry standards. He was the Vice President of Corporate Development and, later, Chief Quantum Advocate, at Infleqtion, a quantum computing and quantum sensing company based in Boulder, Colorado USA.Bob is a theoretical mathematician by training, has a Ph.D. from Princeton University, and an undergraduate degree from Harvard College.

He’s the author of a book about quantum computing called Dancing with Qubits which was published in 2019, with the Second Edition scheduled for release in April, 2024. He is also the author of the 2021 book Dancing with Python, an introduction to Python coding for classical and quantum computing.Areas in which he’s worked: quantum computing, AI, blockchain, mathematics and mathematical software, Linux, open source, standards management, product management and marketing, computer algebra, and web standards.

SHARE:

Latest Insights:

Omar Rawashdeh, PowerEdge Product Planner at Dell, joins Dave Nicholson and Lisa Martin to shed light on Dell's latest PowerEdge Servers, highlighting the innovative T160/R260 PE servers and their pivotal role in modern IT infrastructure.
Jon Siegal, SVP Dell Portfolio Marketing at Dell, and Jonathan Huang, MD/PhD Candidate at Northwestern Medicine, share their experiences on leveraging AI to advance patient care. Their insights highlight significant AI-driven innovations in healthcare.
Dell’s Justin Bandholz joins Dave Nicholson and Lisa Martin to share his insights on Dell's innovative new CSP Edition products — the PowerEdge R670 & R770, designed specifically for the challenges faced by Cloud Service Providers.
Christina Day, Director of DRAM Product Marketing at Samsung Semiconductor, joins hosts Dave Nicholson and Lisa Martin to share her insights on how advanced memory technology is critical for accelerating and enhancing AI capabilities, highlighting the potential of Processing-In-Memory (PIM).