Title
Optimization of lattice Boltzmann simulations on heterogeneous computers
Abstract
AbstractHigh-performance computing systems are more and more often based on accelerators. Computing applications targeting those systems often follow a host-driven approach, in which hosts offload almost all compute-intensive sections of the code onto accelerators; this approach only marginally exploits the computational resources available on the host CPUs, limiting overall performances. The obvious step forward is to run compute-intensive kernels in a concurrent and balanced way on both hosts and accelerators. In this paper, we consider exactly this problem for a class of applications based on lattice Boltzmann methods, widely used in computational fluid dynamics. Our goal is to develop just one program, portable and able to run efficiently on several different combinations of hosts and accelerators. To reach this goal, we define common data layouts enabling the code to exploit the different parallel and vector options of the various accelerators efficiently, and matching the possibly different requirements of the compute-bound and memory-bound kernels of the application. We also define models and metrics that predict the best partitioning of workloads among host and accelerator, and the optimally achievable overall performance level. We test the performance of our codes and their scaling properties using, as testbeds, HPC clusters incorporating different accelerators: Intel Xeon Phi many-core processors, NVIDIA GPUs, and AMD GPUs.
Year
DOI
Venue
2019
10.1177/1094342017703771
Periodicals
Keywords
DocType
Volume
Lattice Boltzmann methods, accelerators, performance modeling, heterogeneous systems, performance portability
Journal
33
Issue
ISSN
Citations 
1
1094-3420
4
PageRank 
References 
Authors
0.41
15
4
Name
Order
Citations
PageRank
Enrico Calore1508.63
Alessandro Gabbana2253.02
Sebastiano Fabio Schifano319128.37
R. Tripiccione47312.68