This repository contains the code used to distribute quantum computation workloads across multiple providers, along with calibration and analysis tooling for experiments.
- Python: 3.10 or later is recommended.
- OS: Linux or macOS with Bash and
python3available. - Virtual environment (recommended):
python3 -m venv .venv source .venv/bin/activate - Install packages:
pip install --upgrade pip pip install -r requirements.txt
The following Python packages (and pinned versions) are required to reproduce the experiments. They are also listed in requirements.txt for installation via pip install -r requirements.txt.
cirq==1.3.0click==8.1.7mypy==1.8.0PennyLane==0.34.0pyquil==3.5.4pytket==1.24.0pytket-braket==0.34.1pytket-cirq==0.34.0pytket-pennylane==0.15.0pytket-pyquil==0.33.0pytket-qir==0.8.0pytket-qiskit==0.47.0qiskit==0.45.2requests==2.31.0mqt.bench==1.0.8
Runtime settings live in config.ini. Set your access tokens under [TOKENS] (e.g., IonQ, IBMQ) and adjust experiment parameters such as qubits, calibration rounds, and policy selections under the corresponding sections.
- (Optional) If you have compressed experiment data checked in, decompress them before running analysis:
./decompress.sh
- Run a single experiment with logging via the helper script:
The script delegates to
./experiment.sh exp
python3 -u run.py exp ...and writes logs toexperiment.log. - To iterate over all configurations in
configs/, use:./exps.sh
- Compress generated
.csvand.jsonartifacts before committing or archiving:./compress.sh
run.py also supports calibration (cal) and analysis phases directly; refer to the inline documentation in the script for additional modes and arguments.
This project is licensed under the Apache License, Version 2.0. See the LICENSE file for the full text.