qat.pipelines.purr.waveform_v1 package

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

Bases: UpdateablePipeline

A pipeline that executes WaveformV1Executables packages using the EchoEngine, which simply passes through the waveform buffers.

Warning

This pipeline is for execution purposes only and does not compile programs. Please select an appropriate compilation pipeline if you wish to compile programs before execution.

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 EchoPipeline(config, model=None, loader=None, target_data=None, engine=None)

Bases: UpdateablePipeline

A pipeline that compiles programs using the WaveformV1Backend and executes them using the EchoEngine.

An engine cannot be provided to the pipeline, as the EchoEngine is used directly.

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
class WaveformV1CompilePipeline(config, model=None, loader=None, target_data=None, engine=None)

Bases: UpdateablePipeline

A pipeline that compiles programs using the WaveformV1Backend.

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.

Submodules