Paralelização de aplicações de cálculo de fractais para GPU utilizando Numba
![Thumbnail](/xmlui/bitstream/handle/11338/11981/TCC%20Bruno%20de%20Avila.pdf.jpg?sequence=3&isAllowed=y)
View/ Open
Date
2022-12-13Author
Avila, Bruno de
Orientador
Martinotto, André Luis
Metadata
Show full item recordAbstract
O interesse em fractais reside na grande quantidade de situações práticas em que esses objetos abstratos são utilizados. Entre outras aplicações, pode-se citar a área de mineralogia, onde são usados para o cálculo da densidade de minerais, e na área da oceanografia, onde são utilizados para auxiliar na análise das extensões litorâneas. Além disso, observa-se um crescente interesse pela arte fractal, principalmente, nas áreas de computação gráfica, animações e outros tipos de mídia. Os fractais comumente são gerados utilizando funções matemáticas, cujos resultados são transformados em imagens. No entanto, para a geração de fractais cada vez mais complexos e detalhados, torna-se necessário um alto poder computacional. Desta forma, neste trabalho foi realizado um estudo sobre a paralelização de cálculos de fractais utilizando unidades de processamento
gráfico. Mais especificamente foram paralelizados três fractais que são gerados a partir de relações de recorrência, os fractais de Julia, de Mandelbrot 2D e 3D; e um fractal aleatório, o fractal da árvore browniana. As implementações foram desenvolvidas utilizando a linguagem de programação Python e foram paralelizadas para GPU utilizando a biblioteca Numba. Para avaliação, foi realizada uma comparação entre os tempos de execução das implementações, em que os resultados que apresentaram o menor tempo de execução foram os executados na GPU chegando a serem 858 vezes mais rápidos que os executados na CPU. A implementação feita em Python apresentou um tempo de execução muito maior quando comparada aos outros métodos implementados. [resumo fornecido pelo autor]