This is the artifact for the paper "The T-Complexity Costs of Error Correction for Control Flow in Quantum Computation" by Charles Yuan and Michael Carbin. It contains the sources for the Spire compiler, the benchmark programs and circuits used in the paper, and the evaluation package.
The artifact requires Docker Desktop to be installed. To build and run, first download circuits.tar.xz
and reference_outputs.tar.xz
from the Releases on the right and copy these two archives into this repository. Then, run
docker build -t spire-artifact .
docker run --name spire -it spire-artifact /bin/bash
Then, inside the Docker shell, you can find the sources in tower-src/
, the benchmark programs in tower-src/tests/
and length_simplified.twr
, and their corresponding circuits in circuits/
.
The evaluation package consists of the scripts in the main directory. The reference_output/
directory contains the pre-generated outputs of these scripts, and can be regenerated by running each script whose name starts with run
.
To run all of the fast benchmarks (takes ~1hr), run
./run_fast.sh
To run all of the benchmarks from the paper (takes several days), run
./run.sh
Note that timing results will vary depending on the machine used. Also, certain optimizers, in particular Qiskit, Quartz, and QUESO, sometimes produce nondeterministic results, so the outputs may not match exactly.