-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Description
What should we add?
In order to improve the user-friendliness of fake backends, #9553 presents a multi-step plan to migrate them to the provider. This plan includes the creation of new, non-provider specific fake backends to replace the provider-specific ones in our suite of unit tests, the migration of the provider-specific fake backends to qiskit-ibm-runtime
, followed by their deprecation and removal in Qiskit.
Step 1: Introduce alternatives to provider-specific fake backends
The strategy to follow will be different for fake backends of type V1
and V2
:
V2
: Their use in tests can be replaced with a fake backend generator/ configurable fake backend. The ground work was laid out in a community PR, and I am taking over the task together with @HuangJunye.V1
: All uses of V1 backends will be replaced with a few representative fake backends, as the internal structure ofBackendV1
does not easily allow for a backend generator.
To make the review process a bit more manageable, the work has now been divided into 3 PRs, where V1 and V2 changes can be reviewed independently:
- 1. Add V2 generic backend: Add fake generic and modify tests #10266. To be backported to 0.46.
- 2. Update rest of V2 tests: Update remaining unit tests to use
FakeGeneric
#10918 (blocked by Add fake generic and modify tests #10266). To be backported to 0.46. - 3. Add V1 "generic" backends and update tests: Add generic V1 Fake Backends, replace use in tests #10952. To be backported to 0.46.
- 4. Modify fake backend visual tests and improve documentation (included in removal PR Remove provider-specific fake backends,
FakeProvider
class and related tools in 1.0 #11376)
Step 2: Migrate IBM-specific fake backends to qiskit-ibm-runtime
, deprecate and remove in Qiskit 1.0
- Migration PR: Migrate fake backends from
qiskit.providers.fake_provider
qiskit-ibm-runtime#1140 - Deprecation PR: Deprecate provider-specific fake backends,FakeProvider class and related tools in 0.46 #11381
- Removal PR: Remove provider-specific fake backends,
FakeProvider
class and related tools in 1.0 #11376