measurement_parallelization

measurement_parallelization#

Module: iqm.qrisp_iqm.passes

iqm.qrisp_iqm.passes.measurement_parallelization(qc: QuantumCircuit) QuantumCircuit#

Combine consecutive measurements into single multi-qubit measurements.

This transpilation pass optimizes circuit execution on IQM hardware by collecting consecutive measurement operations and combining them into single multi-qubit measurement operations. This allows the hardware to perform parallel readout, reducing overall execution time.

Parameters:

qc (QuantumCircuit) – The input quantum circuit containing measurement operations.

Returns:

A new circuit where consecutive measurements have been combined into multi-qubit measurement operations.

Return type:

QuantumCircuit

Examples

>>> from iqm.qrisp_iqm import measurement_parallelization
>>> from qrisp import QuantumCircuit
>>>
>>> # Create a circuit with individual measurements
>>> qc = QuantumCircuit(3)
>>> qc.h([0, 1, 2])
>>> qc.measure(0)
>>> qc.measure(1)  # Consecutive with previous
>>> qc.measure(2)  # Consecutive with previous
>>>
>>> # Combine into single multi-qubit measurement
>>> qc_opt = measurement_parallelization(qc)
>>> # Now has one 3-qubit measurement instead of three 1-qubit measurements

Notes

  • Non-consecutive measurements (separated by gates) remain separate

  • The pass preserves circuit semantics while optimizing for hardware

  • Works with IQMPulseOperation for native pulse-level execution