×

N ways to simulate short-range particle systems: automated algorithm selection with the node-level library AutoPas. (English) Zbl 07699243

Summary: AutoPas is an open-source C++ library delivering optimal node-level performance by providing the ideal algorithmic configuration for an arbitrary scenario in a given short-range particle simulation. It acts as a black-box container, internally implementing an extensive set of algorithms, parallelization strategies, and optimizations that are combined dynamically according to the state of the simulation via auto-tuning. This paper gives an overview of the high-level user perspective, as well as the internal view, covering the implemented techniques and features. The library is showcased by incorporating it into the codes LAMMPS and ls1 mardyn, and by investigating various applications. We further outline node-level shared-memory performance and scalability of our auto-tuning software which is comparable to LAMMPS.

MSC:

68-XX Computer science
Full Text: DOI

References:

[1] Durrant, J. D.; McCammon, J. A., BMC Biol., 9, 1, 1-9 (2011)
[2] Springel, V., Annu. Rev. Astron. Astrophys., 48, 391-430 (2010)
[3] Toma, M., Significances Bioeng. Biosci., 1, 1, 1-4 (2017)
[4] Espanol, P.; Warren, P. B., J. Chem. Phys., 146, 15, Article 150901 pp. (2017)
[5] Fraga Filho, C.; Schuina, L.; Porto, B., Arch. Comput. Methods Eng., 1-15 (2019)
[6] Verlet, L., Phys. Rev., 159, 1, 98 (1967)
[7] Mickens, R. E., Found. Phys., 9, 3-4, 261-269 (1979)
[8] Griebel, M.; Knapek, S.; Zumbusch, G., Numerical Simulation in Molecular Dynamics: Numerics, Algorithms, Parallelization, Applications, vol. 5 (2007), Springer Science & Business Media · Zbl 1131.76001
[9] Lennard-Jones, J. E., (Proceedings of the Royal Society of London A: Mathematical, Physical and Engineering Sciences, vol. 106 (1924), The Royal Society), 463-477
[10] Rapaport, D. C.; Blumberg, R. L.; McKay, S. R.; Christian, W., Comput. Phys., 10, 5, 456 (1996)
[11] Gratl, F. A.; Seckler, S.; Tchipev, N.; Bungartz, H.-J.; Neumann, P., (2019 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW) (2019), IEEE), 748-757
[12] Eckhardt, W., Efficient hpc implementations for large-scale molecular simulation in process engineering (Jun. 2014), Verlag Dr. Hut, Dissertation, Institut für Informatik, Technische Universität München, München
[13] Gonnet, P., J. Comput. Chem., 28, 2, 570-573 (2007)
[14] Páll, S.; Hess, B., Comput. Phys. Commun., 184, 12, 2641-2650 (2013)
[15] Tchipev, N. P., Algorithmic and implementational optimizations of molecular dynamics simulations for process engineering (2020)
[16] Brooks, F. P., Computer, 20, 4, 10-19 (1987)
[17] Rice, J. R., (Advances in Computers, vol. 15 (1976), Elsevier), 65-118
[18] Niethammer, C.; Becker, S.; Bernreuther, M.; Buchholz, M.; Eckhardt, W.; Heinecke, A.; Werth, S.; Bungartz, H.-J.; Glass, C. W.; Hasse, H.; Vrabec, J.; Horsch, M., J. Chem. Theory Comput., 10, 10, 4455-4464 (2014)
[19] Plimpton, S., J. Comput. Phys., 117, 1, 1-19 (1995) · Zbl 0830.65120
[20] Abraham, M. J.; Murtola, T.; Schulz, R.; Páll, S.; Smith, J. C.; Hess, B.; Lindahl, E., SoftwareX, 1, 19-25 (2015)
[21] Hitz, T.; Heinen, M.; Vrabec, J.; Munz, C.-D., J. Comput. Phys., 402, Article 109077 pp. (2020) · Zbl 1453.76095
[22] Seckler, S.; Gratl, F. A.; Heinen, M.; Vrabec, J.; Bungartz, H.-J.; Neumann, P., J. Comput. Sci., 50, Article 101296 pp. (2021)
[23] Seckler, S.; Tchipev, N.; Bungartz, H.-J.; Neumann, P., (2016 IEEE 23rd International Conference on High Performance Computing (2016)), 101-110
[24] Tchipev, N.; Seckler, S.; Heinen, M.; Vrabec, J.; Gratl, F.; Horsch, M.; Bernreuther, M.; Glass, C. W.; Niethammer, C.; Hammer, N.; Krischok, B.; Resch, M.; Kranzlmüller, D.; Hasse, H.; Bungartz, H.-J.; Neumann, P., Int. J. High Perform. Comput. Appl., Article 1094342018819741 pp. (2018)
[25] Eckhardt, W.; Heinecke, A.; Bader, R.; Brehm, M.; Hammer, N.; Huber, H.; Kleinhenz, H.-G.; Vrabec, J.; Hasse, H.; Horsch, M.; Bernreuther, M.; Glass, C. W.; Niethammer, C.; Bode, A.; Bungartz, H.-J., (International Supercomputing Conference (2013), Springer), 1-12
[26] Mattson, W.; Rice, B. M., Comput. Phys. Commun., 119, 2-3, 135-148 (1999)
[27] Newton, I., Philosophiae Naturalis Principia Mathematica, vol. 1 (1687), Edmond Halley
[28] Bonet, J.; Rodríguez-Paz, M. X., J. Comput. Phys., 209, 2, 541-558 (2005) · Zbl 1138.76412
[29] Tchipev, N.; Wafai, A.; Glass, C. W.; Eckhardt, W.; Heinecke, A.; Bungartz, H.-J.; Neumann, P., (European Conference on Parallel Processing (2015), Springer), 774-785
[30] Gamma, E., Design Patterns: Elements of Reusable Object-Oriented Software (1995), Pearson Education India
[31] Werth, S.; Horsch, M.; Hasse, H., J. Mol. Liq., 235, 126-134 (2017)
[32] Vrabec, J.; Kedia, G. K.; Fuchs, G.; Hasse, H., Mol. Phys., 104, 09, 1509-1527 (2006)
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.