Model-Based Performance Analysis of the HyTeG Finite Element Framework
arXiv:2305.15116 · doi:10.1145/3592979.3593422
Abstract
In this work, we present how code generation techniques significantly improve the performance of the computational kernels in the HyTeG software framework. This HPC framework combines the performance and memory advantages of matrix-free multigrid solvers with the flexibility of unstructured meshes. The pystencils code generation toolbox is used to replace the original abstract C++ kernels with highly optimized loop nests. The performance of one of those kernels (the matrix-vector multiplication) is thoroughly analyzed using the Execution-Cache-Memory (ECM) performance model. We validate these predictions by measurements on the SuperMUC-NG supercomputer. The experiments show that the performance mostly matches the predictions. In cases where the prediction does not match, we discuss the discrepancies. Additionally, we conduct a node-level scaling study which shows the expected behavior for a memory-bound compute kernel.
References in corpus (4)
- Construction of arbitrary order finite element degree-of-freedom maps on polygonal and polyhedral cell meshes
- Exploring performance and power properties of modern multicore chips via simple machine models
- Quantifying performance bottlenecks of stencil computations using the Execution-Cache-Memory model
- A structure-exploiting numbering algorithm for finite elements on extruded meshes, and its performance evaluation in Firedrake