High Performance Emulation of Quantum Circuits
arXiv:1604.06460 · doi:10.1109/SC.2016.73
Abstract
As quantum computers of non-trivial size become available in the near future, it is imperative to develop tools to emulate small quantum computers. This allows for validation and debugging of algorithms as well as exploring hardware-software co-design to guide the development of quantum hardware and architectures. The simulation of quantum computers entails multiplications of sparse matrices with very large dense vectors of dimension , where denotes the number of qubits, making this a memory-bound and network bandwidth-limited application. We introduce the concept of a quantum computer \textit{emulator} as a component of a software framework for quantum computing, enabling a significant performance advantage over simulators by emulating quantum algorithms at a high level rather than simulating individual gate operations. We describe various optimization approaches and present benchmarking results, establishing the superiority of quantum computer emulators in terms of performance.
References in corpus (6)
- Simulated Quantum Computation of Molecular Energies
- A new quantum ripple-carry addition circuit
- Chemical Basis of Trotter-Suzuki Errors in Quantum Chemistry Simulation
- Quantum Simulations of Classical Annealing Processes
- A Software Methodology for Compiling Quantum Programs
- A New Highly Parallel Non-Hermitian Eigensolver
Cited by in corpus (11)
- ProjectQ: An Open Source Software Framework for Quantum Computing
- Concrete Categorical Model of a Quantum Circuit Description Language with Measurement
- 0.5 Petabyte Simulation of a 45-Qubit Quantum Circuit
- Yao.jl: Extensible, Efficient Framework for Quantum Algorithm Design
- Variational quantum solver employing the PDS energy functional
- Advantages of a modular high-level quantum programming framework
- Accelerating Simulation of Quantum Circuits under Noise via Computational Reuse
- Survey on Computational Applications of Tensor Network Simulations
- Enabling Multi-threading in Heterogeneous Quantum-Classical Programming Models
- High-performance state-vector emulator of a gate-based quantum processor implemented in the Rust programming language
- Introducing UNIQuE: The Unconventional Noiseless Intermediate Quantum Emulator