Defesa de Mestrado de Eder Maicol Gomez Zegarra

Título do Trabalho
Automatic Scan Parallelization in OpenMP
Candidato(a)
Eder Maicol Gomez Zegarra
Nível
Mestrado
Data
Add to Calender 2018-04-24 00:00:00 2018-04-24 00:00:00 Defesa de Mestrado de Eder Maicol Gomez Zegarra Automatic Scan Parallelization in OpenMP Sala 85 IC 2 INSTITUTO DE COMPUTAÇÃO mauroesc@ic.unicamp.br America/Sao_Paulo public
Horário
14:30
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

Externo à Unidade

Renato Antônio Celso Ferreira

DCC/UFMG

Interno à Unidade

Guilherme Pimentel Telles

IC/UNICAMP

 

Condição

Suplentes  -  Professores Doutores

Unidade/Instituição

Interno à Unidade

Sandro Rigo

IC/UNICAMP

Externo à Unidade

Alexandro José Baldassin

IGCE/UNESP

Resumo

Prefix Scan (ou simplesmente scan) é um operador que computa todas as somas parciais de um vetor. A operação scan retorna um vetor onde cada elemento é a suma de todos os elementos precedentes até a posição correspondente. Scan é uma operação principal para muitos problemas relevantes, tais como: algoritmos de ordenação, análises léxicas, comparação de cadeias de caracteres, filtragem de imagens, entre outros. Embora existam bibliotecas que fornecem versões paralelizadas de scan em CUDA e OpenCL, não existe uma implementação paralela do operador scan em OpenMP. Este trabalho propõe uma nova clausula que permite o uso automático do scan paralelo. Ao usar a cláusula proposta, um programador pode reduzir consideravelmente a complexidade dos algoritmos, permitindo que ele concentre a atenção no problema, não em aprender novos modelos de programação paralela ou linguagens de programação. Scan foi projetado em ACLang (www.aclang.org), um framework de código aberto baseado no compilador LLVM/Clang, que recentemente implementou o OpenMP 4.X Accelator Programming Model. Aclang converte converte regiões do programa de OpenMP 4.X para OpenCL. Experimentos de um conjunto de algoritmos baseados em Scan foram executados nas placas NVIDIA, Intel e ARM GPUs e mostraram que o desempenho da proposta da clausula OpenMP é equivalente ao alcançado pela biblioteca de OpenCL, mas com a vantagem de uma menor complexidade para escrever o código.