English

Finite Element Integration with Quadrature on the GPU

Mathematical Software 2016-07-15 v1

Abstract

We present a novel, quadrature-based finite element integration method for low-order elements on GPUs, using a pattern we call \textit{thread transposition} to avoid reductions while vectorizing aggressively. On the NVIDIA GTX580, which has a nominal single precision peak flop rate of 1.5 TF/s and a memory bandwidth of 192 GB/s, we achieve close to 300 GF/s for element integration on first-order discretization of the Laplacian operator with variable coefficients in two dimensions, and over 400 GF/s in three dimensions. From our performance model we find that this corresponds to 90\% of our measured achievable bandwidth peak of 310 GF/s. Further experimental results also match the predicted performance when used with double precision (120 GF/s in two dimensions, 150 GF/s in three dimensions). Results obtained for the linear elasticity equations (220 GF/s and 70 GF/s in two dimensions, 180 GF/s and 60 GF/s in three dimensions) also demonstrate the applicability of our method to vector-valued partial differential equations.

Keywords

Cite

@article{arxiv.1607.04245,
  title  = {Finite Element Integration with Quadrature on the GPU},
  author = {Matthew G. Knepley and Karl Rupp and Andy R. Terrel},
  journal= {arXiv preprint arXiv:1607.04245},
  year   = {2016}
}

Comments

14 pages, 6 figures

R2 v1 2026-06-22T14:55:00.774Z