Breaking the ISA abstraction
We proposed a novel quantum compilation scheme that improves quantum circuit latency by 5X on average. Traditional compilation method first compiles quantum algorithms into pre-defined quantum gates (quantum ISA), then load corresponding control pulses in the hardware. Our approach form a new set of aggregated instructions for each circuit and generate customized control pulses with a quantum optimal control algorithm called GRAPE (GRadient-Ascent Pulse Engineering). This compilation scheme is a core component of the NSF Expedition [EPiQC] and is considered to “provide speed boost to quantum computers” by phys.org.
Breaking the qubit abstraction
Bosonic encodings such as the Gottesman-Kitaev-Preskill (GKP) code are qubit architectures that provide error information for upper-level software to monitor its internal correctness, thus are promising candidates for fault-tolerant quantum computing comparing to traditional qubits such as transmon. The GKP code overcomes the fundamental limit set by the Heisenberg uncertainty principle. However, the GKP code is highly non-classical and hard to make. We gave fault tolerance definitions to the preparation of GKP states and designed protocols to fault-tolerantly preprare it.
For a gentle introduction to this beautiful qubit architecture, please take a look at this blog.
Reliable quantum software
Qiskit Terra is the most complete and widely used quantum compiler now. It’s the foundation of the cloud-based IBMQ service with 10K+ users. With increasing community contribution, it’s crucial to guarantee the code quality and automate the code review process. We implemented CertiQ, a mostly-automated verification framework. As far as we know, CertiQ is the first verification framework for a realistic quantum compiler. Leveraing SMT reasoning and contract based design, CertiQ revealed several critical bugs in Qiskit Terra, some of which are specific to quantum software. We believe that the methods developed in CertiQ pave the way to a fully verified quantum toolchain.