Implementação de modelos de mecânica dos fluidos computacional em sistemas many-core usando C+CUDA

dc.contributor.advisor-co1Valli, Andréa Maria Pedros
dc.contributor.advisor1Catabriga, Lucia
dc.contributor.authorMenenguci, Wesley dos Santos
dc.contributor.referee1Souza, Alberto Ferreira de
dc.contributor.referee2Coutinho, Alvaro Luiz Gayoso de Azeredo
dc.date.accessioned2016-08-29T15:33:15Z
dc.date.available2016-07-11
dc.date.available2016-08-29T15:33:15Z
dc.date.issued2011-08-25
dc.description.abstractThe 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.eng
dc.description.resumoAs 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.
dc.formatText
dc.identifier.citationMENENGUCI, Wesley dos Santos. Implementação de modelos de mecânica dos fluidos computacional em sistemas many-core usando C+CUDA. 2011. 110 f. Dissertação (Mestrado em Informática) - Universidade Federal do Espírito Santo, Centro Tecnológico, Vitória, 2011.
dc.identifier.urihttps://dspace5.ufes.br/handle/10/4242
dc.languagepor
dc.publisherUniversidade Federal do Espírito Santo
dc.publisher.countryBR
dc.publisher.courseMestrado em Informática
dc.publisher.departmentCentro Tecnológico
dc.publisher.initialsUFES
dc.publisher.programPrograma de Pós-Graduação em Informática
dc.rightsopen access
dc.subjectNavier-Stokes equationseng
dc.subjectTransport theoryeng
dc.subjectFinite differenceeng
dc.subjectC+CUDA (Linguagem de programação de computador)por
dc.subject.br-rjbnNavier-Stokes, Equações de
dc.subject.br-rjbnDiferenças finitas
dc.subject.br-rjbnTeoria do transporte
dc.subject.br-rjbnSistemas de recuperação da informação
dc.subject.cnpqCiência da Computação
dc.subject.udc004
dc.titleImplementação de modelos de mecânica dos fluidos computacional em sistemas many-core usando C+CUDA
dc.typemasterThesis

Arquivos

Pacote original

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
Dissertação_4176_.pdf
Tamanho:
5.73 MB
Formato:
Adobe Portable Document Format