Quem sou eu

Nome: Lizzi Villalba

Disciplina: ELC139 - Programação Paralela

Professora: Andrea Schwertner Charão

Semestre: 01/2011

terça-feira, 12 de julho de 2011

Paralelização do calculo da Integral Definida com OpenMP

Como tema do projeto final da disciplina inicialmente se escolheu a paralelização de um problema usando OpenMP e MPI, ou seja o desenvolvimento de uma aplição paralela híbrida. O problema escolhido para paralelizar foi o calculo da integral definida pelo metodo do trapézio.




Usando como ponto de partida o programa de calculo da diferencial integral disponibilizada pelo Moodle DCC-IM-UFRJ. O codigo foi adaptado para a  execução:



Da mesma forma foi analisado o funcionamento do programa trapezio paralelo desenvolvido com MPI, porem em termos de desempenho o programa presentou falencias em comparação a verção sequencial do algoritmo. Obtendo em media 0,15 segundos de execução, na maquina linux01 em contra partida dos 0,01 segundos de execução em sequencial. Foi descartado seu uso para este projeto pelo mesmo motivo.

Assim foi decidido paralelizar o calculo da diferencial integral utilizando OpemMP e MPI. Adaptou-se o programa sequencial com diretivas MPI e OpenMP, fazendo a distribuição e execução do trabalho na zona paralela, e a redução dos resultados com a diretiva MPI_Allreduce.


Porem nos testes de execução os tempos foram muito similares a o programa usando MPI, muito onge do objetivo. Pelo motivo de que cada thread calcula a totalidade do trabalho.


O programa paralelizado unicamente com diretivas OpenMP 



Com este programa os tempos de execução foram muito similares ao programa sequencial o que leva a conclusão de que o mesmo faz o calculo de forma sequencial mesmo utilizando a primitiva schedule(static).





Nenhum comentário:

Postar um comentário