A simple GPU-accelerated two-dimensional MUSCL-Hancock solver for ideal magnetohydrodynamics

  • Authors:
  • Christopher M. Bard;John C. Dorelli

  • Affiliations:
  • University of Wisconsin, Madison, United States;NASA-GSFC, United States

  • Venue:
  • Journal of Computational Physics
  • Year:
  • 2014

Quantified Score

Hi-index 31.45

Visualization

Abstract

We describe our experience using NVIDIA@?s CUDA (Compute Unified Device Architecture) C programming environment to implement a two-dimensional second-order MUSCL-Hancock ideal magnetohydrodynamics (MHD) solver on a GTX 480 Graphics Processing Unit (GPU). Taking a simple approach in which the MHD variables are stored exclusively in the global memory of the GTX 480 and accessed in a cache-friendly manner (without further optimizing memory access by, for example, staging data in the GPU@?s faster shared memory), we achieved a maximum speed-up of ~126 for a 1024^2 grid relative to the sequential C code running on a single Intel Nehalem (2.8 GHz) core. This speedup is consistent with simple estimates based on the known floating point performance, memory throughput and parallel processing capacity of the GTX 480.