Maestro

Maestro

Maestro: Intelligent Quantum Simulation

Maestro is Qoro’s automated simulation engine that selects the best simulation backend based on circuit structure and hardware constraints. Instead of manually choosing between state vector, matrix product state (MPS), or stabilizer simulators, Maestro analyzes the circuit and makes the optimal choice automatically.

Maestro is written in C++ and supports integration through:

  • Direct embedding via Python bindings (nanobind)
  • Cloud execution as a backend within Composer
  • HPC environments via the SLURM SPANK plugin

Simulation Methods

Maestro currently supports the following simulation backends:

Method Best For Notes
State Vector Small–medium circuits (≤30 qubits) Full state tracking, exact results
Matrix Product State (MPS) Large, low-entanglement circuits Scales to hundreds of qubits for suitable circuits
Stabilizer (Clifford) Clifford-only circuits Exponential speedup for stabilizer states
Pauli Propagator Pauli-heavy circuits Efficient for circuits dominated by Pauli operations
Extended Stabilizer Near-Clifford circuits Handles small amounts of non-Clifford gates efficiently

Automode

Automode is Maestro’s flagship feature: given a circuit, it automatically selects the most efficient simulation method. This removes the burden of manual simulator selection and ensures optimal resource usage.

The automode pipeline:

  1. Circuit Analysis — Examines gate types, qubit count, circuit depth, and entanglement structure
  2. Backend Selection — Matches circuit characteristics to the best-performing simulator
  3. Execution — Runs the circuit on the selected backend
  4. Runtime Estimation — Can estimate execution time before committing resources

Automode is the default when using Maestro through the cloud (QoroService) and can also be explicitly requested via the Python bindings.

Architecture

  flowchart TD
    A["Circuit (QASM)"] --> B["Automode Analyzer"]
    B --> C{"Select Backend"}
    C --> D["State Vector"]
    C --> E["MPS"]
    C --> F["Stabilizer"]
    C --> G["Pauli Propagator"]
    C --> H["Extended Stabilizer"]
    D --> I["Results"]
    E --> I
    F --> I
    G --> I
    H --> I

Key Features

Expectation Value Estimation

Maestro can compute expectation values of observables directly, without requiring full state tomography. This is essential for variational algorithms where the cost function is an expectation value.

Runtime Estimation

Before executing a circuit, Maestro can estimate the expected runtime. This is useful for:

  • Scheduling decisions in Composer
  • Energy consumption estimation
  • Choosing between local and cloud execution

Batch Execution

Maestro accepts batches of circuits and processes them efficiently, taking advantage of shared state preparation where possible.

Performance

Maestro has been benchmarked against leading open-source simulators. See the benchmarks section for detailed performance comparisons across different circuit types and sizes.