Support for parallel scan in OpenMP : Suporte de parallel scan em OpenMP

Detalhes bibliográficos
Autor(a) principal: Gomez Zegarra, Eder Maicol, 1989-
Data de Publicação: 2018
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
Texto Completo: https://hdl.handle.net/20.500.12733/1634255
Resumo: Orientadores: Guido Costa Souza de Araújo, Marcio Machado Pereira
id UNICAMP-30_2dff827e3ea7a393cffeb5f723b4db40
oai_identifier_str oai::1045562
network_acronym_str UNICAMP-30
network_name_str Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
repository_id_str
spelling Support for parallel scan in OpenMP : Suporte de parallel scan em OpenMPSuporte de parallel scan em OpenMPArquitetura de computadorOpenCL (Linguagem de programação de computador)Compiladores (Computadores)Computação heterogêneaComputer architectureOpenCL (Computer program language)Compiling (Electronic computers)Heterogeneous computingOrientadores: Guido Costa Souza de Araújo, Marcio Machado PereiraDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de ComputaçãoResumo: 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 soma de todos os elementos precedentes até a posição correspondente. Scan é uma operação fundamental para muitos problemas relevantes, tais como: algoritmos de ordenação, análise léxica, comparação de cadeias de caracteres, filtragem de imagens, dentre outros. Embora exis- tam 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 pro- posta, um programador pode reduzir consideravelmente a complexidade dos algoritmos, permitindo que ele concentre a atenção no problema, e 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 Accelerator Programming Model . AClang converte regiões do programa de OpenMP 4.X para OpenCL. Experimentos com um con- junto de algoritmos baseados em Scan foram executados nas GPUs da NVIDIA, Intel e ARM, e mostraram que o desempenho da clausula proposta é equivalente ao alcan- çado pela biblioteca de OpenCL, mas com a vantagem de uma menor complexidade para escrever o códigoAbstract: Prefix Scan (or simply scan) is an operator that computes all the partial sums of a vec- tor. A scan operation results in a vector where each element is the sum of the preceding elements in the original vector up to the corresponding position. Scan is a key opera- tion in many relevant problems like sorting, lexical analysis, string comparison, image filtering among others. Although there are libraries that provide hand-parallelized im- plementations of the scan in CUDA and OpenCL, no automatic parallelization solution exists for this operator in OpenMP. This work proposes a new clause to OpenMP which enables the automatic synthesis of the parallel scan. By using the proposed clause a programmer can considerably reduce the complexity of designing scan based algorithms, thus allowing he/she to focus the attention on the problem and not on learning new paral- lel programming models or languages. Scan was designed in AClang (www.aclang.org), an open-source LLVM/Clang compiler framework that implements the recently released OpenMP 4.X Accelerator Programming Model. AClang automatically converts OpenMP 4.X annotated program regions to OpenCL. Experiments running a set of typical scan based algorithms on NVIDIA, Intel, and ARM GPUs reveal that the performance of the proposed OpenMP clause is equivalent to that achieved when using OpenCL library calls, with the advantage of a simpler programming complexityMestradoCiência da ComputaçãoMestre em Ciência da ComputaçãoCAPES[s.n.]Araújo, Guido Costa Souza de, 1962-Pereira, Márcio Machado, 1959-Telles, Guilherme PimentelFerreira, Renato Antônio CelsoUniversidade Estadual de Campinas. Instituto de ComputaçãoPrograma de Pós-Graduação em Ciência da ComputaçãoUNIVERSIDADE ESTADUAL DE CAMPINASGomez Zegarra, Eder Maicol, 1989-20182018-04-24T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdf1 recurso online (52 p.) : il., digital, arquivo PDF.https://hdl.handle.net/20.500.12733/1634255GOMEZ ZEGARRA, Eder Maicol. Support for parallel scan in OpenMP: Suporte de parallel scan em OpenMP. 2018. 1 recurso online (52 p.) Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1634255. Acesso em: 15 mai. 2024.https://repositorio.unicamp.br/acervo/detalhe/1045562Requisitos do sistema: Software para leitura de arquivo em PDFporreponame:Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)instname:Universidade Estadual de Campinas (UNICAMP)instacron:UNICAMPinfo:eu-repo/semantics/openAccess2018-09-19T14:22:38Zoai::1045562Biblioteca Digital de Teses e DissertaçõesPUBhttp://repositorio.unicamp.br/oai/tese/oai.aspsbubd@unicamp.bropendoar:2018-09-19T14:22:38Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP)false
dc.title.none.fl_str_mv Support for parallel scan in OpenMP : Suporte de parallel scan em OpenMP
Suporte de parallel scan em OpenMP
title Support for parallel scan in OpenMP : Suporte de parallel scan em OpenMP
spellingShingle Support for parallel scan in OpenMP : Suporte de parallel scan em OpenMP
Gomez Zegarra, Eder Maicol, 1989-
Arquitetura de computador
OpenCL (Linguagem de programação de computador)
Compiladores (Computadores)
Computação heterogênea
Computer architecture
OpenCL (Computer program language)
Compiling (Electronic computers)
Heterogeneous computing
title_short Support for parallel scan in OpenMP : Suporte de parallel scan em OpenMP
title_full Support for parallel scan in OpenMP : Suporte de parallel scan em OpenMP
title_fullStr Support for parallel scan in OpenMP : Suporte de parallel scan em OpenMP
title_full_unstemmed Support for parallel scan in OpenMP : Suporte de parallel scan em OpenMP
title_sort Support for parallel scan in OpenMP : Suporte de parallel scan em OpenMP
author Gomez Zegarra, Eder Maicol, 1989-
author_facet Gomez Zegarra, Eder Maicol, 1989-
author_role author
dc.contributor.none.fl_str_mv Araújo, Guido Costa Souza de, 1962-
Pereira, Márcio Machado, 1959-
Telles, Guilherme Pimentel
Ferreira, Renato Antônio Celso
Universidade Estadual de Campinas. Instituto de Computação
Programa de Pós-Graduação em Ciência da Computação
UNIVERSIDADE ESTADUAL DE CAMPINAS
dc.contributor.author.fl_str_mv Gomez Zegarra, Eder Maicol, 1989-
dc.subject.por.fl_str_mv Arquitetura de computador
OpenCL (Linguagem de programação de computador)
Compiladores (Computadores)
Computação heterogênea
Computer architecture
OpenCL (Computer program language)
Compiling (Electronic computers)
Heterogeneous computing
topic Arquitetura de computador
OpenCL (Linguagem de programação de computador)
Compiladores (Computadores)
Computação heterogênea
Computer architecture
OpenCL (Computer program language)
Compiling (Electronic computers)
Heterogeneous computing
description Orientadores: Guido Costa Souza de Araújo, Marcio Machado Pereira
publishDate 2018
dc.date.none.fl_str_mv 2018
2018-04-24T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/20.500.12733/1634255
GOMEZ ZEGARRA, Eder Maicol. Support for parallel scan in OpenMP: Suporte de parallel scan em OpenMP. 2018. 1 recurso online (52 p.) Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1634255. Acesso em: 15 mai. 2024.
url https://hdl.handle.net/20.500.12733/1634255
identifier_str_mv GOMEZ ZEGARRA, Eder Maicol. Support for parallel scan in OpenMP: Suporte de parallel scan em OpenMP. 2018. 1 recurso online (52 p.) Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1634255. Acesso em: 15 mai. 2024.
dc.language.iso.fl_str_mv por
language por
dc.relation.none.fl_str_mv https://repositorio.unicamp.br/acervo/detalhe/1045562
Requisitos do sistema: Software para leitura de arquivo em PDF
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
1 recurso online (52 p.) : il., digital, arquivo PDF.
dc.publisher.none.fl_str_mv [s.n.]
publisher.none.fl_str_mv [s.n.]
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
instname:Universidade Estadual de Campinas (UNICAMP)
instacron:UNICAMP
instname_str Universidade Estadual de Campinas (UNICAMP)
instacron_str UNICAMP
institution UNICAMP
reponame_str Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
collection Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP)
repository.mail.fl_str_mv sbubd@unicamp.br
_version_ 1799138528344408064