Methods for compressible fluid simulation on GPUs using high-order finite differences
Abstract
We focus on implementing and optimizing a sixth-order finite-difference solver for simulating compressible fluids on a GPU using third-order Runge-Kutta integration. Since graphics processing units perform well in data-parallel tasks, this makes them an attractive platform for fluid simulation. However, high-order stencil computation is memory-intensive with respect to both main memory and the caches of the GPU. We present two approaches for simulating compressible fluids using 55-point and 19-point stencils. We seek to reduce the requirements for memory bandwidth and cache size in our methods by using cache blocking and decomposing a latency-bound kernel into several bandwidth-bound kernels. Our fastest implementation is bandwidth-bound and integrates 343 million grid points per second on a Tesla K40t GPU, achieving a 3 . 6 × speedup over a comparable hydrodynamics solver benchmarked on two Intel Xeon E5-2690v3 processors. Our alternative GPU implementation is latency-bound and achieves the rate of 168 million updates per second.
- Publication:
-
Computer Physics Communications
- Pub Date:
- August 2017
- DOI:
- 10.1016/j.cpc.2017.03.011
- arXiv:
- arXiv:1707.08900
- Bibcode:
- 2017CoPhC.217...11P
- Keywords:
-
- Computational techniques;
- Fluid dynamics;
- Finite difference methods in fluid dynamics;
- Hydrodynamics;
- Astrophysical applications;
- Computer science and technology;
- Physics - Computational Physics;
- Astrophysics - Instrumentation and Methods for Astrophysics;
- Computer Science - Distributed;
- Parallel;
- and Cluster Computing;
- Physics - Fluid Dynamics
- E-Print:
- 14 pages, 7 figures