A reproducible evaluation framework for benchmarking distributed quantum circuit partitioning algorithms under network constraints. It compares partitioning methods across standardized workloads and topologies while extracting circuit-level metrics beyond the usual entanglement cost, enabling a more faithful assessment of their practical performance in distributed quantum execution.
The evaluation methodology and results are described in the paper Towards Reproducible Evaluation of Distributed Quantum Circuit Partitioning Algorithms.
/
├── experiments/ # REPRODUCIBLE EXPERIMENTS
│ ├── data/ # Processed results dataframe in .parquet format
│ ├── notebooks/ # Jupyter notebooks for reproducing paper analyses
│ └── config.yaml # Configuration file for the experiments
│
├── src/ # SOURCE CODE
│ ├── config/ # Module for loading configurations
│ ├── network/ # Module for network topologies
│ ├── partitioner/ # Module for partitioning algorithms
│ ├── results/ # Module for handling experiment results
│ ├── __init__.py
│ ├── main.py # Main entry point for running the evaluation
│ └── metrics.py # Module for computing evaluation metrics
│
├── tests/ # TESTS
├── pyproject.toml # Python project configuration
├── README.md # This README file
└── uv.lockWarning
This project currently depends on qceval, an internal library that is not yet publicly available. Therefore, the installation instructions below will not work until qceval is released shortly.
-
To reproduce the paper results, install the partitioning algorithms by following the instructions for DISQCO and Pytket-DQC.
-
The installation and execution instructions in this README use uv.
git clone https://github.com/cake-lab/dqc-evaluation.git
cd dqc-evaluationuv syncThe framework supports the following components:
- Algorithms:
- MLFM-R (DISQCO)
- FGP-rOEE (implemented in DISQCO)
- Pytket-DQC (P, PE, ESD variants)
- Network Topologies:
- 2-QPU fully connected
- 4-QPU linear
- 4-QPU grid
- 4-QPU fully connected
- Benchmarks:
- QASMBench
- Quantum Fourier Transform (QFT)
- QAOA
- Quantum Volume (QV)
- Controlled-Phase (CP) fraction circuits
- Evaluation Metrics:
The framework is designed to be run from the command line. The main entry point is main.py, which can be executed with the uv run command.
The user needs to provide a configuration file in YAML format, which specifies the partitioning algorithm, network topology, benchmark circuits, and evaluation metrics to be used. An example configuration file is provided in experiments/config.yaml with explanations for each option. Use the --config/-c option to specify the path to the configuration file.
To run the framework with the example configuration, use the following command:
uv run python -m src.main --config tests/config.yamlTo run the tests, use the following command:
uv run pytest tests/For reproducing the experiments and getting the exact results reported in the paper, use the provided configuration file experiments/config.yaml and run the following command:
uv run python -m src.main --config experiments/config.yamlThe process is computationally intensive and may take several hours to complete. For that reason, it is recommended to run the split the experiments into smaller batches by modifying the configuration file to specify a subset of the benchmark circuits and network topologies.
Processed datasets are available in the experiments/data/results.parquet dataframe. Additionally, you can download pre-computed results from Zenodo (DOI: 10.5281/zenodo.22117678) or via CLI:
wget [https://zenodo.org/records/22117678/files/results.tar.gz](https://zenodo.org/records/22117678/files/results.tar.gz)
tar -xzf results.tar.gz -C ./results/The processed results can be used to generate the analysis and plots in the paper without having to run the experiments again. For that, use the provided Jupyter notebooks in the experiments/notebooks folder.
The framework is designed to be modular and extensible. New modules can be added to support additional partitioning algorithms (in src/partitioner) and network topologies (in src/network).
Extending the available benchmark circuits and evaluation metrics can be done by adding new modules to the qceval dependency.
Note
We welcome contributions from the community to improve and extend the framework. If you would like to contribute, open an issue or submit a pull request on the GitHub repository.
If you use this framework in your research, please cite the following paper:
@misc{vela-tamboReproducibleEvaluationDistributed2026,
title = {Towards Reproducible Evaluation of Distributed Quantum Circuit Partitioning Algorithms},
author = {Vela-Tambo, Javier and Azizov, Davud and Guo, Tian},
year = {2026},
eprint = {2608.27099},
archivePrefix = {arXiv},
primaryClass = {quant-ph}
}
This work was supported in part by the National Science Foundation under grant #2426940.