A parallel and performance portable implementation of a full-field crystal plasticity model
Caleb O. Yenusah,Nathaniel R. Morgan,Ricardo A. Lebensohn,Miroslav Zecevic,Marko Knezevic
DOI: https://doi.org/10.1016/j.cpc.2024.109190
IF: 4.717
2024-04-06
Computer Physics Communications
Abstract:We have developed a parallel implementation of an Elasto-Viscoplastic Fast Fourier Transform-based (EVPFFT) micromechanical solver to enable computationally efficient crystal plasticity modeling for polycrystalline materials. Our primary focus lies in achieving performance portability, allowing a single EVPFFT implementation to run optimally on various homogeneous architectures, including multi-core Central Processing Units (CPUs), as well as on heterogeneous computer architectures comprising multi-core CPUs and Graphics Processing Units (GPUs) from different vendors. To accomplish this goal, we have leveraged MATAR, a C++ software library that simplifies the creation and utilization of multidimensional dense or sparse matrix and array data structures. These data structures are designed to be portable across diverse architectures through the use of Kokkos, a performance-portable library. Additionally, we have employed the Message Passing Interface (MPI) to efficiently distribute the computational workload among processors. The heFFTe (Highly Efficient FFT for Exascale) library is used to facilitate the performance portability of the fast Fourier transforms (FFTs) computation. The computational performance of EVPFFT is evaluated and presented in terms of parallel scalability and simulation runtime on different high-performance computing (HPC) architectures. The utility of the developed framework to efficiently simulate the micro-mechanical fields in polycrystalline microstructures in engineering applications is discussed. Program summary Program Title: EVPFFT CPC Library link to program files: https://doi.org/10.17632/2k8579fyyv.1 Developer's repository link: https://github.com/lanl/Fierro Licensing provisions: BSD 3-Clause License Programming language: C++ External routines/libraries: MPI, Kokkos, MATAR, HeFFTe, HDF5 Nature of problem: EVPFFT is a crystal plasticity code designed to compute micro-mechanical fields within a polycrystalline representative volume element (RVE) and predict the macroscale response of the RVE. Solution method: EVPFFT uses the periodic Green's function method in Fourier space to solve the field equations of static stress equilibrium in a periodic spatial domain.
physics, mathematical,computer science, interdisciplinary applications