Performance Optimisation of Smoothed Particle Hydrodynamics Algorithms for Multi/Many-Core Architectures
Leibniz Supercomputing Centre of the Bavarian Academy of Sciences and Humanities, Garching b. Munchen, Germany
arXiv:1612.06090 [cs.DC], (19 Dec 2016)
@article{baruffa2016performance,
title={Performance Optimisation of Smoothed Particle Hydrodynamics Algorithms for Multi/Many-Core Architectures},
author={Baruffa, Fabio and Iapichino, Luigi and Hammer, Nicolay J. and Karakasis, Vasileios},
year={2016},
month={dec},
archivePrefix={"arXiv"},
primaryClass={cs.DC}
}
We describe a strategy for code modernisation of Gadget, a widely used community code for computational astrophysics. The focus of this work is on node-level performance optimisation, targeting current multi/many-core Intel architectures. We identify and isolate a sample code kernel, which is representative of a typical Smoothed Particle Hydrodynamics (SPH) algorithm. The code modifications include threading parallelism optimisation, change of the data layout into Structure of Arrays (SoA), auto-vectorisation and algorithmic improvements in the particle sorting. We measure lower execution time and improved threading scalability both on Intel Xeon (2.6x on Ivy Bridge) and Xeon Phi (13.7x on Knights Corner) systems. First tests on second generation Xeon Phi (Knights Landing) demonstrate the portability of the devised optimisation solutions to upcoming architectures.
December 20, 2016 by hgpu