Search
Close this search box.

Quantum in Context: IBM’s New Qiskit Functions Accelerate Development

Quantum in Context IBM’s New Qiskit Functions Accelerate Development

Analyst: Dr. Bob Sutor
Publication Date: September 17, 2024
Document #: MCNBS202409

IBM’s introduction of Qiskit Functions marks an attempt by the company to produce a catalog of cloud services for quantum computing that depends on the company’s own Qiskit Runtime. Will it be populated by a rich selection of quantum application, circuit, and control code that will attract and keep more developers on the platform?

What Is Covered in This Article:

  • The Qiskit Open-Source Quantum Development Toolkit and IBM’s Qiskit Runtime
  • How developers extend their own work via code written by others
  • Qiskit Functions and the initial services available

The News: On September 16, IBM announced the availability of the first wave of Qiskit Functions, managed abstracted quantum services provided by the company and third-party partners for accelerating development workflows. The initial round of services includes functions for Chemistry and Optimization applications and several low-level functions for error suppression and mitigation. For additional details, see the IBM Quantum Research blog post “Announcing the Qiskit Functions Catalog.”

Quantum in Context: IBM’s New Qiskit Functions Accelerate Development

Analyst Take: With technology as new and quickly evolving as quantum computing, we cannot expect developers to write and rewrite the non-core code they need to support their applications. While open-source libraries in languages such as Python can help the devs, users require high-performance and tested runtime functionality created by experts. Qiskit Functions is a solid attempt by IBM to provide such a collection of runtime services. The initial offering is small but should increase healthily, especially after the IBM Quantum Developer Conference 2024 in November.

Qiskit

Qiskit originally stood for “Quantum Information Science Kit” and is a quantum software development kit (SDK). IBM put the initial source code on GitHub in 2017 under the Apache License 2.0. For most of its life, it was a set of libraries primarily in Python, though IBM has rewritten much of the underlying code in Rust since the 1.0 release earlier this year for faster performance and to handle larger circuits with more qubits.

Every metric I have ever seen has put Qiskit as the number one quantum SDK, with the most downloads and users. Its main competitors are Google Cirq, Xanadu Pennylane, and Microsoft Q#. IBM has built a global ecosystem of tens of thousands of developers through an online textbook, challenges, videos, and courses. There are at least a dozen books about the SDK, with translations into many languages. My own book Dancing with Python: Learn to Code with Python and Quantum Computing teaches classical and quantum coding and uses Qiskit examples.

The Qiskit software architecture allows quantum computing hardware vendors to build custom backends via Python libraries, allowing developers to use the SDK to write quantum code that runs on multiple platforms. The Python Package Index includes many of these libraries, including those for IonQ, Rigetti Computing, Amazon Braket, Alpine Quantum Technologies, and Quantinuum.

Writing Quantum Applications and the Qiskit Runtime

For many years, the sequence of coding and running quantum circuits on IBM hardware looked like this:

  1. Learn Python
  2. Install the Qiskit Python libraries
  3. Learn quantum computing and how to do it via Qiskit
  4. Write your Python code in an editor like Visual Studio Code; I have been coding for decades, and this is the best programmer’s editor I have ever used
  5. Within your code, create quantum circuits via Qiskit methods and functions
  6. Via Qiskit, choose a quantum simulator or computer and run your code
  7. Debug, going back to step 5, if necessary
  8. Do something with the results of the quantum computation.

Other than step 6, almost everything happened on your laptop or desktop computer. The services for executing the code were almost all about controlling the job and where it ran. Suppose your overall local application is repeatedly called a quantum computer on the cloud. In that case, each iteration had a significant overhead as each circuit moved across the Internet, waited in a queue, ran, and had the server return the result.

As with many kinds of computing, the code you write is not what runs directly on the hardware. Qiskit translates your circuit into an intermediate form, optimizes it to a degree you can specify, and then creates the sequence of instructions that runs on the hardware. The final form is similar to what we would classically call machine code, and you can program that in close-to-the-hardware classical assembly language if you wish. While the high-level Qiskit libraries are in Python and often wrap around Rust code, you can also program using OpenQASM (Open Quantum ASseMbly language). OpenQASM and compiled Qiskit give developers very fine control over quantum computing hardware and allow partial remediation of errors.

