Trabalho de conclusão de graduação
Implementação paralela do algoritmo Barnes-Hut para simulação do problema N-Corpos usando um número arbitrário de GPU’s
Autor
Meurer, Bruno Belenda
Institución
Resumen
O problema N-corpos é o problema referente à previsão do comportamento de corpos individuais dentro de um sistema dinâmico onde todos os corpos interagem entre si. Ele aparece em diferentes áreas de estudo, desde a simulação das interações entre corpos de gigantesca escala, como corpos celestes (planetas, estrelas, galáxias), até escalas microscópicas como pequenas partículas. Trata-se de um problema que normalmente requer grande esforço computacional para ser resolvido e, devido a isso, diversos algoritmos foram desenvolvidos ao longo dos anos para reduzir o tempo de processamento necessário. Entre eles está o algoritmo de Barnes-Hut, que realiza aproximações dos corpos que estão sendo calculados de modo a agrupá-los e minimizar os cálculos realizados. Nos últimos anos, com a disponibilização das unidades de processamento gráfico (GPUs) para execução paralela de algoritmos de propósito geral, várias soluções de paralelização do problema de N-Corpos foram propostas para essa nova plataforma. Neste trabalho, estendemos uma implementação paralela do algoritmo de Barnes-Hut para GPU, permitindo o uso de um número arbitrário de GPU’s. Avaliamos o comportamento do programa a cada GPU que adicionamos, testando com até 4 GPU’s simultaneamente. Observamos que os resultados positivos obtidos estão de acordo com nossas expectativas, onde identificamos que a aceleração inicialmente se aproxima do máximo teórico, porém, à medida que se aumenta o número de GPU’s, o custo de gerenciamento cresce, reduzindo o ganho de aceleração.