Update to Qiskit Runtime Primitives
Last year we introduced Qiskit Patterns as the four-step archetype for how to use quantum systems. In step 2, circuits and observables are prepared on classical computers to efficiently run on quantum hardware. This step ensures that users don’t incur unnecessary costs when making primitive (Sampler or Estimator) queries, because (potentially unbounded-cost) classical computations are done on the client side.
To further encourage this mode of operation, beginning 1 March 2024, Qiskit Runtime will require that circuits and observables are transformed to use only instructions supported by the system (referred to as instruction set architecture (ISA) circuits and observables) before being submitted to the primitives. This change also streamlines service operations to produce faster results and make more efficient use of our fleet of quantum systems.
See the transpilation documentation for instructions to transform circuits and the primitive examples to see this coupled with operator transformations.
Due to this change, the primitives will no longer perform layout or routing operations; consequently, transpilation options referring to those tasks will no longer have any effect. Users can still request that the primitives skip optimization of input circuits via options.transpilation.skip_transpilation
.