CutQC is the backend codes for the paper CutQC: using small quantum computers for large quantum circuit evaluations. CutQC cuts a large quantum circuits into smaller subcircuits and run on small quantum computers. By combining classical and quantum computation, CutQC significantly expands the computational reach beyond either platform alone.
Good news: due to popular feedback about the difficulty to install Intel One API, CutQC now runs on Numpy.
- Make a Python virtual environment:
conda create -n cutqc-env python=3
conda deactivate && conda activate cutqc-env
- CutQC uses the Gurobi solver. Install Gurobi and obtain a license. To install Gurobi for Python, follow the instructions. Here we copy paste the up-to-date command as of 05/10/2021 for convenience.
conda config --add channels https://conda.anaconda.org/gurobi
conda install gurobi
- Install required packages:
pip install numpy qiskit matplotlib pydot
Install the latest Qiskit helper functions.
pip install .
For an example, run:
python example.py
If you use CutQC in your work, we would appreciate it if you cite our paper:
Tang, Wei, Teague Tomesh, Martin Suchara, Jeffrey Larson, and Margaret Martonosi. "CutQC: using small quantum computers for large quantum circuit evaluations." In Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 473-486. 2021.
Please reach out to Wei Tang (weit@princeton.edu) for any questions and clarifications.
- Multi-node classical post-processing tools for HPC clusters
- Port to GPU