Abstract
Quantum computer simulation (QCS) provides an effective platform for the development and validation of quantum algorithms. The exponential runtime overhead limits the simulation scale on classical computers which makes advisable the use of Graphics Processing Units. However, simulating quantum computers on multi-GPU has poor performance due to low data locality and frequent data transfer. Here, we propose a novel implemental scheme for QCS on multi-GPU. Our implementation addresses the aforementioned challenges by (i) an efficient data distribution method enhancing high data locality on each GPU global memory and (ii) an assignment function for the threads mapping to each GPU memory space achieving high bandwidth and data reuse for multiple quantum gates. Experimental results show that the simulation of 29-qubit Quantum Fourier Transform algorithm using four NVIDIA K20c GPUs gains a performance ratio of 358, compared to the sequential implementation of released libquantum, along with a parallel efficiency of 0.92.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Steane, A.: Quantum computing. Rep. Prog. Phys. 61(2), 117 (1998)
Nielsen, M.A., Chuang, I.L.: Quantum Computation and Quantum Information. Cambridge University Press, Cambridge (2010)
Glendinning, I., Ömer, B.: Parallelization of the QC-Lib quantum computer simulator library. In: Wyrzykowski, R., Dongarra, J., Paprzycki, M., Waśniewski, J. (eds.) PPAM 2004. LNCS, vol. 3019, pp. 461–468. Springer, Heidelberg (2004)
De Raedt, K., Michielsen, K., De Raedt, H., et al.: Massively parallel quantum computer simulator. Comput. Phys. Commun. 176(2), 121–136 (2007)
Gutiérrez, E., Romero, S., Trenas, M.A., et al.: Quantum computer simulation using the CUDA programming model. Comput. Phys. Commun. 181(2), 283–300 (2010)
Amariutei A, Caraiman S.: Parallel quantum computer simulation on the GPU. In: Proceedings of the 15th International Conference on System Theory, Control, and Computing, ICSTCC 2011, Sinaia, Romania, 14–16 October 2011, pp. 1-6. IEEE (2011)
Moore, R., Baru, C., Marciano, R., et al.: Data-intensive computing. In: Foster, I., Kesselman, C. (eds.) The Grid: Blueprint for a New Computing Infrastructure, pp. 105–129. Morgan Kaufmann, San Francisco (1999)
NVIDIA CUDA: programming guide, and SDK. http://www.nvidia.com/cuda
Henkel, M.: Quantum computer simulation: New world record on JUGENE, June 2010. http://archive.hpcwire.com/hpcwire/2010-06-28/quantum_computer_simulation_new_world_record_on_jugene.html
Smith, A., Khavari. K.: Quantum Computer Simulation Using CUDA, University of Toronto (2009). http://www.eecg.toronto.edu/~moshovos/CUDA08/arx/QFT_report.pdf
Lu, X., Yuan, J., Zhang, W.: Workflow of the Grover algorithm simulation incorporating CUDA and GPGPU. Comput. Phys. Commun. 184(9), 2035–2041 (2013)
Butscher. B., Weimer. H.: Libquantum library. http://www.libquantum.de
Deutsch, D.: Quantum computational networks. Proc. Roy. Soc. Lond. A Math. Phys. Sci. 42(1868), 73–90 (1989)
DiVincenzo, D.P.: Quantum computation. Science 270(5234), 255–261 (1995)
Barenco, A., Bennett, C.H., Cleve, R., DiVincenzo, D.P., Margolus, N., Shor, P., et al.: Elementary gates for quantum computation. Phys. Rev. A 52(5), 3457 (1995)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Zhang, P., Yuan, J., Lu, X. (2015). Quantum Computer Simulation on Multi-GPU Incorporating Data Locality. In: Wang, G., Zomaya, A., Martinez, G., Li, K. (eds) Algorithms and Architectures for Parallel Processing. ICA3PP 2015. Lecture Notes in Computer Science(), vol 9528. Springer, Cham. https://doi.org/10.1007/978-3-319-27119-4_17
Download citation
DOI: https://doi.org/10.1007/978-3-319-27119-4_17
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-27118-7
Online ISBN: 978-3-319-27119-4
eBook Packages: Computer ScienceComputer Science (R0)