Vectorized Higher Order Finite Difference Kernels

Gerhard Zumbusch
Friedrich-Schiller-Universitat Jena, Institut fur Angewandte Mathematik, 07743 Jena, Germany
State-of-the-Art in Scientific and Parallel Computing (PARA), 2012


   author={G. Zumbusch},

   title={Vectorized Higher Order Finite Difference Kernels},

   booktitle={PARA 2012, State-of-the-Art in Scientific and Parallel Computing},


   editor={P. Manninen},









Download Download (PDF)   View View   Source Source   



Several highly optimized implementations of Finite Difference schemes are discussed. The combination of vectorization and an interleaved data layout, spatial and temporal loop tiling algorithms, loop unrolling, and parameter tuning lead to efficient computational kernels in one to three spatial dimensions, truncation errors of order two to twelve, and isotropic and compact anisotropic stencils. The kernels are implemented on and tuned for several processor architectures like recent Intel Sandy Bridge, Ivy Bridge and AMD Bulldozer CPU cores, all with AVX vector instructions as well as Nvidia Kepler and Fermi and AMD Southern and Northern Islands GPU architectures, as well as some older architectures for comparison. The kernels are either based on a cache aware spatial loop or on time-slicing to compute several time steps at once. Furthermore, vector components can either be independent, grouped in short vectors of SSE, AVX or GPU warp size or in larger virtual vectors with explicit synchronization. The optimal choice of the algorithm and its parameters depend both on the Finite Difference stencil and on the processor architecture.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2017 hgpu.org

All rights belong to the respective authors

Contact us: