This chapter discusses multiple strategies to perform general computations on unstructured grids, with specific application to the assembly of matrices in finite element methods (FEMs). It reviews and applies two methods for assembly of FEMs to produce and accelerate a FEM model for a nonlinear hyperelastic solid where the assembly, solution, update, and visualization stages are performed solely on the GPU, benefiting from speed-ups in each stage and avoiding costly GPUCPU transfers of data. For each method, the chapter discusses the NVIDIA GPU hardware's limiting resources, optimizations, key data structures, and dependence of the performance with respect to problem size, element size, and GPU hardware generation. Furthermore, this chapter informs potential users of the benefits of GPU technology, provides guidelines to help them implement their own FEM solutions, gives potential speed-ups that can be expected, and provides source code for reference. © 2012 Elsevier Inc. All rights reserved.
|Original language||English (US)|
|Title of host publication||GPU Computing Gems Jade Edition|
|Number of pages||19|
|State||Published - 2012|
Bibliographical noteKAUST Repository Item: Exported on 2020-10-01
Acknowledgements: This work was partially supported by a research grant from the Academic Excellence Alliance program between King Abdullah University of Science and Technology and Stanford University. We also thank the Army High-Performance Computing and Research Center (AHPCRC) at Stanford for its support, as well as Juan-Pablo Samper-Mejia and Vivian Nguyen for their contribution during the 2010 AHPCRC Summer Institute.
This publication acknowledges KAUST support, but has no KAUST affiliated authors.