63 research outputs found

    Compiling Quantum Programs

    Get PDF
    This thesis introduces the quantum compilation problem and develops a prototypical compiler. The problem of quantum compiling is, in essence, converting high-level human expressions of quantum programs into low-level hardware executable code. Compilers that target different hardware platforms enable portable code that can be used to benchmark hardware performance, reduce programming work and speed up development. Because quantum systems are subjected to phenomena such as noise, no-cloning and decoherence, the challenge of quantum compiling is tied to the optimization of program runtimes and the lengths of compiled sequences. For near-term intermediate scale quantum (NISQ) computers with limited hardware resources and without error correction, a well-designed compiler that optimizes hardware usage and circuit fidelity is necessary to running applications and tests. To give an introduction to the problem of quantum compiling, this thesis reviews the universality proof for quantum computation and the Solovay-Kitaev theorem, which are both foundational to the topic. A compilation scheme with two components, one following the universality proof and one inspired by the Solovay-Kitaev theorem, is implemented to demonstrate an approach that solves the quantum compiling problem. Finally, I survey state-of-the-art compilation techniques and discuss how to extend this thesis toward building a practical compiler that will be a part of the broader software stack

    Generalised quantum weakest preconditions

    Full text link
    Generalisation of the quantum weakest precondition result of D'Hondt and Panangaden is presented. In particular the most general notion of quantum predicate as positive operator valued measure (POVM) is introduced. The previously known quantum weakest precondition result has been extended to cover the case of POVM playing the role of a quantum predicate. Additionally, our result is valid in infinite dimension case and also holds for a quantum programs defined as a positive but not necessary completely positive transformations of a quantum states.Comment: 7 pages, no figures, added references, changed conten

    Analysis of Quantum Entanglement in Quantum Programs using Stabilizer Formalism

    Full text link
    Quantum entanglement plays an important role in quantum computation and communication. It is necessary for many protocols and computations, but causes unexpected disturbance of computational states. Hence, static analysis of quantum entanglement in quantum programs is necessary. Several papers studied the problem. They decided qubits were entangled if multiple qubits unitary gates are applied to them, and some refined this reasoning using information about the state of each separated qubit. However, they do not care about the fact that unitary gate undoes entanglement and that measurement may separate multiple qubits. In this paper, we extend prior work using stabilizer formalism. It refines reasoning about separability of quantum variables in quantum programs.Comment: In Proceedings QPL 2015, arXiv:1511.0118

    QuEST and High Performance Simulation of Quantum Computers

    Full text link
    We introduce QuEST, the Quantum Exact Simulation Toolkit, and compare it to ProjectQ, qHipster and a recent distributed implementation of Quantum++. QuEST is the first open source, OpenMP and MPI hybridised, GPU accelerated simulator of universal quantum circuits. Embodied as a C library, it is designed so that a user's code can be deployed seamlessly to any platform from a laptop to a supercomputer. QuEST is capable of simulating generic quantum circuits of general single-qubit gates and multi-qubit controlled gates, on pure and mixed states, represented as state-vectors and density matrices, and under the presence of decoherence. Using the ARCUS Phase-B and ARCHER supercomputers, we benchmark QuEST's simulation of random circuits of up to 38 qubits, distributed over up to 2048 compute nodes, each with up to 24 cores. We directly compare QuEST's performance to ProjectQ's on single machines, and discuss the differences in distribution strategies of QuEST, qHipster and Quantum++. QuEST shows excellent scaling, both strong and weak, on multicore and distributed architectures.Comment: 8 pages, 8 figures; fixed typos; updated QuEST URL and fixed typo in Fig. 4 caption where ProjectQ and QuEST were swapped in speedup subplot explanation; added explanation of simulation algorithm, updated bibliography; stressed technical novelty of QuEST; mentioned new density matrix suppor

    Optimizing Quantum Programs against Decoherence: Delaying Qubits into Quantum Superposition

    Full text link
    Quantum computing technology has reached a second renaissance in the last decade. However, in the NISQ era pointed out by John Preskill in 2018, quantum noise and decoherence, which affect the accuracy and execution effect of quantum programs, cannot be ignored and corrected by the near future NISQ computers. In order to let users more easily write quantum programs, the compiler and runtime system should consider underlying quantum hardware features such as decoherence. To address the challenges posed by decoherence, in this paper, we propose and prototype QLifeReducer to minimize the qubit lifetime in the input OpenQASM program by delaying qubits into quantum superposition. QLifeReducer includes three core modules, i.e.,the parser, parallelism analyzer and transformer. It introduces the layered bundle format to express the quantum program, where a set of parallelizable quantum operations is packaged into a bundle. We evaluate quantum programs before and after transformed by QLifeReducer on both real IBM Q 5 Tenerife and the self-developed simulator. The experimental results show that QLifeReducer reduces the error rate of a quantum program when executed on IBMQ 5 Tenerife by 11%; and can reduce the longest qubit lifetime as well as average qubit lifetime by more than 20% on most quantum workloads.Comment: To appear in TASE2019 - the 13th International Symposium on Theoretical Aspects of Software Engineering (submitted on Jan 25, 2019, and this is camera-ready version

    Quantum picturalism for topological cluster-state computing

    Full text link
    Topological quantum computing is a way of allowing precise quantum computations to run on noisy and imperfect hardware. One implementation uses surface codes created by forming defects in a highly-entangled cluster state. Such a method of computing is a leading candidate for large-scale quantum computing. However, there has been a lack of sufficiently powerful high-level languages to describe computing in this form without resorting to single-qubit operations, which quickly become prohibitively complex as the system size increases. In this paper we apply the category-theoretic work of Abramsky and Coecke to the topological cluster-state model of quantum computing to give a high-level graphical language that enables direct translation between quantum processes and physical patterns of measurement in a computer - a "compiler language". We give the equivalence between the graphical and topological information flows, and show the applicable rewrite algebra for this computing model. We show that this gives us a native graphical language for the design and analysis of topological quantum algorithms, and finish by discussing the possibilities for automating this process on a large scale.Comment: 18 pages, 21 figures. Published in New J. Phys. special issue on topological quantum computin
    • …
    corecore