High-Performance High-Order Stencil Computation on FPGAs Using OpenCL
Tokyo Institute of Technology, Tokyo, Japan
arXiv:2002.05983 [cs.DC], (14 Feb 2020)
@misc{zohouri2020highperformance,
title={High-Performance High-Order Stencil Computation on FPGAs Using OpenCL},
author={Hamid Reza Zohouri and Artur Podobas and Satoshi Matsuoka},
year={2020},
eprint={2002.05983},
archivePrefix={arXiv},
primaryClass={cs.DC}
}
In this paper we evaluate the performance of FPGAs for high-order stencil computation using High-Level Synthesis. We show that despite the higher computation intensity and on-chip memory requirement of such stencils compared to first-order ones, our design technique with combined spatial and temporal blocking remains effective. This allows us to reach similar, or even higher, compute performance compared to first-order stencils. We use an OpenCL-based design that, apart from parameterizing performance knobs, also parameterizes the stencil radius. Furthermore, we show that our performance model exhibits the same accuracy as first-order stencils in predicting the performance of high-order ones. On an Intel Arria 10 GX 1150 device, for 2D and 3D star-shaped stencils, we achieve over 700 and 270 GFLOP/s of compute performance, respectively, up to a stencil radius of four. These results outperform the state-of-the-art YASK framework on a modern Xeon for 2D and 3D stencils, and outperform a modern Xeon Phi for 2D stencils, while achieving competitive performance in 3D. Furthermore, our FPGA design achieves better power efficiency in almost all cases.
February 23, 2020 by hgpu