SmartQCache: Fast and Precise Pulse Control with Near-Quantum Cache Design on FPGA
Liqiang Lu,Wuwei Tian,Xinghui Jia,Zixuan Song,Siwei Tan,Jianwei Yin
DOI: https://doi.org/10.1109/tcad.2024.3497839
IF: 2.9
2024-01-01
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Abstract:Quantum pulse serves as the machine language of superconducting quantum devices, which needs to be synthesized and calibrated for precise control of quantum operations. However, existing pulse control systems suffer from the dilemma between long synthesis latency and inaccuracy of quantum control systems. compute-in-CPU synthesis frameworks, like IBM Qiskit Pulse alexander2020qiskit, involve massive redundant computation during pulse calculation, suffering from a high computational cost when handling large-scale circuits. On the other hand, FPGA-based synthesis frameworks, like QuMA fu2017experimental, faces inaccurate pulse control problem. In this paper, we propose both compute-in-CPU and all-in-FPGA solutions to collaboratively solve the latency and inaccuracy problem. First, we propose QPulseLib, a novel compute-in-CPU library with reusable pulses that can directly provide the pulse of a circuit pattern. To establish this library, we transform the circuit and apply convolutional operators to extract reusable patterns and pre-calculate their resultant pulses. Then, we develop a matching algorithm to identify such patterns shared by the target circuit. Experiments show that QPulseLib achieves 158.46× and 16.03× speedup for pulse calculation, compared to Qiskit Pulse and AccQOC cheng2020accqoc. Moreover, we extend the design as a fast and precise all-in-FPGA pulse control approach using near-quantum cache design, SmartQCache. To be specific, we employ a two-level cache to hold reusable pulses of frequently-used circuit patterns. Such a design enables pulse pre-fetching in near-quantum peripherals, dramatically reducing the end-to-end synthesis latency. To achieve precise pulse control, SmartQCache incorporates duration optimization and pulse sequence calibration to mitigate the execution errors from imperfect hardware, crosstalk, and time shift. Experimental results demonstrate that SmartQCache achieves 294.37× and 145.43× speedup in pulse synthesis compared to Qiskit Pulse alexander2020qiskit and AccQOC cheng2020accqoc. It also reduces the pulse inaccuracy by 1.27× compared to QuMA [2].