×

Pseudo-random number generators for Monte Carlo simulations on ATI graphics processing units. (English) Zbl 1217.65007

Summary: Basic uniform pseudo-random number generators are implemented on ATI Graphics Processing Units (GPU). The performance results of the realized generators (multiplicative linear congruential (GGL), XOR-shift (XOR128), RANECU, RANMAR, RANLUX and Mersenne Twister (MT19937)) on CPU and GPU are discussed. The obtained speed up factor is hundreds of times in comparison with CPU. RANLUX generator is found to be the most appropriate for using on GPU in Monte Carlo simulations. The brief review of the pseudo-random number generators used in modern software packages for Monte Carlo simulations in high-energy physics is presented.

MSC:

65C10 Random number generation in numerical analysis
65C05 Monte Carlo methods
65Y15 Packaged methods for numerical algorithms
65Y20 Complexity and performance of numerical algorithms
PDFBibTeX XMLCite
Full Text: DOI arXiv

References:

[1] Egri, G. I.; Fodor, Z.; Hoelbling, C.; Katz, S. D.; Nogradi, D.; Szabo, K. K., Comput. Phys. Comm., 177, 631 (2007)
[2] Clark, M. A.; Babich, R.; Barros, K.; Brower, R. C.; Rebbi, C., Comput. Phys. Comm., 181, 1517 (2010) · Zbl 1215.81124
[3] Demchik, V.; Strelchenko, A.
[4] Anselmi, V.; Conti, G.; Di Renzo, F., PoS, LATTICE2008, 024 (2008)
[5] Preis, T.; Virnau, P.; Paul, W.; Schneider, J. J., J. Comput. Phys., 228, 4468 (2009) · Zbl 1167.82347
[6] Block, B.; Virnau, P.; Preis, T., Comput. Phys. Comm., 181, 1549 (2010) · Zbl 1219.82020
[7] Clark, M. A., PoS, LAT2009, 003 (2009)
[8] Babich, R.; Clark, M. A.; Joo, B.
[9] Yin, J.; Landau, D. P., Phys. Rev. E, 80, 051117 (2009)
[10] Anderson, A. G.; Goddard, W. A.; Schröder, P., Comput. Phys. Comm., 177, 298 (2007) · Zbl 1196.81044
[11] W. Langdon, in: GECCO ’09 Proceedings, 2009, p. 2511.; W. Langdon, in: GECCO ’09 Proceedings, 2009, p. 2511.
[12] Thomas, D.; Luk, W.
[13] Janke, W., (Grotendorst, J.; Marx, D.; Muramatsu, A., Quantum Simulations of Complex Many-Body Systems: From Theory to Algorithms, Lecture Notes. Quantum Simulations of Complex Many-Body Systems: From Theory to Algorithms, Lecture Notes, NIC Series, vol. 10 (2002), John von Neumann Institute for Computing: John von Neumann Institute for Computing Jülich), 447
[14] Marsaglia, G., DIEHARD: A battery of tests for random number generators
[15] L‘Ecuyer, P.; Simard, R., ACM Trans. Math. Software, 33, 22 (2007) · Zbl 1365.65008
[16] CERN Program Library, http://cernlib.web.cern.ch/cernlib/; CERN Program Library, http://cernlib.web.cern.ch/cernlib/
[17] FermiQCD, http://web2py.com/fermiqcd/; FermiQCD, http://web2py.com/fermiqcd/
[18] Di Pierro, M.
[20] Columbia Physics System, http://qcdoc.phys.columbia.edu/cps.html; Columbia Physics System, http://qcdoc.phys.columbia.edu/cps.html
[21] SZIN Software System, http://www.jlab.org/ edwards/szin/; SZIN Software System, http://www.jlab.org/ edwards/szin/
[22] ISAJet Monte Carlo event generator, http://www.hep.fsu.edu/ isajet/; ISAJet Monte Carlo event generator, http://www.hep.fsu.edu/ isajet/
[23] Geant4 toolkit, http://geant4.web.cern.ch/geant4/; Geant4 toolkit, http://geant4.web.cern.ch/geant4/
[24] HEPRandom module, https://proj-clhep.web.cern.ch/proj-clhep/manual/RefGuide/random.html; HEPRandom module, https://proj-clhep.web.cern.ch/proj-clhep/manual/RefGuide/random.html
[25] PYTHIA event generator, http://home.thep.lu.se/ torbjorn/Pythia.html; PYTHIA event generator, http://home.thep.lu.se/ torbjorn/Pythia.html
[26] HERWIG package, http://hepwww.rl.ac.uk/theory/seymour/herwig/; HERWIG package, http://hepwww.rl.ac.uk/theory/seymour/herwig/
[27] CompHEP package, http://comphep.sinp.msu.ru/; CompHEP package, http://comphep.sinp.msu.ru/
[28] MCQNLO package, http://www.hep.phy.cam.ac.uk/theory/webber/MCatNLO/; MCQNLO package, http://www.hep.phy.cam.ac.uk/theory/webber/MCatNLO/
[29] SHERPA package, http://projects.hepforge.org/sherpa/dokuwiki/doku.php; SHERPA package, http://projects.hepforge.org/sherpa/dokuwiki/doku.php
[30] Chroma software system, http://usqcd.jlab.org/usqcd-docs/chroma/; Chroma software system, http://usqcd.jlab.org/usqcd-docs/chroma/
[31] GENIE neutrino MC generator, http://www.genie-mc.org/; GENIE neutrino MC generator, http://www.genie-mc.org/
[32] ALPGEN package, http://mlm.home.cern.ch/mlm/alpgen/; ALPGEN package, http://mlm.home.cern.ch/mlm/alpgen/
[33] SDK ATI Stream, http://developer.amd.com/gpu/ATIStreamSDK/; SDK ATI Stream, http://developer.amd.com/gpu/ATIStreamSDK/
[34] AMD Intermediate Language (IL) Specification (v2), http://developer.amd.com/gpu/ATIStreamSDK/assets/ATI_Intermediate_Language_(IL)_Specification_v2.pdf; AMD Intermediate Language (IL) Specification (v2), http://developer.amd.com/gpu/ATIStreamSDK/assets/ATI_Intermediate_Language_(IL)_Specification_v2.pdf
[35] Comparison of ATI GPUs, http://en.wikipedia.org/wiki/Comparison_of_ATI_graphics_processing_units; Comparison of ATI GPUs, http://en.wikipedia.org/wiki/Comparison_of_ATI_graphics_processing_units
[36] ATI Catalyst display driver, http://ati.amd.com/support/driver.html; ATI Catalyst display driver, http://ati.amd.com/support/driver.html
[37] Park, S.; Miller, K., Comm. ACM, 31, 10, 1192 (1988)
[38] Marsaglia, G., J. Statist. Software, 8, 1 (2003)
[39] Panneton, F.; L‘Ecuyer, P., ACM TOMACS, 15, 4, 346 (2005) · Zbl 1390.65015
[40] L‘Ecuyer, P., Comm. ACM, 31, 6, 742 (1988)
[41] G. Marsaglia, A. Zaman, Florida State University Report FSU-SCRI-87-50, 1987.; G. Marsaglia, A. Zaman, Florida State University Report FSU-SCRI-87-50, 1987.
[42] James, F., Comput. Phys. Comm., 60, 329 (1990) · Zbl 0875.65021
[43] Marsaglia, G.; Zaman, A., Ann. Appl. Probab., 1, 462 (1991) · Zbl 0733.65005
[44] Luscher, M., Comput. Phys. Comm., 79, 100 (1994) · Zbl 0879.65002
[45] James, F., Comput. Phys. Comm., 97, 357 (1996), Erratum
[46] Matsumoto, M.; Nishimura, T., ACM TOMACS, 8, 3 (1998)
[47] Microsoft Visual C++ 2008 express edition, http://www.microsoft.com/express/download/; Microsoft Visual C++ 2008 express edition, http://www.microsoft.com/express/download/
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.