The unique principles of quantum mechanics may one day enable computers to perform operations that would be impossible on a classical computer. Although no one knows whether it will be possible to build a large-scale, functional, and stable quantum computer, researchers can study quantum-mechanical systems and develop algorithms and circuits by simulating quantum systems in software. Performance and memory bottlenecks prevent most current quantum computer simulators from being able to simulate quantum systems that are large enough to be useful. In this thesis, we develop a matrix-free sequential quantum computer simulator to vastly improve both time and memory performance of sequential code on a single processor. Next, we distribute the matrix-free algorithm over multiple parallel processors using the Message Passing Interface in order to simulate quantum systems that are too large to reside wholly within the memory of a single processor. Finally, we simulate various quantum circuits using the Hamming high-performance computing cluster in order to conduct algorithmic analysis.
The unique principles of quantum mechanics may one day enable computers to perform operations that would be impossible on a classical computer. Although no one knows whether it will be possible to build a large-scale, functional, and stable quantum computer, researchers can study quantum-mechanical systems and develop algorithms and circuits by simulating quantum systems in software. Performance and memory bottlenecks prevent most current quantum computer simulators from being able to simulate quantum systems that are large enough to be useful. In this thesis, we develop a matrix-free sequential quantum computer simulator to vastly improve both time and memory performance of sequential code on a single processor. Next, we distribute the matrix-free algorithm over multiple parallel processors using the Message Passing Interface in order to simulate quantum systems that are too large to reside wholly within the memory of a single processor. Finally, we simulate various quantum circuits using the Hamming high-performance computing cluster in order to conduct algorithmic analysis.
Quantum computing has the potential to revolutionize the field of computing, but with hardware and algorithms unlike any in use today. Due to the primitive state of existing quantum hardware, simulation is one of the most effective methods for studying quantum computing issues. Our team previously developed a general-purpose simulator capable of modeling arbitrary quantum algorithms executing on any hardware device. The simulator performs over a thousand matrix multiplications per step as part of its operations. To improve the simulator performance, optimizations were designed to dynamically restructure the problem. The resulting calculations were then distributed across a cluster. These enhancements reduced both the order of the simulator operations and the memory overhead, achieving an overall performance improvement of 99.94% from the initial implementation of a key quantum algorithm, reducing the simulator run time for this algorithm from two days on a single processor to under two minutes on a cluster.
This thesis describes the design and implementation of an environment to allow quantum computation to be simulated on classical computers. Although it is believed that quantum computers cannot in general be efficiently simulated classically, it is nevertheless possible to simulate small but interesting systems, on the order of a few tens of quantum bits. Since the state of the art of physical implementations is less than 10 bits, simulation remains a useful tool for understanding the behavior of quantum algorithms. To create a suitable envrionment for simulation, we constructed a 32-node cluster of workstation class computers linked with a high speed (gigabit Ethernet) network. We then wrote an initial simulation environment based on parallel linear algebra libraries with a Matlab front end. These libraries operated on large matrices representing the problem being simulated. The parallel Matlab environment demonstrated a degree of parallel speedup as we added processors, but overall execution times were high, since the amount of data scaled exponentially with the size of the problem. This increased both the number of operations that had to be performed to compute the simulation, and the volume of data that had to be communicated between the nodes as they were computing. The scaling also affected memory utilization, limiting us to a maximum problem size of 14 qubits. In an attempt to increase simulation efficiency, we revisited the design of the simulation environment. Many quantum algorithms have a structure that can be described using the tensor product operator from linear algebra. We believed that a new simulation environment based on this tensor product structure would be substantially more efficient than one based on large matrices. We designed a new simulation envrionment that exploited this tensor product structure. Benchmarks that we performed on the new simulation environment confirmed that it was substantially more efficient, allowing us to perform simulations of the quantum Fourier transform and the discrete approximation to the solution of 3-SAT by adiabatic evolution up to 25 qubits in a reasonable time. Thesis Supervisor: Stephen A. Benton Title: Professor of Media Arts and Sciences
With current technologies, it seems to be very difficult to implement quantum computers with many qubits. It is therefore of importance to simulate quantum algorithms and circuits on the existing computers. However, for a large-size problem, the simulation often requires more computational power than is available from sequential processing. Therefore, simulation methods for parallel processors are required. We have developed a general-purpose simulator for quantum algorithms/circuits on the parallel computer (Sun Enterprise4500). It can simulate algorithms/circuits with up to 30 qubits. In order to test efficiency of our proposed methods, we have simulated Shor's factorization algorithm and Grover's database search, and we have analyzed robustness of the corresponding quantum circuits in the presence of both decoherence and operational errors. The corresponding results, statistics, and analyses are presented in this paper.
Quantum computation is a new technology with the potential for providing exponential parallelism. The feasibility of a quantum computer is limited by two different types of errors, decoherence and inaccuracies. This dissertation uses simulation to investigate the feasibility of implementing one of the proposed realizations of a quantum computer, the trapped ion quantum computer. Because of the exponential complexity of a quantum computer, simulating one requires vast processing and memory resources. For this reason I develop several techniques to reduce the complexity of simulating a quantum computer. A parallel simulator is also used. Using the parallel simulator I am able to simulate circuits with close to 100,000 basic operations. The simulation studies show that the effectiveness of a quantum computer, without a mechanism for controlling errors, is severely limited. However the power of a quantum computer can be increased by using several techniques to mitigate the effects of error. Therefore a realizable quantum computer has three fundamental requirements: First, both hardware and software mechanisms must be used to correct errors as they occur. Second, the architecture of a quantum computer is very important; it must be designed to mitigate errors and it must be able to execute multiple operations in parallel. Last, quantum circuits must be constructed in an efficient manner, to minimize the total number of operations.
The pace of innovation in quantum information science has recently exploded due to the hope that a quantum computer will be able to solve a multitude of problems that are intractable using classical hardware. Current quantum devices are in what has been termed the ``noisy intermediate-scale quantum'', or NISQ stage. Quantum hardware available today with 50-100 physical qubits may be among the first to demonstrate a quantum advantage. However, there are many challenges to overcome, such as dealing with noise, lowering error rates, improving coherence times, and scalability. \n \nWe are at a time in the field where minimization of resources is critical so that we can run our algorithms sooner rather than later. Running quantum algorithms ``at scale'' incurs a massive amount of resources, from the number of qubits required to the circuit depth. A large amount of this is due to the need to implement operations fault-tolerantly using error-correcting codes. \n \nFor one, to run an algorithm we must be able to efficiently read in and output data. Fault-tolerantly implementing quantum memories may become an input bottleneck for quantum algorithms, including many which would otherwise yield massive improvements in algorithm complexity. We will also need efficient methods for tomography to characterize and verify our processes and outputs. Researchers will require tools to automate the design of large quantum algorithms, to compile, optimize, and verify their circuits, and to do so in a way that minimizes operations that are expensive in a fault-tolerant setting. Finally, we will also need overarching frameworks to characterize the resource requirements themselves. Such tools must be easily adaptable to new developments in the field, and allow users to explore tradeoffs between their parameters of interest. \n \nThis thesis contains three contributions to this effort: improving circuit synthesis using large-scale parallelization; designing circuits for quantum random-access memories and analyzing various time/space tradeoffs; using the mathematical structure of discrete phase space to select subsets of tomographic measurements. For each topic the theoretical work is supplemented by a software package intended to allow others researchers to easily verify, use, and expand upon the techniques herein.
The simulation of quantum circuits is significantly important for the implementation of quantum information technologies. The main difficulty of such modeling is the exponential growth of dimensionality, thus the usage of modern high-performance parallel computations is relevant. As it is well known, arbitrary quantum computation in circuit model can be done by only single- and two-qubit gates, and we analyze the computational structure and properties of the simulation of such gates. We investigate the fact that the unique properties of quantum nature lead to the computational properties of the considered algorithms: the quantum parallelism make the simulation of quantum gates highly parallel, and on the other hand, quantum entanglement leads to the problem of computational locality during simulation. We use the methodology of the AlgoWiki project (algowiki-project.org) to analyze the algorithm. This methodology consists of theoretical (sequential and parallel complexity, macro structure, and visual informational graph) and experimental (locality and memory access, scalability and more specific dynamic characteristics) parts. Experimental part was made by using the petascale Lomonosov supercomputer (Moscow State University, Russia). We show that the simulation of quantum gates is a good base for the research and testing of the development methods for data intense parallel software, and considered methodology of the analysis can be successfully used for the improvement of the algorithms in quantum information science.