1
$\begingroup$

According to this IBM roadmap (https://research.ibm.com/blog/quantum-development-roadmap), the feature of dynamic circuits should be ready by 2022. Now, it is approaching the year end soon, but I still get error messages when running a dynamic circuit.

Do you know if the feature is actually ready by now?

$\endgroup$
2

1 Answer 1

2
$\begingroup$

Support for dynamic circuits has been announced during 2022 IBM Quantum Summit. See here (video) and here (blog post).

In IBM Quantum systems list, systems that support running dynamic circuits have the label "OpenQASM 3":

enter image description here

Note, however, that you may face some issues if you try to execute your dynamic circuits. You should take these two points into consideration to avoid them:

  1. If you follow the old way to load your account, the list of backends that support dynamic circuits will be empty. So, if your run:
from qiskit import IBMQ
provider = IBMQ.load_account()

backends = provider.backends(dynamic_circuits = True)
backends

The result will be

[]

Instead, use the new IBMProvider:

from qiskit_ibm_provider import IBMProvider

provider = IBMProvider()

# Get backends that support dynamic circuits:
backends = provider.backends(dynamic_circuits = True)
backends

And the result will be something like

[<IBMBackend('ibmq_manila')>,
 <IBMBackend('ibm_nairobi')>,
 <IBMBackend('ibm_oslo')>]
  1. When you call backend.run() method you will have to tell that you are running a dynamic circuit by passing the keyword argument dynamic = True:
job = backend.run(transpiled_circuit, dynamic = True)
$\endgroup$
2
  • $\begingroup$ You should do dynamic=True instead of program_id="qasm3-runner" since the latter is not documented. $\endgroup$
    – jyu00
    Dec 20, 2022 at 14:54
  • $\begingroup$ Thank you @jyu00 for the tip. Answer is updated. $\endgroup$ Dec 20, 2022 at 16:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.