Use este identificador para citar ou linkar para este item: http://repositorio.ufes.br/handle/10/4242
Título: Implementação de modelos de mecânica dos fluidos computacional em sistemas many-core usando C+CUDA
Autor(es): Menenguci, Wesley dos Santos
Orientador: Catabriga, Lucia
Data do documento: 25-Ago-2011
Editor: Universidade Federal do Espírito Santo
Resumo: As unidades de processamento gráfico (Graphics Processing Unit -- GPU) surgiram como um poderoso dispositivo computacional e a plataforma Compute Unified Device Architecture (CUDA) como um ambiente adequado para a implementação de um código na GPU. Especializada inicialmente em processamento gráfico, a GPU vem sendo designada à otimização de cálculos lógicos e aritméticos beneficiando diversas áreas de pesquisa com a redução do tempo de computação. O objetivo deste trabalho é mostrar como aplicações em mecânica dos fluidos, discretizadas pelo método das diferenças finitas, podem lucrar bastante com esta tecnologia. Implementações paralelas na GPU em C+CUDA das equações de Navier-Stokes e de transporte são comparadas com uma versão sequencial implementada na CPU em C. É utilizada uma formulação em diferenças finitas implícita-explícita, sendo o algoritmo caracterizado como sendo explícito nas velocidades e temperatura e implícito na pressão. A resolução dos sistemas lineares resultantes é feita utilizando um esquema de coloração Red-Black para as células internas da malha e o método iterativo successive-over-relaxation (SOR), denominado Red-Black-SOR. É discutido neste trabalho os impactos do uso de tipos de dados double e float e também a utilização de memórias shared e global existentes na GPU. O algoritmo C+CUDA é verificado para o seguinte conjunto de problemas conhecidos da literatura: cavidade com cobertura deslizante, escoamento sobre um degrau, escoamento laminar com um obstáculo cilíndrico, convecção natural e convecção de Rayleigh-Bénard, considerando casos bidimensionais e tridimensionais. O tempo de processamento é comparado com o mesmo algoritmo implementado em C. Os resultados numéricos mostraram que é possível alcançar speedups da ordem de 85 vezes para dados float e 61 vezes para dados double utlizando C+CUDA.
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.
URI: http://repositorio.ufes.br/handle/10/4242
Aparece nas coleções:PPGI - Dissertações de mestrado

Arquivos associados a este item:
Arquivo TamanhoFormato 
tese_4176_.pdf5.87 MBAdobe PDFVisualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.