You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Qiskit Terra has a fake provider module that contains a number of fake backends with device properties snapshots of IBM Quantum Systems. These fake backends primarily have two purposes (quoted from Qiskit/qiskit#9553):
For terra developers who use as the fake backends to test Qiskit specific functionality in the transpiler, visualization, pulse, etc. modules (e.g. using FakeSherbrooke to exercise compilation to ECR gates)
For end users who, following the model of how the fake backends are used in release notes, documentation, Qiskit textbook, want to use the fake backends as as snapshots of IBM devices
These differ mainly in that the first use case doesn't want to couple strongly to provider-specific behavior like the use of custom properties (to avoid mixing vendor- or provider-specific behavior with base terra testing and implementations) while the second explicitly does want a strong coupling between fake and real backends (to avoid having to write special case handling for the fake backends, or complicate using them to test and validate code before sending to real devices).
We plan to address this issue in the following steps:
Update existing test usage to remove IBM-derived fake backends in favor of case-specific fake backend construction (e.g. test-local fake backends to exercise specific cases) and a collection of vendor-agnostic fake backends for common cases, named for what property they help exercise (e.g. Fake500Qubits, FakeWithISwap, ...)
Migrate the existing IBM-derived fake backends (and the associated tooling) from their location in qiskit.providers.fake_provider to the qiskit_ibm_provider package
Update fake backend usage in documentation to reference new location
Deprecate IBM-derived fake backends from qiskit.providers.fake_provider
Deliverables
Each of the step of the plan will involve one or multiple pull requests to the relevant github repos (qiskit-terra and qiskit-ibm-provider. The PRs will contain documentation content (api reference, how-to guides, etc.) as well as code changes.
This project can be split into two parts. One mentee can work on step 1 for updating fake backends and another mentee can work on step 2 migrating fake backends to qiskit-ibm-provider. These two projects can be done relatively independently. I think step 1 is a bit easier to do than step 2 so it's more friendly for beginners. We ended up choosing only one mentee due to time zone constrains.
Description
This project proposal aims to address Qiskit/qiskit#9553.
Qiskit Terra has a fake provider module that contains a number of fake backends with device properties snapshots of IBM Quantum Systems. These fake backends primarily have two purposes (quoted from Qiskit/qiskit#9553):
We plan to address this issue in the following steps:
Deliverables
Each of the step of the plan will involve one or multiple pull requests to the relevant github repos (
qiskit-terraandqiskit-ibm-provider. The PRs will contain documentation content (api reference, how-to guides, etc.) as well as code changes.Mentors details
Number of mentees
21Type of mentees
This project can be split into two parts. One mentee can work on step 1 for updating fake backends and another mentee can work on step 2 migrating fake backends to qiskit-ibm-provider. These two projects can be done relatively independently. I think step 1 is a bit easier to do than step 2 so it's more friendly for beginners.We ended up choosing only one mentee due to time zone constrains.- Mentee 2- Required:- Familiar with Python development- Nice to have:- Experience in contributing to Qiskit