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