qat.pipelines.legacy.qblox package

class LegacyQbloxCompilePipeline(config, model=None, loader=None, target_data=None, engine=None)

Bases: UpdateablePipeline

A pipeline that compiles programs using the legacy qblox backend.

Implements a custom pipeline to make instructions suitable for the legacy qblox engine, and cannot be configured with a custom engine.

Warning

This pipeline is for compilation purposes only and does not execute programs. Please select an appropriate execution pipeline if you wish to run the compiled programs.

Parameters:
  • config (PipelineConfig) – The pipeline configuration with the name of the pipeline, and any additional parameters that can be configured in the pipeline.

  • model (Union[None, QuantumHardwareModel, PhysicalHardwareModel]) – The hardware model to feed into the pipeline. Defaults to None.

  • loader (Optional[BaseModelLoader]) – The hardware loader used to load the hardware model which can be used to later refresh the hardware model. Defaults to None.

  • target_data (Optional[TargetData]) – The data concerning the target device, defaults to None

  • engine (Optional[NativeEngine]) – The engine to use for the pipeline, defaults to None.

Raises:

ValueError – If neither model nor loader is provided.

LegacyQbloxExecutePipeline

alias of LegacyExecutePipeline

class LegacyQbloxPipeline(config, model=None, loader=None, target_data=None, engine=None)

Bases: UpdateablePipeline

A pipeline that compiles programs using the legacy qblox backend and executes them using the LegacyRuntime.

Implements a custom pipeline to make instructions suitable for the legacy qblox engine, and cannot be configured with a custom engine.

Parameters:
  • config (PipelineConfig) – The pipeline configuration with the name of the pipeline, and any additional parameters that can be configured in the pipeline.

  • model (Union[None, QuantumHardwareModel, PhysicalHardwareModel]) – The hardware model to feed into the pipeline. Defaults to None.

  • loader (Optional[BaseModelLoader]) – The hardware loader used to load the hardware model which can be used to later refresh the hardware model. Defaults to None.

  • target_data (Optional[TargetData]) – The data concerning the target device, defaults to None

  • engine (Optional[NativeEngine]) – The engine to use for the pipeline, defaults to None.

Raises:

ValueError – If neither model nor loader is provided.

class PipelineConfig(**data)

Bases: BaseModel

Base class for configuring updateable pipelines. Subclasses of UpdateablePipeline should be paried with their own configuration class which specifies custom configuration parameters, and/or sets custom defaults.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

model_config: ClassVar[ConfigDict] = {}

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

name: str
get_pipeline(model, name='legacy_qblox')

A factory for creating pipelines that performs the responsibilities of the legacy runtime EchoEngine

Parameters:
  • model (QuantumHardwareModel) – The Qblox hardware model.

  • name (str) – The name of the pipeline, defaults to “legacy_qblox”

Return type:

LegacyQbloxPipeline

Returns:

The complete pipeline, including the runtime and engine.

Submodules