Efficiently simulating solid mechanics is vital across various engineering applications. As constitutive models grow more complex and simulations scale up in size, harnessing the capabilities of modern computer architectures has become essential for achieving timely results. This paper presents advancements in running parallel simulations of solid mechanics on multi-core CPUs and GPUs using a single-code implementation. This portability is made possible by the C++ matrix and array (MATAR) library, which interfaces with the C++ Kokkos library, enabling the selection of fine-grained parallelism backends (e.g., CUDA, HIP, OpenMP, pthreads, etc.) at compile time. MATAR simplifies the transition from Fortran to C++ and Kokkos, making it easier to modernize legacy solid mechanics codes. We applied this approach to modernize a suite of constitutive models and to demonstrate substantial performance improvements across different computer architectures. This paper includes comparative performance studies using multi-core CPUs along with AMD and NVIDIA GPUs. Results are presented using a hypoelastic–plastic model, a crystal plasticity model, and the viscoplastic self-consistent generalized material model (VPSC-GMM). The results underscore the potential of using the MATAR library and modern computer architectures to accelerate solid mechanics simulations.
Morgan, Nathaniel, et al. "Enabling Parallel Performance and Portability of Solid Mechanics Simulations Across CPU and GPU Architectures." Information, vol. 15, no. 11, Nov. 2024. https://doi.org/10.3390/info15110716
Morgan, Nathaniel, Yenusah, Caleb, Diaz, Adrian, et al., "Enabling Parallel Performance and Portability of Solid Mechanics Simulations Across CPU and GPU Architectures," Information 15, no. 11 (2024), https://doi.org/10.3390/info15110716
@article{osti_2476578,
author = {Morgan, Nathaniel and Yenusah, Caleb and Diaz, Adrian and Dunning, Daniel and Moore, Jacob and Heilman, Erin and Lieberman, Evan and Walton, Steven and Brown, Sarah and Holladay, Daniel and others},
title = {Enabling Parallel Performance and Portability of Solid Mechanics Simulations Across CPU and GPU Architectures},
annote = {Efficiently simulating solid mechanics is vital across various engineering applications. As constitutive models grow more complex and simulations scale up in size, harnessing the capabilities of modern computer architectures has become essential for achieving timely results. This paper presents advancements in running parallel simulations of solid mechanics on multi-core CPUs and GPUs using a single-code implementation. This portability is made possible by the C++ matrix and array (MATAR) library, which interfaces with the C++ Kokkos library, enabling the selection of fine-grained parallelism backends (e.g., CUDA, HIP, OpenMP, pthreads, etc.) at compile time. MATAR simplifies the transition from Fortran to C++ and Kokkos, making it easier to modernize legacy solid mechanics codes. We applied this approach to modernize a suite of constitutive models and to demonstrate substantial performance improvements across different computer architectures. This paper includes comparative performance studies using multi-core CPUs along with AMD and NVIDIA GPUs. Results are presented using a hypoelastic–plastic model, a crystal plasticity model, and the viscoplastic self-consistent generalized material model (VPSC-GMM). The results underscore the potential of using the MATAR library and modern computer architectures to accelerate solid mechanics simulations.},
doi = {10.3390/info15110716},
url = {https://www.osti.gov/biblio/2476578},
journal = {Information},
issn = {ISSN 2078-2489},
number = {11},
volume = {15},
place = {Switzerland},
publisher = {MDPI AG},
year = {2024},
month = {11}}