Qiskit / qiskit-ibm-runtime

IBM Client for Qiskit Runtime
https://docs.quantum.ibm.com/api/qiskit-ibm-runtime
Apache License 2.0
140 stars 149 forks source link

Make fake backends more like IBMBackend #1605

Closed jyu00 closed 1 week ago

jyu00 commented 3 months ago

What is the expected feature or enhancement?

The fake backends in this repo are meant to represent IBM backends and be similar to IBMBackend. In addition to inheriting BackendV2, IBMBackend also has a number of additional methods that should be added to fake backends. Note that this update only needs to apply to V2 fake backends (since we are deprecating V1).

Acceptance criteria

HuangJunye commented 2 months ago

This would be great. I am excited to see this development! Another thing came to my mind that is related to this is the ability to update calibration. The current implementation of fake backends uses hard coded snapshot of calibration results and I have seen many users didn't know that and use fake backends to benchmark their real experiment. The current approach to get the latest calibration for simulation is AerSimualtor.from_backend(real_backend). If fake backend inherits IBMBackend perhaps this is an opportunity to get the latest calibration results (or even better, get calibration results of a certain date, close to the date user performed experiments).

HuangJunye commented 2 months ago

Just randomly came across a user trying to create a fake backend with latest calibration results by monkey patching with calibration results downloaded from IQP computer resource page: https://egrettathula.wordpress.com/2023/01/10/refreshable-fake-backends/

yaelbh commented 2 weeks ago

Since #1676 has been closed as a duplicate, I'm linking here a comment that I left there: https://github.com/Qiskit/qiskit-ibm-runtime/issues/1676#issuecomment-2111656759.