EPOC is a continuation of the previous work AccQOC. It is a novel pulse generation framework that incorporates advanced synthesis techniques for quantum circuits. On average, EPOC is able to achieve a 31.74% reduction in circuit latency compared with the state-of-the-art pulse generation framework, PAQOC.
-
Benchmark
It's recommended to fork the benchmark repository to build the pulse library. The final benchmarks plotted in the paper which are copied from PAQOC are stored in "bench" folder.
-
Pulse Library
The pulse library is a CSV file that contains the pulse information, which should have following columns:
- unitary
- total_time
- fidelity
- compilation_time
A sample pulse library is provided in "pulse_lib.csv".
-
Performance Benchmark
The performance benchmark is a CSV file that contains the performance of EPOC, which should have following columns:
- path
- latency
- latency_group
- compilation_time
- compilation_time_group
- fidelity
- fidelity_group
A sample performance benchmark is provided in "performance_bench.csv".
- Create virtual environment
conda create -n <env_name> python=3.8 conda activate <env_name>
- Install quantum optimal control package
cd PY3_quantum-optimal-control python setup.py install
- Install other dependencies
cd .. pip install -r requirements.txt
Several parameters are required to run EPOC:
--maxsize
: the maximum partition size--dir
: the directory of the benchmark--filepath
: the path to the pulse library--dest
: the destination to write the performance benchmark
python run_epoc_bench.py --maxsize=4 --dir="bench" --filepath="pulse_lib.csv" --dest="performance_bench.csv"
Yuchen Zhu, Jinglei Cheng
Jinglei Cheng [email protected] Yuchen Zhu [email protected]
@misc{cheng2024epoc,
title={EPOC: A Novel Pulse Generation Framework Incorporating Advanced Synthesis Techniques for Quantum Circuits},
author={Jinglei Cheng and Yuchen Zhu and Yidong Zhou and Hang Ren and Zhixin Song and Zhiding Liang},
year={2024},
eprint={2405.03804},
archivePrefix={arXiv},
primaryClass={quant-ph}
}
Our implementation is based on BQSKit, PyZx, and GRAPE-Tensorflow.