Zenan Huo , Yury Alkhimenkov , Michel Jaboyedoff , Yury Podladchikov , Ludovic Räss , Emmanuel Wyser , Gang Mei
{"title":"A high-performance backend-agnostic Material Point Method solver in Julia","authors":"Zenan Huo , Yury Alkhimenkov , Michel Jaboyedoff , Yury Podladchikov , Ludovic Räss , Emmanuel Wyser , Gang Mei","doi":"10.1016/j.compgeo.2025.107189","DOIUrl":null,"url":null,"abstract":"<div><div>We develop a user-friendly, high-performance Material Point Method (MPM) solver, <span>MaterialPointSolver.jl</span>, using the Julia language. The dual storage and interaction between material particles and the background grid limits the use of high-resolution models, and few solutions offer both performance and ease of use. Our backend-agnostic solver leverages GPU computing, enabling high-performance implementations across various platforms with a single codebase. We propose an effective memory throughput approach to evaluate GPU efficiency. The accuracy and efficiency of the solver are validated by four numerical examples, showing a 3.5<span><math><mo>×</mo></math></span> speedup on a single-threaded CPU and a 19.4<span><math><mo>×</mo></math></span> speedup on a 20-threaded CPU compared to optimized vectorized MATLAB code. Among four tested GPUs, it achieves a maximum average memory bandwidth utilization of 67%, reaching up to 78% (1453 GiB/s) in 2D tests. On the GH200 platform, the GPU shows a 21.3<span><math><mo>×</mo></math></span> speedup over its multi-threaded CPU. Our solver can handle approximately 19.7 million double-precision material particles on a consumer-grade GPU with 10 GB memory, while on the GH200, it can manage around 190 million material particles. This study introduces advanced software capabilities along with backend-agnostic framework expertise to the field of geotechnical engineering. By utilizing parallel algorithms specifically designed for MPM and integrating a newly developed performance evaluation approach, it ensures rapid prototyping and seamless transition to production. This implementation empowers researchers and practitioners to promote the widespread adoption of high-resolution MPM models in geotechnical engineering.</div></div>","PeriodicalId":55217,"journal":{"name":"Computers and Geotechnics","volume":"183 ","pages":"Article 107189"},"PeriodicalIF":5.3000,"publicationDate":"2025-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computers and Geotechnics","FirstCategoryId":"5","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0266352X25001387","RegionNum":1,"RegionCategory":"工程技术","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
引用次数: 0
Abstract
We develop a user-friendly, high-performance Material Point Method (MPM) solver, MaterialPointSolver.jl, using the Julia language. The dual storage and interaction between material particles and the background grid limits the use of high-resolution models, and few solutions offer both performance and ease of use. Our backend-agnostic solver leverages GPU computing, enabling high-performance implementations across various platforms with a single codebase. We propose an effective memory throughput approach to evaluate GPU efficiency. The accuracy and efficiency of the solver are validated by four numerical examples, showing a 3.5 speedup on a single-threaded CPU and a 19.4 speedup on a 20-threaded CPU compared to optimized vectorized MATLAB code. Among four tested GPUs, it achieves a maximum average memory bandwidth utilization of 67%, reaching up to 78% (1453 GiB/s) in 2D tests. On the GH200 platform, the GPU shows a 21.3 speedup over its multi-threaded CPU. Our solver can handle approximately 19.7 million double-precision material particles on a consumer-grade GPU with 10 GB memory, while on the GH200, it can manage around 190 million material particles. This study introduces advanced software capabilities along with backend-agnostic framework expertise to the field of geotechnical engineering. By utilizing parallel algorithms specifically designed for MPM and integrating a newly developed performance evaluation approach, it ensures rapid prototyping and seamless transition to production. This implementation empowers researchers and practitioners to promote the widespread adoption of high-resolution MPM models in geotechnical engineering.
期刊介绍:
The use of computers is firmly established in geotechnical engineering and continues to grow rapidly in both engineering practice and academe. The development of advanced numerical techniques and constitutive modeling, in conjunction with rapid developments in computer hardware, enables problems to be tackled that were unthinkable even a few years ago. Computers and Geotechnics provides an up-to-date reference for engineers and researchers engaged in computer aided analysis and research in geotechnical engineering. The journal is intended for an expeditious dissemination of advanced computer applications across a broad range of geotechnical topics. Contributions on advances in numerical algorithms, computer implementation of new constitutive models and probabilistic methods are especially encouraged.