A foundation for quantum programming and its highly-parallel virtual execution

Printer-friendly version

Publication Type:

Thesis

Source:

Vrije Universiteit Brussel, Software Languages Lab (2012)

Abstract:

The topic of this dissertation stands at the crossroads of two emerging technologies: highly-parallel computing and quantum computing. Both seek to go beyond the limits of current computing practice: in the absence of further miniaturization, highly-parallel computing seeks to increase the available computer power substantially. Quantum Computing looks beyond the classical approach to computation, leveraging quantum-mechanical effects to increase computing power in a fundamental way. In the absence and also in the presence of actual quantum computers it is crucial to support the development of quantum computer applications by creating an appropriate software framework. Creating such a framework currently faces two major research challenges. First, one needs to separate the realization of the quantum computer from the software running on it, whether it is an actual physical or a simulated realization. Our first contribution lies with defining a layered software architecture, ranging from a design tool at the higher abstraction levels to a simulated execution layer underneath. At its core sits a ‘Quantum Virtual Machine’ using the Measurement Calculus as the underlying quantum computational model. Such a virtual machine layer makes the application developed on top of it oblivious to how it is executed. The simulated execution of this quantum virtual machine is fundamentally a computationally intensive task. Parallel computing offers a way to throw more computational resources at the problem, in the light of the saturation of sequential performance of current computers. Simulation is the domain of the second challenge, as it has very high performance requirements. The simulation problem thus becomes: how does one expose the inherent parallelism of quantum computing simulation in a fundamental way, so as to be usable for the highly-parallel computers to come? Our second contribution is to provide a formal translation of quantum programs to highly-parallel dataflow computations, and to develop a virtual environment that compiles and executes such programs. This work demonstrates several properties of both the formal as well as the virtual level of computation that validate our approach.