Tesis
GPU implementation of a fluid dynamics interactive simulator based on the Lattice Boltzmann method = Implementação em GPU de um simulador interativo de fluidodinâmica com o método das Redes de Boltzmann
Implementação em GPU de um simulador interativo de fluidodinâmica com o método das Redes de Boltzmann
Registro en:
Autor
Oliveira, Fabíola Martins Campos de, 1988-
Institución
Resumen
Orientador: Luiz Otávio Saraiva Ferreira Dissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Mecânica Resumo: Recentes avanços na tecnologia de processadores multinúcleos e vários-núcleos popularizaram a computação paralela, acelerando a execução de programas e possibilitando a simulação de domínios maiores. Dentre os problemas complexos que requerem alta velocidade de processamento, os problemas de fluidodinâmica computacional se destacam, já que suas simulações tendem a ter um alto custo computacional e exigem grandes domínios de simulação. O método baseado nas Redes de Boltzmann é um método de fluidodinâmica computacional apropriado para o uso de paralelismo que vem ganhando destaque na comunidade científica. Embora haja trabalhos que explorem o paralelismo em GPU nesse método, um simulador eficiente na execução e visualização interativa ainda não foi explorado adequadamente. Assim, a proposta deste trabalho é implementar em GPU um simulador interativo de fluidodinâmica com o método das Redes de Boltzmann. Inicialmente, o simulador foi desenvolvido em linguagem C e foi paralelizado em CPU usando MPI. Em seguida, foi paralelizado em GPU usando CUDA e convertido para linguagem orientada a objetos em C++. Depois, a visualização interativa foi acrescentada utilizando técnicas como interoperabilidade entre CUDA e OpenGL, texturização 3D, fluxo programável da GPU, além de funções de interação com o usuário. O simulador foi validado para casos 2D e 3D em fluxos monocomponentes monofásicos. Além disso, para demonstrar o ganho de desempenho em velocidade de processamento de problemas paralelizados em relação a execuções sequenciais, um conjunto de testes com tamanhos crescentes de domínio foi desenvolvido. O resultado dessa comparação indicou que o simulador implementado em GPU com visualização interativa teve desempenho 71.3 vezes maior em relação à versão sequencial em CPU sem visualização interativa. Dessa forma, a abordagem de paralelização em GPU com visualização interativa mostrou-se muito adequada à execução de simulações fluidodinâmicas, sendo uma ferramenta útil no estudo de escoamentos fluídicos, capaz de executar inúmeros cálculos e lidar com a grande quantidade de memória exigida por simulações fluídicas Abstract: Recent advances on multicore and many-core processor technology have popularized the parallel computing, accelerating program execution and enabling the simulation of larger domains. Within the complex problems that require a high processing speed, the computational fluid dynamics problems stand out, since their simulations tend to have high computational cost and demand large simulation domains. The method based on the Lattice Boltzmann is an appropriate computational fluid dynamics algorithm to explore parallelism that has been noteworthy in scientific community. Although there are several works that approach GPU parallelism in this method, an efficient simulator implementation and interactive visualization have not been explored adequately. Thus, the purpose of this work is to implement in GPU an interactive fluid dynamics simulator based on the Lattice Boltzmann method. First, the simulator was developed in C language and was parallelized in CPU using MPI. Next, it was parallelized in GPU using CUDA and converted into C++ object-oriented language. Then, the interactive visualization was added using techniques such as CUDA-OpenGL interoperability, 3D texturing, GPU programmable pipeline, and interaction features. The simulator was validated for 2D and 3D cases in single component, single phase flows. Besides that, to show the performance gain in processing velocity of parallelized problems in relation to sequential executions, a test set with increasing domain sizes was developed. This comparison result indicated the GPU-implemented interactive simulator was 71.3 times faster in relation to sequential CPU version without interactive visualization. Thereby, the GPU parallelization approach with interactive visualization showed to be very adequate to fluid dynamics simulations, being a useful tool in fluid flow study, capable of simulating numerous calculations and dealing with the large amount of memory required in fluidic simulations Mestrado Mecanica dos Sólidos e Projeto Mecanico Mestra em Engenharia Mecânica