Quingo: A Programming Framework for Heterogeneous Quantum-Classical Computing with NISQ Features

Noisy Intermediate-Scale Quantum (NISQ) technology proposes requirements that cannot be fully satisfied by existing Quantum Programming Languages (QPLs) or frameworks. First, noisy qubits require repeatedly-performed quantum experiments, which explicitly operate some low-level configuration, such as pulses and timing of operations. This requirement is beyond the scope or capability of most existing QPLs. Though multiple existing QPLs or frameworks claim the support for near-term promising Heterogeneous Quantum-Classical Computing (HQCC) algorithms, extra code irrelevant to the computational steps has to be introduced, or the corresponding code can hardly be mapped to HQCC architectures while satisfying timing constraints in quantum-classical interaction. In this paper, we propose Quingo, a modular programming framework for HQCC with NISQ features. Quingo highlights an external domain-specific language with timer-based timing control and opaque operation definition. By adopting a six-phase quantum program life-cycle model, Quingo enables aggressive optimization over quantum code through Just-In-Time compilation while preserving quantum-classical interaction with timing constraints satisfied. We propose a runtime system with a prototype design implemented in Python, which can orchestrate both quantum and classical software and hardware according to the six-phase life-cycle model. It allows components of the framework to focus on their genuine task, thus achieving a modular programming framework.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset