Performance Assessment of A Multi-block Incompressible Navier-Stokes Solver using Directive-based GPU Programming in a Cluster Environment
Department of Mechanical and Aerospace Engineering, North Carolina State University
AIAA Aerospace Sciences Meeting, 2014
@article{luo2013performance,
title={Performance Assessment of A Multi-block Incompressible Navier-Stokes Solver using Directive-based GPU Programming in a Cluster Environment},
author={Luo, Lixiang and Edwards, Jack R and Luo, Hong and Mueller, Frank},
year={2013}
}
OpenACC, a directive-based GPU programing standard, is emerging as a promising technology for massively-parallel accelerators, such as General-purpose computing on graphics processing units (GPGPU), Accelerated Processing Unit (APU) and Many Integrated Core Architecture (MIC). The heterogeneous nature of these accelerators call for careful designs of parallel algorithms and data management, which imposes a great hurdle for general scientific computation. Similar to OpenMP, the directive-based approach of OpenACC hides many underlying implementation details, thus significantly reduces the programming complexity and increases code portability. However, many challenges remain, due to the very high granularity of GPGPU and the relatively narrow interconnection bandwidth among GPUs, which is particularly restrictive when cross-node data exchange is involved in a cluster environment. In our study, a multi-block incompressible Navier-Stokes solver is ported for GPGPU using OpenACC and MVAPICH2. A performance analysis is carried out based on the profiling of this solver running in a InfiniBand cluster with nVidia GPUs, which helps to identify the potentials of directive-based GPU programming and directions for further improvement.
February 28, 2014 by hgpu