qat.pipelines.legacy.qblox.compile module

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.

middleend_pipeline(model, target_data)

Factory for creating middleend pipelines for Qblox legacy models.

Includes a list of passes that replicate the responsibilities of LiveDeviceEngine.optimize and LiveDeviceEngine.validate.

Parameters:

model (QuantumHardwareModel) – The hardware model is required for ReadoutValidation.

Return type:

PassManager

Returns:

The pipeline as a pass manager.