Optimizing quantum computer simulation

Publicerad

Typ

Examensarbete för masterexamen
Master's Thesis

Modellbyggare

Tidskriftstitel

ISSN

Volymtitel

Utgivare

Sammanfattning

Quantum computers are a hot topic in research, with many ongoing projects, both byleading companies in the computing industry such as Google, IBM, and Microsoft, as well as in academia, such as an ongoing project at Chalmers University of Technology. While these research efforts are making strides in increasing the size and complexity of quantum computers, the availability of real quantum computers is still very limited. Thus, using one is infeasible to anyone outside of the research groups working on them. As a result, several simulators of quantum computers have been developed and are publicly available. Quantum simulators allow anyone to simulate small quantum circuits, but they are performance intensive; both time and space complexities are exponential with respect to the number of qubits, which puts a pressure on ensuring that the simulators make efficient use of computer hardware. This work explores how high performance computing techniques can be applied to existing quantum computer simulators, in order to improve both execution time and memory usage. The two main areas of focus are FPGA designs for improved execution time, and data compression for improved memory usage. The qsim simulator is used as a basis for the work. The project resulted in a few variants of an FPGA design for accelerating the most demanding part of qsim, and both lossless and lossy data compression schemes applied to the memory of the simulator to study their effects. Both of these optimizations show promise for increasing the performance of quantum computer simulation.

Beskrivning

Ämne/nyckelord

quantum computer simulation, FPGA, data compression, floating point compression, computer engineering, computer science

Citation

Arkitekt (konstruktör)

Geografisk plats

Byggnad (typ)

Byggår

Modelltyp

Skala

Teknik / material

Index

item.page.endorsement

item.page.review

item.page.supplemented

item.page.referenced