Algorithms and data structures for matrix-free finite element operators with MPI-parallel sparse multi-vectors

07/01/2019
by   Denis Davydov, et al.
0

Traditional solution approaches for problems in quantum mechanics scale as 𝒪(M^3), where M is the number of electrons. Various methods have been proposed to address this issue and obtain linear scaling 𝒪(M). One promising formulation is the direct minimization of energy. Such methods take advantage of physical localization of the solution, namely that the solution can be sought in terms of non-orthogonal orbitals with local support. In this work a numerically efficient implementation of sparse parallel vectors within the open-source finite element library deal.II is proposed. The main algorithmic ingredient is the matrix-free evaluation of the Hamiltonian operator by cell-wise quadrature. Based on an a-priori chosen support for each vector we develop algorithms and data structures to perform (i) matrix-free sparse matrix multivector products (SpMM), (ii) the projection of an operator onto a sparse sub-space (inner products), and (iii) post-multiplication of a sparse multivector with a square matrix. The node-level performance is analyzed using a roofline model. Our matrix-free implementation of finite element operators with sparse multivectors achieves the performance of 157 GFlop/s on Intel Cascade Lake architecture. Strong and weak scaling results are reported for a typical benchmark problem using quadratic and quartic finite element bases.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset