Implementação de modelos de mecânica dos fluidos computacional em sistemas many-core usando C+CUDA - Menenguci, Wesley dos Santos (2011)
The Graphics Processing Unit (GPU) has emerged as a powerfull computing device and the Compute Unified Device Architecture (CUDA) platform is a suitable environment to develop application software that can run on GPUs. Initially specialized in graphics processing, the GPU has been designed to optimize the logical and arithmetical calculations benefiting several research areas by reducing the computation time. This work shows how applications in fluid mechanics, discretized by the finite difference method, can perform well with this technology. Parallel implementations of the Navier-Stokes and transport equations in C+CUDA for GPU are compared with sequential versions for CPU implemented in C. A finite difference formulation is considered and the algorithm is characterized as being explicit in the velocities and temperature, and implicit in the pressure. The resulting linear systems are solved using a Red-Black coloring scheme with the successive over-relaxation (SOR) iterative solver, called Red-Black-SOR. The performance of the parallel codes are discussed using double and float data types and also shared and global memories. The parallel algorithms are verified for the following set of problems: lid-driven cavity, backward-facing step, flow past a cylindrical obstacle, natural convection with heated lateral walls and Rayleigh-B´enard convection, considering two and three-dimensional cases. The time processing is compared with the algorithm implemented in C. Numerical results showed that we can achieve speedups around 25× using float data and 21× using double data.