09.05.2015 Views

universidade feevale douglas neves spindler algoritmos para ...

universidade feevale douglas neves spindler algoritmos para ...

universidade feevale douglas neves spindler algoritmos para ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

SUMÁRIO<br />

INTRODUÇÃO ...................................................................................................................... 11<br />

1 FRACTAIS .......................................................................................................................... 14<br />

1.1 APLICAÇÕES .............................................................................................................. 15<br />

1.2 SISTEMAS DINÂMICOS ............................................................................................ 17<br />

1.3 ITERAÇÃO NO PLANO COMPLEXO ....................................................................... 18<br />

1.4 OS CONJUNTOS DE JULIA ....................................................................................... 19<br />

1.4.1 Geração ................................................................................................................ 20<br />

1.5 O CONJUNTO DE MANDELBROT ........................................................................... 21<br />

1.6 OUTROS TIPOS DE FRACTAIS ................................................................................ 25<br />

1.6.1 Sistemas de funções iterativas (IFS) .................................................................... 25<br />

1.6.2 Fractal Flames ..................................................................................................... 27<br />

1.6.3 Atratores estranhos .............................................................................................. 29<br />

1.6.4 Quatérnios ............................................................................................................ 30<br />

2 PROGRAMAÇÃO PARALELA ....................................................................................... 33<br />

2.1 MPI ............................................................................................................................. 34<br />

2.2 OPENMP ....................................................................................................................... 35<br />

2.3 DISCUSSÃO ................................................................................................................. 38<br />

3 PROGRAMAÇÃO COM GPUS ........................................................................................ 40<br />

3.1 OPENCL ........................................................................................................................ 42<br />

3.2 AMD ACCELERATED PARALLEL PROCESSING (ATI STREAM) ..................... 43<br />

3.3 INTEL LARRABEE ..................................................................................................... 44<br />

4 A ARQUITETURA CUDA ................................................................................................ 46<br />

4.1 KERNELS E HIERARQUIA DE THREADS ................................................................ 47<br />

4.2 WARPS .......................................................................................................................... 49<br />

4.3 MEMÓRIAS .................................................................................................................. 49<br />

4.4 CAPACIDADE COMPUTACIONAL .......................................................................... 52<br />

5 DESENVOLVIMENTO DOS ALGORITMOS ............................................................... 54<br />

5.1 AMBIENTE DE DESENVOLVIMENTO E TESTES ................................................. 54<br />

5.2 METODOLOGIA .......................................................................................................... 56<br />

6 TESTES E ANÁLISE DOS RESULTADOS .................................................................... 62<br />

6.1 EXECUÇÕES EM MODO SEQUENCIAL ................................................................. 62<br />

6.2 EXECUÇÕES COM OPENMP .................................................................................... 66<br />

6.3 EXECUÇÕES COM CUDA ......................................................................................... 70<br />

6.4 DISCUSSÃO ................................................................................................................. 76<br />

CONCLUSÃO ......................................................................................................................... 82<br />

REFERÊNCIAS BIBLIOGRÁFICAS ................................................................................. 85<br />

APÊNDICE ............................................................................................................................. 89<br />

APÊNDICE A – KERNELS UTILIZADOS PARA OS TESTES COM CUDA ................. 89<br />

APÊNDICE B – FUNÇÃO SENOIDAL COMPLEXA PARA CUDA .............................. 92<br />

APÊNDICE C – ALGORITMOS PARA AS EXECUÇÕES SEQUENCIAIS E COM<br />

OPENMP ....................................................................................................................... 92

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!