  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 \times$ 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.
