Qiskit SDK v2.0 Released: A New Era For Quantum Developers

IBM is announced that Qiskit SDK v2.0. In addition to offering notable performance enhancements over its predecessor, second major version release establishes the foundation for strong new tools and features that will be revealing in the upcoming months.

A recap of the release lifecycle for Qiskit

IBM will go over the interesting new features that Qiskit SDK v2.0 offers below. But Qiskit SDK v2.0 is maybe even more concerned with getting rid of the old than it is with ringing in the new.

For a recap of versioning approach, the Qiskit SDK switched to the Semantic Versioning design scheme last year simultaneously with the release of its first major version. According to this method, releases are classified as major, minor, and patch versions using the format Major version releases include Application Programming Interfaces modifications that are incompatible with earlier versions. It also agreed to 18-month support cycles as part of this shift. The Qiskit team will continue to maintain each major version for an extra six months following the release of its successor, which means that a major version is only issued once a year and major versions are the only releases that contain breaking changes.

The Best New Features & Enhancements

The following are the most significant updates that will discuss in this article:

A brand new C API

This significant release begins with the introduction of a C-language API for interacting with the SparseObservable class. This new feature is only the beginning of creating a strong C interface for the Qiskit SDK; as it move through the remaining v2.x series, you can anticipate significant extensions of the new C interface. It anticipate that work will be crucial in facilitating the search for quantum advantage and supporting large-scale quantum experiments.

Elimination of outdated features

To allow us to keep enhancing the SDK, additional deprecation warnings were added to many of the minor releases in the prior v1.x series. All of the deprecated classes, functions, and modules are being eliminated with this major version.

Continuous enhancements in performance

A 2x speedup for circuit creation benchmarking jobs and a 20% speedup for translation benchmarking tasks are the results of ongoing efforts to port more and more of the Qiskit SDK’s functionality to Rust.

Presenting stretches and boxes

In order to prepare for future modifications to dynamic circuits on IBM QPUs, Qiskit SDK v2.0 offers useful additional options for structuring your circuits.

Making Revolutionary Changes

All of the deprecations IBM has mentioned since the introduction of Qiskit SDK v1.0 have been eliminated in Qiskit SDK v2.0 due to the fact that this is a significant release.

As previously said, this is a crucial component of the new, more reliable release cycle that it debuted with Qiskit SDK v1.0 last year. Because of this, you only have to adjust to breaking changes once a year, which guarantees that you have enough time to prepare for them with deprecation warnings in minor version releases. IBM will discuss some of the biggest changes below, but if you want to review the complete list of breaking changes and find out how to adjust your projects, check out the full release notes and migration guide.

First, some of the Qiskit SDK’s modules have been completely eliminated. The modules in question are qiskit.pulse, qiskit.qobj, and qiskit.assembler. Since the qobj and assembler modules were closely linked to the REST API specification for the previous IBM Quantum Experience, which was the forerunner of the current IBM Quantum Platform, and are essentially legacy paths that are no longer relevant, their removal is part of ongoing efforts to clean up the interfaces for the transpiler.

In the same vein, the BackendV1, ProviderV1, and all associated models and utilities have been removed from the Qiskit SDK v2.0 release since they were also based on the previous IBM Quantum Experience. This indicates that every object in qiskit.providers.models and every fake backend class based on BackendV1 in qiskit.providers.fake_provider have been eliminated.

Also eliminated are the Primitive V1 implementations and associated aliases, which have been replaced by their V2 equivalents. It’s crucial to remember that only the Primitive V1 implementations not the definitions have been eliminated in this case. The following classes are included in this removal:

  • Estimator, in favor of the V2 equivalent, StatevectorEstimator
  • Sampler, in favor of the V2 equivalent, StatevectorSampler
  • BackendEstimator, in favor of the V2 equivalent, BackendEstimatorV2
  • BackendSampler, in favor of the V2 equivalent, BackendSamplerV2
  • BaseEstimator, which was an alias for BaseEstimatorV1
  • BaseSampler, which was an alias for BaseSamplerV1

Eliminating the Qiskit Pulse

The elimination of the Qiskit pulse module is one of the most significant breaking changes to the Qiskit SDK v2.0 release. Following the recent removal of Pulse-level control from IBM Quantum QPUs, this is part of its efforts to continue providing higher-level services that facilitate utility-scale experimentation and the pursuit of quantum advantage.

Although Qiskit Pulse offers useful features for hardware manipulation and pulse-level access to qubit data, these features are not free. When you attempt to build Pulse programs larger than 100 qubits, the size of the data model rapidly becomes unmanageable, and the special operations made possible by Qiskit Pulse are costly. Important features that IBM has sought on hardware roadmap have been impeded by these inefficiencies.

Hemavathi
Hemavathi
Myself Hemavathi graduated in 2018, working as Content writer at Govindtech Solutions. Passionate at Tech News & latest technologies. Desire to improve skills in Tech writing.
RELATED ARTICLES

Page Content

Recent Posts

Index