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:
- Circuit Analysis — Examines gate types, qubit count, circuit depth, and entanglement structure
- Backend Selection — Matches circuit characteristics to the best-performing simulator
- Execution — Runs the circuit on the selected backend
- 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.