3D finite difference computation on GPUs using CUDA

  • Authors:
  • Paulius Micikevicius

  • Affiliations:
  • NVIDIA, Santa Clara, CA

  • Venue:
  • Proceedings of 2nd Workshop on General Purpose Processing on Graphics Processing Units
  • Year:
  • 2009

Quantified Score

Hi-index 0.01

Visualization

Abstract

In this paper we describe a GPU parallelization of the 3D finite difference computation using CUDA. Data access redundancy is used as the metric to determine the optimal implementation for both the stencil-only computation, as well as the discretization of the wave equation, which is currently of great interest in seismic computing. For the larger stencils, the described approach achieves the throughput of between 2,400 to over 3,000 million of output points per second on a single Tesla 10-series GPU. This is roughly an order of magnitude higher than a 4-core Harpertown CPU running a similar code from seismic industry. Multi-GPU parallelization is also described, achieving linear scaling with GPUs by overlapping inter-GPU communication with computation.