iqm.cpc.compiler.circuit_compilation_request_handler.handle_circuit_compilation_request

iqm.cpc.compiler.circuit_compilation_request_handler.handle_circuit_compilation_request#

iqm.cpc.compiler.circuit_compilation_request_handler.handle_circuit_compilation_request(job_id, circuits, shots, calibration_set, chip_topology, channel_properties, component_channels, options, custom_settings, qubit_mapping, trace_context)#

Compile a batch of quantum circuits into a form that can be executed by Station Control.

Parameters:
  • job_id (str) – ID of the job requesting compilation, used in logging

  • circuits (list[Circuit]) – quantum circuits to compile into schedules

  • shots (int) – number of times to repeat the execution of each circuit

  • calibration_set (dict[str, bool | str | int | float | complex | ndarray]) – calibration data for the station the circuits are executed on

  • chip_topology (ChipTopology) – topology of the QPU the circuits are executed on

  • channel_properties (dict[str, ChannelProperties]) – properties of control channels on the station

  • component_channels (dict[str, dict[str, str]]) – QPU component to function to channel mapping

  • options (CircuitExecutionOptions) – various discrete options for circuit execution that affect compilation

  • custom_settings (SettingNode | None) – additional Station Control settings to override generated settings

  • qubit_mapping (dict[str, str] | None) – Mapping of logical qubit names to physical qubit names. None means the identity mapping.

  • trace_context (dict[str, Any] | None) – telemetry context to be propagated during circuit compilation

Returns:

circuit compilation result

Return type:

CircuitCompilationResult