A comparison of CUDA and OpenACC: Accelerating the Tsunami Simulation EasyWave

Conference: ARCS 2014 - 27th International Conference on Architecture of Computing Systems
02/25/2014 - 02/28/2014 at Luebeck, Deutschland

Proceedings: ARCS 2014

Pages: 5Language: englishTyp: PDF

Personal VDE Members are entitled to a 10% discount on this title

Christgau, Steffen; Spazier, Johannes; Schnor, Bettina (Institute of Computer Science, University of Potsdam, August-Bebel-Straße 89, 14482 Potsdam, Germany)
Hammitzsch, Martin; Babeyko, Andrey; Waechter, Joachim (GFZ German Research Centre for Geosciences, Telegrafenberg, 14473 Potsdam, Germany)

This paper presents an GPU accelerated version of the tsunami simulation EasyWave. Using two different GPU generations (Nvidia Tesla and Fermi) different optimization techniques were applied to the application following the principle of locality. Their performance impact was analyzed for both hardware generations. The Fermi GPU not only has more cores, but also possesses a L2 cache shared by all streaming multiprocessors. It is revealed that even the most tuned code on the Tesla does not reach the performance of the unoptimized code on the Fermi GPU. Further, a comparison between CUDA and OpenACC shows that the platform independent approach does not reach the speed of the native CUDA code. A deeper analysis shows that memory access patterns have a critical impact on the compute kernels’ performance, although this seems to be caused by the compiler in use.