In 2022, IBM introduced the Qiskit Runtime. It allows you to push the execution of much more of your quantum application onto the cloud. Qiskit Runtime executes iterative code close to the quantum computer, removing much of the overhead. It also allows you to invoke quantum services already resident in the cloud. This simplifies your code and lets you use third-party features to enhance or improve what your code does or how well it executes.

While Qiskit itself is open source, Qiskit Runtime is not. Qiskit Runtime is an infrastructure service implemented to execute the primitives introduced in the Qiskit SDK efficiently on IBM Quantum hardware. Base Primitives are made available in the open-source Qiskit SDK and can be used to implement services for other hardware. Alpine Quantum Technology and Amazon Bracket each use these primitives to create their own services.

IBM encourages developers to make Qiskit Runtime the standard way they execute their quantum applications.

Quantum in Context: IBM’s New Qiskit Functions Accelerate Development
Image Source: IBM

Qiskit Functions

Qiskit Functions uses the Qiskit Runtime model to deliver quantum functionality at runtime. IBM divides Qiskit Functions into two categories: application functions and circuit functions.

In this first release, the application functions are

The circuit functions are

  • Error suppression, by Q-CTRL,
  • Error mitigation, by Algorithmiq,
  • Error suppression and mitigation, by Qedma, and
  • Error suppression, mitigation, and AI circuit optimization, by IBM.

This first release is weighted toward preventing errors or reducing their effects. This makes sense since error correction and fault tolerance are major research areas for quantum computing. You need not correct errors that don’t exist. I consider many of the circuit functions to be control functions, and I think they would have been better described that way by IBM.

The subsequent additions to Qiskit Functions should lean more toward applications than low-level circuit support. While IBM understands that its users are often physicists or quantum computational scientists, it must demonstrate that Qiskit Functions can accelerate the development of applications that users need. Perhaps the name for such developers is “quantum data scientists,” as IBM suggests, though I think “quantum application engineers” is a better label.

Repositories and catalogs must be curated. While the Qiskit Functions collection has six entries now, there will be many more if the program is successful, which I think it will. IBM or a contracted third party must ensure all entries are versioned, updated with Qiskit and IBM Quantum hardware, or removed.

For additional information, see the follow blog post and press releases:

What to Watch

  • Can IBM attract additional third parties to the Qiskit Functions platform?
  • Will authors of Qiskit Functions feel they are adequately compensated for being part of the program?
  • Will the Qiskit Functions get promptly updated to match the development of Qiskit itself?
  • Will third-party developers feel locked into the IBM Quantum offering, given the increasing number of systems offered by other vendors?

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 does not hold any equity positions with any company mentioned in this article.

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: A Qubit Primer

Quantum in Context: IBM Extends Qiskit 1.0 via AI Tools

Quantum in Context: Quantum Software Development Kit Qiskit Turns 1.0

Author Information

Dr. Bob Sutor

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 released in March 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:

Frank Geraci, President at Cronos, joins David Nicholson to share his insights on Huddle, a groundbreaking Smartsheet solution set to redefine configuration management, version control, and the use of Smartsheet portals.
Cicero, Director of Product Marketing at Smartsheet joins David Nicholson to share his insights on ENGAGE 2024. Discover the groundbreaking announcements and the unique energy that makes ENGAGE an unmissable event.
Jennifer Stockton and Courtney Finger share how Smartsheet transformed Conga's marketing operations from "chaos to collaboration," highlighting the pivotal role of Smartsheet in streamlining processes and enhancing creativity at scale.
Amilcar Alfaro, Sr. Director, Product Marketing at Smartsheet, joins Keith Townsend to share insights on the crucial updates from ENGAGE 2024, emphasizing the value of enterprise-grade scale and the platforms' user-friendliness.