Abstract
This paper addresses the resolution of the transport (advection–diffusion) equation in 3D by the use of the finite difference method as a discretization technique. In particular, our focus is the comparison of different time schemes (implicit, explicit and predictor-corrector) from the viewpoint of the numerical accuracy and the performance scalability in the use of massively parallel platforms. More in detail, each scheme is implemented in two parallel codes (C+CUDA and C+OpenMP), and in a sequential one (in C). We evaluated the performance of each implementation using several sizes of grid, and also, we measured the precision of these schemes for different discretization levels. The obtained results show that the GPU-based implementations offer significant speed-ups as compared to the CPU counterpart. Moreover, the explicit methods offer a much better performance scalability on this kind of massively parallel devices. This situation reveals that explicit methods can outperform implicit ones even if the accuracy is considered at least in contexts of non stiff problems.



Similar content being viewed by others
References
Brandao GG (2009) Solution of the transport equation using graphical processing units. Ph.D. thesis, MSc thesis IST
Chapman B, Jost G, Van Der Pas R (2008) Using OpenMP portable shared memory parallel programming, vol 10. MIT press, New York
Cotronis Y, Konstantinidis E, Missirlis NM (2014) A GPU implementation for solving the convection diffusion equation using the local modified SOR method. In: Kindratenko V (ed) Numerical computations with GPUs. Springer, Switzerland, pp 207–221
Deserno F, Hager G, Brechtefeld F, Wellein G (2002) Basic optimization strategies for cfd-codes. Technical report, Regionales Rechenzentrum Erlangen
Ferziger J, Perić M (2002) Computational methods for fluid dynamics. Numerical methods: research and development. Springer, New York
Igounet P, Dufrechou E, Pedemonte M, Ezzatti P (2012) A study on mixed precision techniques for a GPU-based SIP solver, pp 7–12. doi:10.1109/WAMCA.2012.17
Kirk DB, Wen-mei WH (2012) Programming massively parallel processors: a hands-on approach. Newnes, Oxford
Micikevicius P (2009) 3D finite difference computation on GPUs using CUDA. In: Proceedings of 2nd workshop on general purpose processing on graphics processing units, pp 79–84, ACM
Molnar F, Izsak F, Meszaros R, Lagzi I (2011) Simulation of reaction–diffusion processes in three dimensions using cuda. Chemometr Intell Lab Syst 108(1):76–85
Nvidia C (2015) Nvidia CUDA C Programming Guide, version 7.0. Nvidia Corporation
Silva J, Hagopian J, Burdiat M, Dufrechou E, Pedemonte M, Gutiérrez A, Cazes G, Ezzatti P (2014) Another step to the full GPU implementation of the weather research and forecasting model. J Supercomput 70(2):746–755. doi:10.1007/s11227-014-1193-y
Smith GD (1985) Numerical solution of partial differential equations: finite difference methods. Oxford University Press, Oxford
Acknowledgments
The authors acknowledge support from Agencia Nacional de Investigación e Innovación (ANII), the Programa de Desarrollo de las Ciencias Básicas (PEDECIBA) and the Comisión Coordinadora del Interior (CCI) of the Universidad de la Repblica (UDELAR), Uruguay.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Bondarenco, M., Gamazo, P. & Ezzatti, P. A comparison of various schemes for solving the transport equation in many-core platforms. J Supercomput 73, 469–481 (2017). https://doi.org/10.1007/s11227-016-1889-2
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-016-1889-2