iqm.benchmarks.quantum_volume.clops.CLOPSConfiguration#

class iqm.benchmarks.quantum_volume.clops.CLOPSConfiguration(*, benchmark: type[~iqm.benchmarks.benchmark_definition.Benchmark] = <class 'iqm.benchmarks.quantum_volume.clops.CLOPSBenchmark'>, shots: int = 256, max_gates_per_batch: int | None = None, max_circuits_per_batch: int | None = None, routing_method: ~iqm.benchmarks.utils.RoutingMethod = RoutingMethod.SABRE, physical_layout: ~iqm.benchmarks.utils.PhysicalLayout = PhysicalLayout.FIXED, use_dd: bool | None = False, dd_strategy: ~iqm.station_control.interface.models.circuit.DDStrategy | None = None, active_reset_cycles: int | None = None, qubits: ~collections.abc.Sequence[int], num_circuits: int = 100, num_updates: int = 10, num_shots: int = 100, clops_h_bool: bool = False, qiskit_optim_level: int = 3, optimize_sqg: bool = True)#

Bases: BenchmarkConfigurationBase

CLOPS configuration.

Parameters:
benchmark#

CLOPS Benchmark.

Type:

type[iqm.benchmarks.benchmark_definition.Benchmark]

qubits#

Sequence of physical qubit labels in which to run the benchmark. The physical qubit layout should correspond to the one used to establish QV.

Type:

collections.abc.Sequence[int]

num_circuits#

Number of parametrized circuit layouts. By definition of arXiv:2110.14108 [quant-ph] set to 100.

Type:

int

num_updates#

Number of parameter assignment updates per circuit layout to perform. By definition of arXiv:2110.14108 [quant-ph] set to 10.

Type:

int

num_shots#

Number of measurement shots per circuit to perform. By definition of arXiv:2110.14108 [quant-ph] set to 100.

Type:

int

clops_h_bool#

Whether a CLOPS value with layer definition of CLOPS_H is estimated. Default is False. This will not estimate a rigorous CLOPS_H value (as loosely defined in www.ibm.com/quantum/blog/quantum-metric-layer-fidelity)

Type:

bool

qiskit_optim_level#

Qiskit transpilation optimization level. The optimization level should correspond to the one used to establish QV.

Type:

int

optimize_sqg#

Whether Single Qubit Gate Optimization is performed upon transpilation. The optimize_sqg value should correspond to the one used to establish QV.

Type:

bool

routing_method#

Qiskit transpilation routing method to use. The routing_method value should correspond to the one used to establish QV.

physical_layout#

Whether the coupling map is restricted to qubits in the input layout or not. “fixed” restricts the coupling map to only the specified qubits. “batching” considers the full coupling map of the backend and circuit execution is batched per final layout.

Attributes

model_config

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

benchmark

qubits

num_circuits

num_updates

num_shots

clops_h_bool

qiskit_optim_level

optimize_sqg

shots

max_gates_per_batch

max_circuits_per_batch

routing_method

physical_layout

use_dd

dd_strategy

active_reset_cycles

Methods

model_config = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].