Skip to main content

Python bindings for Maestro - A unified interface for quantum circuit simulation

Project description

Maestro: The Interface to Quantum Circuit Simulation

Built and tested on Ubuntu

Maestro is a unified interface and intelligent orchestration layer for quantum circuit simulation. It automates the complexity of selecting and configuring simulators, enabling researchers and developers to execute quantum circuits efficiently across CPUs, GPUs, and distributed HPC environments without manual tuning.

Key Features

Maestro addresses the fragmentation of the current simulator ecosystem by providing a single entry point to various simulation methods.

  • Unified Abstraction Layer: Write your circuit once (e.g., in Qiskit) and Maestro compiles it to the native format of the target backend.
  • Intelligent Prediction Engine: Automatically analyzes circuit features (gate density, entanglement, locality) to predict and select the fastest simulation backend for your specific workload.
  • High-Performance Optimizations: Transparently applies multi-threading, multi-processing, and optimized state sampling to increase throughput.
  • Expectation Value Estimation: Direct calculation of observables (e.g., Pauli strings) for VQA workflows.
  • GPU Acceleration: Integrated support for GPU-accelerated Statevector and custom Matrix Product State (MPS) execution.
  • Distributed Quantum Computing (DQC): Supports p-block simulation (Composite mode) to simulate distributed quantum networks and break the memory ceiling of monolithic simulations.
  • Backend-agnostic: Allows new simulators to be added easily

Architecture Overview

The Maestro pipeline consists of:

  1. Circuit ingestion (Qiskit/QASM)
  2. Conversion to Maestro’s Intermediate Representation
  3. Feature extraction (gate density, entanglement locality, structure)
  4. Prediction engine (runtime estimation and backend routing)
  5. Execution on one of the supported backends:
    • CPU: statevector, MPS, Pauli propagation, Clifford/stabilizer
    • GPU: statevector, MPS, Pauli propagation, tensor network simulation, (limited) Clifford/stabilizer
    • Composite p-block distributed simulation

Simulation Backends

Maestro integrates or wraps the following:

CPU Backends

  • Statevector (Qiskit Aer, QCSim, custom implementations)
  • MPS (multiple libraries)
  • Pauli propagation
  • Clifford/stabilizer simulators

GPU Backends

  • Statevector (NVIDIA cuStateVec)
  • MPS (custom CUDA implementation)
  • Tensor network simulation
  • Pauli propagation
  • (Limited) Clifford/stabilizer

Distributed Simulation

  • p-block composite simulation for DQC

Each backend is accessed through a C++ adapter that maps Maestro’s IR to the simulator’s native API.

Automatic Backend Selection

Maestro includes a prediction engine that:

  • extracts structural features from the circuit
  • uses a regression model trained on benchmark data
  • estimates relative runtimes across all backends
  • selects the backend expected to run fastest on the current hardware

The model normalizes performance features to reduce hardware dependence and can be recalibrated on installation.

Documentation

API Documentation

To generate the API documentation using Doxygen:

# Ensure Doxygen is installed
cd build
cmake ..
make doc

The documentation will be generated in docs/html/index.html.

Building Maestro

Quick start:

chmod +x build.sh
./build.sh

For detailed instructions, see INSTALL.md.

Citation

An Article detailing Maestro will be published shorty. This reference can be used for citation.

@article{bertomeu2025maestro,
  title={Maestro: Intelligent Execution for Quantum Circuit Simulation},
  author={Bertomeu, Oriol and Ghayas, Hamzah and Roman, Adrian and DiAdamo, Stephen},
  organization={Qoro Quantum},
  year={2025}
}

License

This project is licensed under the GNU General Public License v3.0.

You may copy, distribute, and modify this software under the terms of the GPL-3.0 license. A copy of the license text is available in the LICENSE file and at:

