Skip to content

Multiple calls to the API if Pulse is False #2260

@dcmckayibm

Description

@dcmckayibm

Describe the bug

From @wshanks: The code that decides whether to request the defaults from the API or not keys off the local defaults being None, but when the backend has pulse disabled the defaults from the API are None so the code will always reach out to the API again on every reference to the target/defaults. Because of this we saw degradation in performance of qiskit-experiments for certain backends.

File ~/miniforge3/envs/qiskit_2_0/lib/python3.10/site-packages/qiskit_ibm_runtime/ibm_backend.py:442, in IBMBackend.defaults(self, refresh)
    428 """Return the pulse defaults for the backend.
    429 
    430 The schema for default pulse configuration can be found in
   (...)
    439     The backend pulse defaults or ``None`` if the backend does not support pulse.
    440 """
    441 if refresh or self._defaults is None:
--> 442     api_defaults = self._api_client.backend_pulse_defaults(self.name)

Steps to reproduce

See above. I was running 0.37.0, but Doug also reproduced.

Expected behavior

Suggested solutions

Additional Information

  • qiskit-ibm-runtime version: 0.37.0
  • Python version:
  • Operating system:

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions