Abstract
Peridynamics is a robust theoretical framework for modelling a variety of phenomena in continuum mechanics. However, the same aspects of the peridynamic formulation that lend it versatility compound its computational complexity, and an efficient implementation of the method remains an open problem. Fortunately, peridynamics is very well-suited for parallelism, and the rapid improvement of GPU technology in recent years has provided new opportunities for acceleration. This work details an extension of the approach used by PeriPy, a recent bond-based GPU peridynamic modeller, to state-based peridynamics. Two additional methods are presented, a naive implementation based on prior work to serve as a comparison baseline, and a novel approach which aims to minimize GPU memory consumption and thereby maximize the problem size that can be executed on a given GPU. This novel memory-optimized method yields an acceleration of 3.6× relative to PeriPy, and a 10× increase in representable problem size. Additionally, results are included for a reduced version of this implementation using single-precision operations and removing damage calculations, which yields a further 63× speedup.
Similar content being viewed by others
Data Availability
The state-based adaptation of PeriPy can be found as a fork from the original PeriPy project at https://github.com/jd-bartlett96/PeriPy. The naive and memory-optimized CUDA implementations can be found at https://github.com/jd-bartlett96/peridynamics. The datasets generated and analyzed in this work are available from the corresponding author on reasonable request.
References
Groetsch C (2003) Functional analysis. In: Meyers RA (ed) Encyclopedia of physical science and technology, 3rd edn, Academic Press, New York, pp 337 – 353. http://doi.org/10.1016/B0-12-227410-5/00269-6
Silling S (2000) Reformulation of elasticity theory for discontinuities and long-range forces. J Mech Phys Solids 48:175–209. https://doi.org/10.1016/S0022-5096(99)00029-0
Foster JT, Silling SA, Chen WW (2009) Viscoplasticity using peridynamics. Int J Numer Meth Eng 81(10):1242–1258. https://doi.org/10.1002/nme.2725
Bobaru F, Duangpanya M (2010) The peridynamic formulation for transient heat conduction. Int J Heat Mass Transf 53(19-20):4047-4059. https://doi.org/10.1016/j.ijheatmasstransfer.2010.05.024
Madenci E, Oterkus E (2013b) Fully coupled peridynamic thermomechanics. Peridynamic Theory and Its Applications 245-278. http://doi.org/10.1007/978-1-4614-8465-3-13
Bazant ZP, Luo W, Chau VT, Bessa MA (2016) Wave dispersion and basic concepts of peridynamics compared to classical nonlocal damage models. Int J Appl Mech 83(11). https://doi.org/10.1115/1.4034319
Nishawala VV, Ostoja-Starzewski M, Leamy MJ, Demmie PN (2016) Simulation of elastic wave propagation using cellular automata and peridynamics, and comparison with experiments. Wave Motion 60:73-83, http://doi.org/10.1016/j.wavemoti.2015.08.005
Sau N, Medina-Mendoza J, Borbon-Almada AC (2019) Peridynamic modelling of reinforced concrete structures. Eng Fail Anal 103:266–274
Tong Q, Li S (2016) Multiscale coupling of molecular dynamics and peridynamics. J Mech Phys Solids 95:169-187. http://doi.org/10.1016/j.jmps.2016.05.032
Nguyen CT, Oterkus S (2020) Ordinary state-based peridynamic model for geometrically nonlinear analysis. Eng Fract Mech 224. https://doi.org/10.1016/j.engfracmech.2019.106750
Dipasquale D, Zaccariotto M, Galvanetto U (2014) Crack propagation with adaptive grid refinement in 2d peridynamics. Int J Fract 190(1-2):1-22. http://doi.org/10.1007/s10704-014-9970-4
Madenci E, Oterkus E (2013a) Coupling of the peridynamic theory and finite element method. Peridynamic Theory and Its Applications 192-202. http://doi.org/10.1007/978-1-4614-8465-3-11
Silling S (2003) Dynamic fracture modeling with a meshfree peridynamic code. Computational Fluid and Solid Mechanics 641-644. http://doi.org/10.1016/b978-008044046-0.50157-3
Parks ML, Lehoucq RB, Plimpton SJ, Silling SA (2008) Implementing peridynamics within a molecular dynamics code. Comput Phys Commun 179(11):777–783
Parks M, Littlewood D, Mitchell J, Silling S, Aidun J, Turner D, Foster J (2012) Peridigm. https://github.com/peridigm/peridigm, http://doi.org/10.2172/1055619
Corporation N (2022b) Nvidia a100 tensor core GPU architecture. https://images.nvidia.com/aem-dam/en-zz/Solutions/data-center/nvidia-ampere-architecture-whitepaper.pdf
Diehl P (2012) Implementierung eines peridynamik-verfahrens auf gpu. PhD thesis, University of Stuttgart
Kaiser H, Diehl P, Lemoine AS, Lelbach BA, Amini P, Berge A, Biddiscombe J, Brandt SR, Gupta N, Heller T et al (2020) HPX-the C++ standard library for parallelism and concurrency. Journal of Open Source Software 5(53):2352
Bartlett JD, Storti D (2021b) A single-card GPU implementation of peridynamics. Proceedings of the ASME 2021 International Design Engineering Technical Conferences & Computers and Information in Engineering Conference
Li X, Ye H, Zhang J (2021) Redesigning Peridigm on SIMT accelerators for high-performance Peridynamics simulations. 2021 IEEE International Parallel and Distributed Processing Symposium (IPDPS). http://doi.org/10.1109/ipdps49936.2021.00052
Boys B, Dodwell T, Hobbs M, Girolami M (2021) PeriPy - a high performance OpenCL peridynamics package. Comput Methods Appl Mech Eng 386:114085
Silling SA, Lehoucq RB (2008) Convergence of peridynamics to classical elasticity theory. J Elast 93(1):13-37. http://doi.org/10.1007/s10659-008-9163-3
Silling S, Epton M, Weckner O, Xu J, Askari E (2007) Peridynamic states and constitutive modeling. J Elast 88(2):151–184
Madenci E, Oterkus E (2016) Peridynamic theory and its applications. Springer-Verlag
Corporation N (2022a) Cuda c++ programming guide. https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html
Harris M et al (2007) Optimizing parallel reduction in CUDA. Nvidia Developer Technology 2(4):70
Bartlett J, Storti D (2021) A generalized fictitious node approach for surface effect correction in peridynamic simulation. Journal of Peridynamics and Nonlocal Modeling. https://doi.org/10.1007/s42102-020-00045-8
Le QV, Bobaru F (2018) Surface corrections for peridynamic models in elasticity and fracture. Comput Mech 61:499–518
Bailey T (2005) An introduction to the c programming language and software design. July-2005
Funding
The authors gratefully acknowledge financial support from the US Army Research Office under grant number W911NF-17-1-0595.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of Interest
The authors declare no competing interests.
Additional information
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Bartlett, J., Storti, D. A Novel Memory-Optimized Approach for Large-scale Peridynamics on the GPU. J Peridyn Nonlocal Model 5, 472–490 (2023). https://doi.org/10.1007/s42102-022-00088-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s42102-022-00088-z