Advanced runtime options

An overview of how Q-CTRL performance management works with Qiskit Runtime advanced options

When calling the Qiskit Runtime primitives, you can pass in options by using the Options class or when using the run method. Two of the most popular options are optimization_level and resilience_level, which are different compilation and error mitigation techniques offered directly through Qiskit Runtime.

With Q-CTRL's performance management, you don't need to specify any options. The circuit execution is always optimized for the chosen backend. This allows you to focus on the algorithm and use case, rather than how to get the best performance out of the hardware.


Note: Because Q-CTRL performance management is completely automated, setting and passing options is not supported. Error suppression and mitigation are applied regardless of options specified. This will on occasion include additional runtime, similar to the default resilience_level=1 on QiskitRuntime.


The following table lists the generally available primitive options and the expected values for instances configured with Q-CTRL:

PrimitiveAvailable optionsQ-CTRL expected input
Optimization level0-33
Resilience level0-31

Setting optimization or resilience level to 0 will result in a runtime error. Other values besides the "Q-CTRL expected input" will trigger a runtime warning.

If you do want to try out the default optimization and resilience settings on Qiskit Runtime, you can toggle between instances and compare results, as shown in the Get started guide.

Was this useful?

cta background

Ready to use Q-CTRL Embedded?

Maximize the utility of IBM Quantum services with Q-CTRL performance management.

Go to IBM Cloud