A Spatial-Topology Preserving Compiler for Quantum Many-Body Systems Simulation
Xiangyu Ren, Yuexun Huang, Zhaohui Yang, Yuchen Zhu, Tsung‐Wei Huang, Tsung-Yi Ho, Zhiding Liang, Antonio Barbalace
Abstract
GadIR artifact evaluation This self-contained directory reproduces Figures 10--15, 17, and 18(d) from the packaged Hamiltonians and generated random instances. It contains one GadIR frontend, four architecture backends, the two analysis workflows, and the baseline code used by the experiments. Full reproduction regenerates the result tables from the raw benchmarks. The bundled Figure 15 table supports plot-only validation and is overwritten by reproduce. Repository: https://github.com/xiyurain/GadIR Archive: https://doi.org/10.5281/zenodo.21550065 Requirements Use a machine with Bash, Git, Conda, a C/C++ toolchain, and stable Rust/Cargo. Intel, AMD, and Apple CPUs are supported. The experiments are CPU-only; at least 16 CPU cores, 32 GB RAM, and 20 GB of free disk are recommended. No GPU or quantum hardware is required. Network access is needed only while installing the environments. Install Miniconda (or Anaconda), Git, and the host compiler first. On Ubuntu/Debian, the host packages can be installed with: sudo apt-get update sudo apt-get install -y build-essential curl git Install Rust with rustup: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source "$HOME/.cargo/env" conda --version git --version rustc --version cargo --version Installation Clone the public repository (or unpack the Zenodo archive), enter this directory, and run the installation script: git clone git@github.com:xiyurain/GadIR.git cd GadIR/GadIR_AE ./prepare.sh prepare.sh creates three pinned environments under .envs/: analysis: Python 3.10, Qiskit 1.4.3, Qiskit Aer 0.17.1, PyZX 0.9.0, NumPy, pandas, SciPy, matplotlib, Stim/sinter 1.15.0, PyMatching 2.3.0, TQEC, GraphiQ 0.1.1, and Jupyter Notebook; quclear: Python 3.10 and Qiskit 1.1.1. 2qan: Python 3.9 and Qiskit Terra 0.20.2 (Qiskit 0.36.2). The script also builds and installs the packaged Rustiq Python extension into the analysis environment and installs Tweedledum 1.1.1 without build isolation before Qiskit Terra 0.20.2 in the 2QAN environment. TQEC and GraphiQ are installed at the exact revisions recorded in environments/analysis.yml. GraphiQ is retained for compatibility with the submitted installation check and is installed from the bundled wheel built at the recorded revision without its obsolete Qiskit 0.38 dependency; the Figure 15 workflow uses the packaged GSSynth backend. Manual environment activation is unnecessary. An installation can be checked with: ./.envs/analysis/bin/python -c "import qiskit, pyzx, rustiq, stim, sinter, pymatching, tqec, graphiq" ./.envs/quclear/bin/python -c "import qiskit" ./.envs/2qan/bin/python -c "import qiskit" If SSH access to GitHub is unavailable, download the Zenodo archive instead of cloning. The pinned TQEC revision still requires network access during prepare.sh. Running the artifact All commands are run from GadIR_AE/: ./run.sh smoke ./run.sh reproduce ./run.sh plot smoke runs one small input for each architecture backend and reduced-size Figure 17/18(d) analyses. reproduce compiles all selected benchmarks, writes fresh tables under results/, and draws all eight figures. plot only redraws from the tables already generated under results/. To generate all paper figures from completed AE results, use the provided plot-only notebook: ./.envs/analysis/bin/jupyter notebook generate_all_figures.ipynb The notebook draws Figures 10--15, 17, and 18(d) into output/; run ./run.sh reproduce first. The submitted artifact appendix refers to Figure 18(c) in this sentence. This is a labeling typo: the included analysis and notebook reproduce Figure 18(d). The workflows run in this order: superconducting, neutral atom, FTQC, MBQC, and analysis. Full reproduction is intentionally long: FTQC sampling and all 84 Figure 15 compiler jobs can take hours to days. smoke also executes real compiler/simulator paths and can take tens of minutes. The expected figure files are: output/figure10.pdf output/figure10_full_range.pdf output/figure11.pdf output/figure11_full_range.pdf output/figure12.pdf output/figure13.pdf output/figure14.pdf output/figure15.pdf output/figure17.pdf output/figure18d.pdf Figure 17 generates 1000 random instances at each term count with fixed seed 7. Figure 18(d) evolves the packaged Hamiltonians with four product-formula steps at times 0.4, 0.8, and 1.0, then reports the maximum bipartite entropy over every MPS prefix cut. Because the packaged structural Hamiltonians contain Pauli strings without numeric coefficients, every input term uses coefficient Open markers are the dimension-derived bound S_MPS <= floor(n_qubits / 2). The tables are written to results/analysis/figure17.csv and results/analysis/figure18d.csv. Layout benchmarks/ source Hamiltonians hardware/ superconducting and neutral-atom architectures src/gadir_frontend/ architecture-independent GadIR frontend src/superconducting/ Figures 10--11 backend src/neutral_atom/ Figure 12 backend src/ftqc/ Figures 13--14 backend src/mbqc/ Figure 15 backend src/analysis/ Figures 17 and 18(d) workflows baselines/ baseline implementations or dependency records environments/ pinned Conda specifications results/ generated tables and intermediate circuits output/ generated PDFs GadIR licensing is not declared by a new license file in this AE directory. Redistributed third-party code retains its upstream notice in baselines/<method>/LICENSE; TQEC is an installed dependency pinned in environments/analysis.yml.