Optimizing the performance of the spectral/hp element method with collective linear algebra operations - Moxey,D; Cantwell,C; Kirby,RM; Sherwin,S (Computer Methods in Applied Mechanics and Engineering, 2016)
As computing hardware evolves, increasing core counts mean that memory bandwidth is becomingthe deciding factor in attaining peak performance of numerical methods. High-orderfinite element methods, such as those implemented in the spectral/hp framework Nektar++,are particularly well-suited to this environment. Unlike low-order methods that typicallyutilize sparse storage, matrices representing high-order operators have greater density andricher structure. In this paper, we show how these qualities can be exploited to increaseruntime performance on nodes that comprise a typical high-performance computing system,by amalgamating the action of key operators on multiple elements into a single, memorye!cientblock. We investigate di↵erent strategies for achieving optimal performance acrossa range of polynomial orders and element types. As these strategies all depend on externalfactors such as BLAS implementation and the geometry of interest, we present a techniquefor automatically selecting the most e!cient strategy at runtime.