https://www.gnu.org/licenses/gpl-3.0.en.html

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qoro_maestro-0.2.0.tar.gz (282.9 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

qoro_maestro-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

qoro_maestro-0.2.0-cp312-cp312-macosx_14_0_arm64.whl (4.8 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

qoro_maestro-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

qoro_maestro-0.2.0-cp311-cp311-macosx_14_0_arm64.whl (4.8 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

qoro_maestro-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

qoro_maestro-0.2.0-cp310-cp310-macosx_14_0_arm64.whl (4.8 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

Details for the file qoro_maestro-0.2.0.tar.gz.

File metadata

  • Download URL: qoro_maestro-0.2.0.tar.gz
  • Upload date:
  • Size: 282.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for qoro_maestro-0.2.0.tar.gz
Algorithm Hash digest
SHA256 72e73e561903f2444d0cb2fb8238d54444b5d3c96b03c7acd718c0e8db06837d
MD5 b1e93b65b913283058a52aed79181559
BLAKE2b-256 0d8f3c061ae7c4a96a38ab7cdfb15de488982d2ce7f73f87bf6f21b47d729d47

See more details on using hashes here.

Provenance

The following attestation bundles were made for qoro_maestro-0.2.0.tar.gz:

Publisher: publish-pypi.yml on QoroQuantum/maestro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qoro_maestro-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qoro_maestro-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8491e36f3721f88d1e79fd38bf54d32c0f616698f46246656d6e1a9ef8ba422b
MD5 5da661b1b7246e355116b445160dfc7c
BLAKE2b-256 7a39f9e76596dd06fd9623116682ff0e9b8df5590f76ad67b3d466de40c5e111

See more details on using hashes here.

Provenance

The following attestation bundles were made for qoro_maestro-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on QoroQuantum/maestro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qoro_maestro-0.2.0-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for qoro_maestro-0.2.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 06940eb401367866f2f249a38df617dabb1ebcc0c0a8b8841a4e74b1f77073ca
MD5 c6d7934689047fbc91fb1f1a962796e4
BLAKE2b-256 8743cad3ff16dbbcf9528dbfedb0bd8153181df62adff145a7196d0f6b43e838

See more details on using hashes here.

Provenance

The following attestation bundles were made for qoro_maestro-0.2.0-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: publish-pypi.yml on QoroQuantum/maestro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qoro_maestro-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qoro_maestro-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c8517cfe09a97918e80a614229ed6516b3b9ae67222b8d3f88a76b8e1b10d26a
MD5 449ce78702b5d9a781afd43daf9b792a
BLAKE2b-256 bdac358cb9dc2473208d80160b8352177b67cf831c3bc41ec0bed1675811001b

See more details on using hashes here.

Provenance

The following attestation bundles were made for qoro_maestro-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on QoroQuantum/maestro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qoro_maestro-0.2.0-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for qoro_maestro-0.2.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 5e1892c70656996291a499a040c77d3f8a45c71ad027e62e711cd8b71ab94c9e
MD5 6bc13a1331920e7454d2335ee7fef984
BLAKE2b-256 5fa6666bf1eaf594f4658ede09e2d7848ddd285200cef6542a0b544d961fe456

See more details on using hashes here.

Provenance

The following attestation bundles were made for qoro_maestro-0.2.0-cp311-cp311-macosx_14_0_arm64.whl:

Publisher: publish-pypi.yml on QoroQuantum/maestro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qoro_maestro-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qoro_maestro-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d8243f2b8623b2d32357f081e60bd826df36996fd1c89cbad29d82c1317b94db
MD5 a6c7c4f1639657b7cfd65594c4b7e882
BLAKE2b-256 3d0262879af41770543bd963c01d7d16d6a3b317a8782297ee61d9d9a7081c76

See more details on using hashes here.

Provenance

The following attestation bundles were made for qoro_maestro-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on QoroQuantum/maestro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qoro_maestro-0.2.0-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for qoro_maestro-0.2.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 3797f6e4abc26bad447c4f353ffd7507c7ba33db2e76ee5481b5218571a3be14
MD5 ae4e8c30ec7c4c06d25bde42dfc6825b
BLAKE2b-256 f93297d5e3fc2633b97e84b6247083e0184a6ab85a07098a4faa9a1dd033fac8

See more details on using hashes here.

Provenance

The following attestation bundles were made for qoro_maestro-0.2.0-cp310-cp310-macosx_14_0_arm64.whl:

Publisher: publish-pypi.yml on QoroQuantum/maestro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page