CUDA-C implementation of the ADER-DG method for linear hyperbolic PDEs
C. E. Castro1,*, J. Behrens2, and C. Pelties31Instituto de Alta Investigación, Universidad de Tarapacá, Casilla 7D Arica, Chile 2KlimaCampus, University of Hamburg, Grindelberg 5, 20144 Hamburg, Germany 3Department of Earth and Environmental Sciences, Geophysics Section, Ludwig-Maximilians-Universität, Munich, Germany *formerly at: KlimaCampus, University of Hamburg, Hamburg, Germany
Received: 27 May 2013 – Accepted for review: 31 May 2013 – Discussion started: 13 Jul 2013
Abstract. We implement the ADER-DG numerical method using the CUDA-C language to run the code in a Graphic Processing Unit (GPU). We focus on solving linear hyperbolic partial differential equations where the method can be expressed as a combination of precomputed matrix multiplications becoming a good candidate to be used on the GPU hardware. Moreover, the method is arbitrarily high-order involving intensive work on local data, a property that is also beneficial for the target hardware. We compare our GPU implementation against CPU versions of the same method observing similar convergence properties up to a threshold where the error remains fixed. This behaviour is in agreement with the CPU version but the threshold is larger that in the CPU case. We also observe a big difference when considering single and double precision where in the first case the threshold error is significantly larger. Finally, we did observe a speed up factor in computational time but this is relative to the specific test or benchmark problem.
Castro, C. E., Behrens, J., and Pelties, C.: CUDA-C implementation of the ADER-DG method for linear hyperbolic PDEs, Geosci. Model Dev. Discuss., 6, 3743-3786, doi:10.5194/gmdd-6-3743-2013, 2013.