CPU/GPU Heterogeneous Parallel CFD Solver and Optimizations

Jianqi Lai,Hua Li,Zhengyu Tian
DOI: https://doi.org/10.1145/3208833.3208847
2018-01-01
Abstract:Graphics Processing Units (GPU) has been widely used in the area of general computing. Nowadays, CFD has dramatically benefited from the strong abilities of floating-point operation and memory bandwidth of GPU architecture. Lots of GPU-based CFD solvers have already shown that GPU has capacities in accelerating numerical simulations. Compute unified device architecture (CUDA), a general parallel computing platform and programming model, reduces program complication, brings the great opportunities to CFD, and has been successfully used to the parallel solution of compressible Navier-Stokes equations. In this paper, we present a CPU/GPU heterogeneous parallel CFD solver which established on NVIDIA GTX 1070 GPU, and the serial code executes on the host, the parallel code performs on the device. Three optimization methods are discussed: maximize utilization, reducing global memory access and minimize data transfer between host and device, which further improve the performance of the solver. Two cases, including flow over sphere at Reynolds number 118 and flow over double ellipsoid, are presented to demonstrate the solver's capacities for compressible flow. Numerical results agree well with experimental data, which illustrate that the solver has a high computational precision for compressible flow.
What problem does this paper attempt to address?