Defesa de Mestrado de Luís Felipe Souza de Mattos

Título do Trabalho
DOACROSS Parallelization using Component Annotation and Loop-carried Probability
Candidato(a)
Luís Felipe Souza de Mattos
Nível
Mestrado
Data
Add to Calender 2018-05-16 00:00:00 2018-05-16 00:00:00 Defesa de Mestrado de Luís Felipe Souza de Mattos DOACROSS Parallelization using Component Annotation and Loop-carried Probability Sala 85 IC 2 INSTITUTO DE COMPUTAÇÃO mauroesc@ic.unicamp.br America/Sao_Paulo public
Horário
09:00h
Local
Sala 85 IC 2
Orientador(a)
Guido Costa Souza de Araújo
Banca Examinadora

Condição

Titulares  -  Professores Doutores

Unidade/Instituição

Orientador/Presidente

Guido Costa Souza de Araújo

IC/UNICAMP

Membro

Fernando Magno Quintão Pereira

DCC/UFMG

Membro

Sandro Rigo

IC/UNICAMP

 

Condição

Suplentes  -  Professores Doutores

Unidade/Instituição

Suplente

Lucas Francisco Wanner

IC/UNICAMP

Suplente

Alexandro José Baldassin

IGCE/UNESP

Resumo

A paralelização de laços é usada para se obter melhor desempenho em algoritmos intensivos, entretando, não são todos os laços que podem ser facilmente paralelizados. Os laços chamados de DOACROSS possuem dependências entre iterações, i.e. uma iteração calcula um dado que é usado por outra iteração futura. Este tipo de dependência é chamada de loop-carried e não pode ser paralelizada trivialmente porque a ordem de execução das iterações deve ser respeitada.
Algumas técnicas podem ser usadas para paralelizar este tipo de laço, porém implementar essas técnicas é um trabalho laborioso que requer uma certa experiência do programador, separar o laço em partes paralelizáveis e partes sequenciais e encontrar as dependências para implementar a comunicação entre as componentes/threads.
Foi criada então uma nova cláusula para o OpenMP que, quando usada juntamente com a diretiva Ordered, consegue separar as componentes sequenciais e paralelas, marcadas pelo programador, e implementa essas técnicas de paralelização de forma automática.