iqm.benchmarks.benchmark_definition.BenchmarkConfigurationBase#

class iqm.benchmarks.benchmark_definition.BenchmarkConfigurationBase(*, benchmark: type[Benchmark] | str, shots: int = 256, max_gates_per_batch: int | None = None, max_circuits_per_batch: int | None = None, routing_method: RoutingMethod = RoutingMethod.SABRE, physical_layout: PhysicalLayout = PhysicalLayout.FIXED, use_dd: bool | None = False, dd_strategy: DDStrategy | None = None, active_reset_cycles: int | None = None)#

Bases: BaseModel

Benchmark configuration base.

Parameters:
benchmark#

Benchmark configuration.

Type:

type[iqm.benchmarks.benchmark_definition.Benchmark] | str

shots#

Number of shots to use in circuit execution. The default for all benchmarks is 2**8.

Type:

int

max_gates_per_batch#

Maximum number of gates per circuit batch. The default for all benchmarks is None.

Type:

int | None

max_circuits_per_batch#

Maximum number of circuits per batch. The default for all benchmarks is None.

Type:

int | None

routing_method#

Qiskit routing method to use in transpilation. The default for all benchmarks is “sabre”.

Type:

iqm.benchmarks.utils.RoutingMethod

physical_layout#

Whether physical layout is constrained during transpilation to selected physical qubits. “fixed”: physical layout is constrained during transpilation to the selected initial physical qubits. “batching”: physical layout is allowed to use any other physical qubits, and circuits are batched according to final measured qubits. The default for all benchmarks is “fixed”.

Type:

iqm.benchmarks.utils.PhysicalLayout

use_dd#

Boolean flag determining whether to enable dynamical decoupling during circuit execution. The default for all benchmarks is False.

Type:

bool | None

dd_strategy#

Dynamical decoupling strategy.

Type:

iqm.station_control.interface.models.circuit.DDStrategy | None

active_reset_cycles#

Number of active reset cycles to apply after each circuit execution. If None, passive reset is used.

Type:

int | None

Attributes

model_config

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

benchmark

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].