Aceleração de simulações computacionais em problemas de dinâmica estrutural e de escoamento em meios porosos - CHAVES JUNIOR, Cicero Vitor (2020)
Simulações de elementos finitos com o uso de modelos em larga escala estão se tornando mais frequentes. Entre esses problemas temos a simulação de sismos em barragens e a simu- lação geomecânica de reservatórios de petróleo. Estratégias modernas aplicadas a problemas transitórios aproveitam a montagem eficiente de matrizes globais, bem como a solução rápida de sistemas de equações em modelos com dezenas de milhões de graus de liberdade. O uso da computação de uso geral em unidades de processamento gráfico (GPGPU) permite extrema paralelização e aceleração desses processos. Nesta direção, o presente trabalho apresenta várias aplicações de problemas de mecânica computacional usando a linguagem de programação C ++ acoplada ao NVCC (NVIDIA CUDA Compiler) para a plataforma CUDA. Essas simulações requerem apenas funções nativas do C ++, sem dependências externas. O código foi desenvol- vido em uma estrutura modular, com a implementação híbrida de sub-rotinas em CPU e GPU (Graphical Processing Units). Um solucionador iterativo com o método de gradiente conjugado é apresentado e pode ser acoplado a códigos desenvolvidos em outras linguagens de programação para soluções GPU dedicadas. Duas formas de integração direta são apresentadas para a evolução no tempo. Vários benchmarks são discutidos, incluindo o uso do OpenMP para computação paralela e cálculos na GPU de precisão dupla e única, além de diferentes núcleos de GPU para multiplicação esparsa de vetores matriciais (SpMV). Os resultados obtidos usando as estratégias propostas revelam que os cálculos usando as rotinas descritas são eficazes e fornecem acelerações significativas em relação aos cálculos de thread único.