Roofline Guided Design and Analysis of a Multi-stencil CFD Solver for Multicore Performance
Roofline Guided Design and Analysis of a Multi-stencil CFD Solver for Multicore Performance
复制标题
DOI:
10.1109/ipdps.2018.00085
复制
发表时间:
2018-05
期刊:
影响因子:
--
通讯作者:
Bahareh Mostafazadeh;F. Marti;Feng Liu;Aparna Chandramowlishwaran
中科院分区:
文献类型:
--
作者:
Bahareh Mostafazadeh;F. Marti;Feng Liu;Aparna Chandramowlishwaran
This paper presents the design and optimization of a Computational Fluid Dynamics (CFD) solver. Our solver is a structured mesh finite-volume code that simulates the fluid motion of compressible viscous flow at transonic speeds. One of the main challenges in this solver is the interaction between multi-stencils with different computational intensities and distinct memory access patterns. In this paper, we address the above challenge to design a high-performance multi-stencil solver on multicore systems. We use the roofline model as a guideline for choosing optimizations best suited for increasing the computational intensity and achieving a higher percentage of the machine peak performance. We show that optimizations and parallelizations combined, our solver achieves 105X, 159X, and 160X speedup compared to the baseline implementation on Intel Haswell, AMD Abu Dhabi, and Intel Broadwell respectively. We also compare against Domain Specific Languages (DSL), specifically Halide. Our hand-tuned solver outperforms code generated by Halide by up to 24X. Looking forward, we identify new opportunities to improve DSL's to bridge this gap.