Otimizações Computacionais Aplicadas a um Simulador de Ondas Aquáticas
DOI:
https://doi.org/10.5540/03.2014.002.01.0019Palabras clave:
otimização computacional, FUNWAVE, modelo de Boussinesq, OpenMP.Resumen
O programa FUNWAVE é amplamente utilizado no mundo da engenharia costeira para a simulação numérica de problemas relacionados a propagação de ondas aquáticas em regiões costeiras, através da implementação de modelos do tipo Boussinesq. Entretanto, a simulação precisa de fenômenos reais de larga escala pode se tornar computacionamente muito cara, exigindo uma grande quantidade de recursos computacionais e de tempo de processamento. No presente trabalho, técnicas de otimização computacional e paralelização são aplicadas a este programa com o objetivo de melhorar sua performance na execução de modelos de larga escala. O processo de otimização serial consiste na aplicação de técnicas básicas manuais de otimização, utilização de otimização automáticas provenientes do compilador IFortran e utilização da biblioteca de alto desempenho MKL. A paralelização é aplicada através da utilização da biblioteca padrão OpenMP, responsável pela paralelização de aplicações em sistemas de memória compartilhada. Os resultados das otimizações são comparados através da execução de exemplos clássicos de simulação de ondas em diferentes instâncias do programa. A máquina utilizada para as simulações foi o cluster SGI R ALTIXR XE 1300, propriedade da Universidade Federal do Paraná. Através das otimizações efetuadas neste trabalho, o tempo de execução médio do programa é reduzido para um sexto do tempo de execução inicial.