Hostile Cache Implications for Small, Dense Linear Solves

Deakin, Tom and Cownie, James and McIntosh-Smith, Simon and Lovegrove, Justin and Smedley-Stevenson, Richard

Workshop on Memory Centric High Performance Computing held in conjunction with Supercomputing (MCHPC), 2020

Abstract

The full assembly of the stiffness matrix in finite element codes can be prohibitive in terms of memory footprint resulting from storing that enormous matrix. An optimisation and work around, particularly effective for discontinuous Galerkin based approaches, is to construct and solve the small dense linear systems locally within each element and avoid the global assembly entirely. The different independent linear systems can be solved concurrently in a batched manner, however we have found that the memory subsystem can show destructive behaviour in this paradigm, severely affecting the performance. In this paper we demonstrate the range of performance that can be obtained by allocating the local systems differently, along with evidence to attribute the reasons behind these differences.

@inproceedings{mchpc20,
  author = {Deakin, Tom and Cownie, James and McIntosh-Smith, Simon and Lovegrove, Justin and Smedley-Stevenson, Richard},
  title = {{Hostile Cache Implications for Small, Dense Linear Solves}},
  booktitle = {{Workshop on Memory Centric High Performance Computing held in conjunction with Supercomputing (MCHPC)}},
  year = {2020},
  publisher = {{IEEE}},
  doi = {10.1109/MCHPC51950.2020.00010},
  keywords = {Conferences and Workshops}
}