qat.experimental.pipelines.execute module

Experimental Qblox execute pipeline.

Note

Related work (TODOs)

  • COMPILER-1418: Expand bSLAM zero-engine integration testing.

Executes compiled QBlox programs on a live Qblox cluster using CanonicalSystemData as the hardware model.

As with the compile pipeline, there is no BaseModelLoader for CanonicalSystemData, so this pipeline must be instantiated directly rather than wired up via qatconfig:

from qat.experimental.pipelines.execute import (
    ExperimentalQbloxExecutePipeline,
    ExperimentalQbloxExecutePipelineConfig,
)

pipeline = ExperimentalQbloxExecutePipeline(
    config=ExperimentalQbloxExecutePipelineConfig(host="127.0.0.1"),
    model=canonical_system_data,
)
class ExperimentalQbloxExecutePipeline(config, model=None, loader=None, target_data=None, engine=None)

Bases: UpdateablePipeline

Executes compiled QbloxProgram objects on a live Qblox cluster.

Warning

This pipeline executes compiled programs only. Select an appropriate experimental compilation pipeline when compilation is required beforehand. This is an experimental feature and may change in future releases.

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[QuantumHardwareModel, PhysicalHardwareModel, None]) – 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 ExperimentalQbloxExecutePipelineConfig(**data)

Bases: PipelineConfig

Configuration for ExperimentalQbloxExecutePipeline.

Parameters:
  • name – The name of the pipeline, defaults to “experimental_qblox_bslam”.

  • host – The host address for the Qblox cluster.

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.

host: str
model_config: ClassVar[ConfigDict] = {}

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

name: str