Skip to content
This repository has been archived by the owner on Nov 25, 2021. It is now read-only.
/ PAQCS Public archive

Source code of the paper, "PAQCS: Physical Design-aware Fault-tolerant Quantum Circuit Synthesis," IEEE Transactions on VLSI Systems. Original source: https://www.princeton.edu/~cad/download/PAQCS.tar.gz

License

Notifications You must be signed in to change notification settings

elsa-lab/PAQCS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PAQCS Ubuntu BoostCpp Python_3.6

This repository contains the source code for the paper, "PAQCS: Physical Design-aware Fault-tolerant Quantum Circuit Synthesis," IEEE Transactions on VLSI Systems, which is a backup from the source. You may want to refer to the original Readme file.

In our paper, "Mapping Nearest Neighbor Compliant Quantum Circuits onto a 2-D Hexagonal Architecture," we reimplement PAQCS based on the original paper for a fair comparison in terms of execution time. Therefore, the numerical results reported in our paper may not be identical. Please refer to the guidelines for preparing PAQCS based on our implementation.

Modification on the cost function of qubit placement commit

The snapshot of the content related to the cost function is shown as the following, therefore the modification is applied in order to be consistent with the content of the paper.

costfunc

Quick Start

Please refer Real2QASM to prepare quantum circuits in the format of QASM.

$ sudo apt update
$ sudo apt install -y build-essential libboost-graph-dev
$ PAQCS=/path/to/paqcs
$ QASMS=/path/to/circuits/in/qasm
$ CIRCS=${PAQCS}/Log/circs
$ cd ${PAQCS}; make
$ mkdir -p ${CIRCS}; cd ${CIRCS}
$ for qasm in ${QASMS}/*.qasm; do python ${PAQCS}/script/convert.py ${qasm} | tee ${qasm##*/}.txt; done
$ cd ${PAQCS}/Log
$ for circ in ${CIRCS}/*.txt; do ${PAQCS}/dist/Debug/GNU-Linux-x86/paqcs ${circ} ${circ##*/}; done

Usage

$ ./paqcs -h
<input file> <output file> <grid W> <grid H> <window size>

The fields input file and output file are required.

Example

$ ./paqcs ${CIRCS}/hwb9_123.qasm.txt hwb9_123.qasm.txt
#qubit=9
#2qGate: 49777
(W,H)= (3,3)
window size=3, costB=87530, costR=16852, costU= 13446
 ***Synthesis Time=24.8995***

Reference

If you use of PAQCS contributes to a published paper, please cite the following BibTeX entry.

@article{lin2014paqcs,
  title={PAQCS: Physical design-aware fault-tolerant quantum circuit synthesis},
  author={Lin, Chia-Chun and Sur-Kolay, Susmita and Jha, Niraj K},
  journal={IEEE Transactions on Very Large Scale Integration (VLSI) Systems},
  volume={23},
  number={7},
  pages={1221--1234},
  year={2014},
  publisher={IEEE}
}

About

Source code of the paper, "PAQCS: Physical Design-aware Fault-tolerant Quantum Circuit Synthesis," IEEE Transactions on VLSI Systems. Original source: https://www.princeton.edu/~cad/download/PAQCS.tar.gz

Resources

License

Stars

Watchers

Forks