Parallel Assembly of Finite Element Matrices on Multicore Computers
27 Pages Posted: 27 Mar 2024
Abstract
A complete suite of algorithms to implement parallel assembly of sparse finite element matriceson multicore computers is presented. The approach is broken down into six algorithms. The goal is to cater both to nonlinear computations, where it is possible to amortize sequential algorithms over multiple assembly passes, and linear computations, where sequential algorithms cannot be amortized. Therefore, we consider the entire process, starting with the mesh, and finishing with the sparse matrix in the compressed column format, to compare meaningfully parallel computation with the sequential implementation.Importantly, nearly the entire construction of the sparse matrix is parallelized (with the sole exception of element coloring).Numerical experiments arecarried out on three distinct multicore computers with up to 64 cores, and the resultsindicate that decent scaling can be obtained up to 32 computing threads.The algorithms are described in the programming language Julia, and their complete source code is available on Github.
Keywords: parallel assembly, sparse matrix, a multicore computer, finite element method
Suggested Citation: Suggested Citation