Fake backends are just wrappers around the Aer simulator. However they themselves do not return simulator=True. This is problematic because there are cases where knowing if the execution is on a simulator, as opposed to a real device, can be used to select methods that are more efficient. Example, using independent (single-qubit) calibrations in M3 vs. the balanced method used on real-hw.
How can we reproduce the issue?
from qiskit.providers.fake_provider import FakeKolkata
backend = FakeKolkata()
backend.configuration().simulator
yields False. As a corollary, on V2 fake backends, there is no configuration, so it is not clear how to determine if a V2 backend is a simulator or not.
What should happen?
Being a simulator, the fake backends should indicate this in the configuration, or wherever the same info is found on V2 backends.
Environment
What is happening?
Fake backends are just wrappers around the Aer simulator. However they themselves do not return
simulator=True
. This is problematic because there are cases where knowing if the execution is on a simulator, as opposed to a real device, can be used to select methods that are more efficient. Example, usingindependent
(single-qubit) calibrations in M3 vs. thebalanced
method used on real-hw.How can we reproduce the issue?
yields
False
. As a corollary, on V2 fake backends, there is noconfiguration
, so it is not clear how to determine if a V2 backend is a simulator or not.What should happen?
Being a simulator, the fake backends should indicate this in the configuration, or wherever the same info is found on V2 backends.
Any suggestions?
No response