Detalhes bibliográficos
Ano de defesa: |
2020 |
Autor(a) principal: |
CHAVES JUNIOR, Cicero Vitor |
Orientador(a): |
RIBEIRO, Paulo Marcelo Vieira |
Banca de defesa: |
Não Informado pela instituição |
Tipo de documento: |
Dissertação
|
Tipo de acesso: |
Acesso aberto |
Idioma: |
por |
Instituição de defesa: |
Universidade Federal de Pernambuco
|
Programa de Pós-Graduação: |
Programa de Pos Graduacao em Engenharia Civil
|
Departamento: |
Não Informado pela instituição
|
País: |
Brasil
|
Palavras-chave em Português: |
|
Link de acesso: |
https://repositorio.ufpe.br/handle/123456789/40026
|
Resumo: |
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. |