AUXÍLIO A PORTABILIDADE DE CÓDIGO EM APLICAÇÕES DE ALTO DESEMPENHO

Detalhes bibliográficos
Autor(a) principal: PAULO ROBERTO PEREIRA DE SOUZA FILHO
Data de Publicação: 2016
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da PUC-RIO (Projeto Maxwell)
Texto Completo: https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=28707@1
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=28707@2
Resumo: Atualmente na computação de alto desempenho existem diversas opções de arquiteturas de diversos fabricantes, algumas sendo heterogêneas como por exemplo CPU mais GPU. Este trabalho tem como objetivo implementar maneiras de codificar aplicações de alto desempenho contemplando alguns tipos de arquiteturas, incluindo algumas heterogêneas, garantindo a portabilidade em uma grande porção do código mas mantendo o desempenho e a capacidade de fazer otimizações específicas a cada arquitetura. Implementamos a biblioteca HLIB que gerencia as primitivas de arquiteturas heterogêneas do tipo CPU mais GPU, APU e CPU mais Phi e que também funciona em arquiteturas homogêneas tradicionais. Implementamos o OpenVec, uma ferramenta para gerar, de forma portável, código vetorial explícito. Contemplando as principais arquiteturas SIMD dos últimos 17 anos, tais como ARM Neon, Intel SSE até AVX-512 e IBM VSX. Demonstramos o uso combinado dessas duas ferramentas com aplicações de alto desempenho, que demandam mais de um petaflop.
id PUC_RIO-1_f623e83e48728c5c696b75df24935be5
oai_identifier_str oai:MAXWELL.puc-rio.br:28707
network_acronym_str PUC_RIO-1
network_name_str Repositório Institucional da PUC-RIO (Projeto Maxwell)
repository_id_str 534
spelling info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisAUXÍLIO A PORTABILIDADE DE CÓDIGO EM APLICAÇÕES DE ALTO DESEMPENHO SUPPORT FOR CODE PORTABILITY IN HIGH PERFORMANCE COMPUTING APPLICATIONS 2016-03-31NOEMI DE LA ROCQUE RODRIGUEZ75806908704lattes.cnpq.br/4933326132948063NOEMI DE LA ROCQUE RODRIGUEZ75806908704lattes.cnpq.br/4933326132948063ROBERTO IERUSALIMSCHYWALDEMAR CELES FILHONOEMI DE LA ROCQUE RODRIGUEZNOEMI DE LA ROCQUE RODRIGUEZJAIRO PANETTA00541202928lattes.cnpq.br/4201398570409138PAULO ROBERTO PEREIRA DE SOUZA FILHOPONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIROPPG EM INFORMÁTICAPUC-RioBRAtualmente na computação de alto desempenho existem diversas opções de arquiteturas de diversos fabricantes, algumas sendo heterogêneas como por exemplo CPU mais GPU. Este trabalho tem como objetivo implementar maneiras de codificar aplicações de alto desempenho contemplando alguns tipos de arquiteturas, incluindo algumas heterogêneas, garantindo a portabilidade em uma grande porção do código mas mantendo o desempenho e a capacidade de fazer otimizações específicas a cada arquitetura. Implementamos a biblioteca HLIB que gerencia as primitivas de arquiteturas heterogêneas do tipo CPU mais GPU, APU e CPU mais Phi e que também funciona em arquiteturas homogêneas tradicionais. Implementamos o OpenVec, uma ferramenta para gerar, de forma portável, código vetorial explícito. Contemplando as principais arquiteturas SIMD dos últimos 17 anos, tais como ARM Neon, Intel SSE até AVX-512 e IBM VSX. Demonstramos o uso combinado dessas duas ferramentas com aplicações de alto desempenho, que demandam mais de um petaflop.Today s platforms are becoming increasingly heterogeneous. A given platform may have many different computing elements in it: CPUs, coprocessors and GPUs of various kinds. This work propose a way too keep some portion of code portable without compromising the performance along different heterogeneous platforms. We implemented the HLIB library that handles the preparation code needed by heterogeneous computing, also this library transparently supports the traditional homogeneous platform. To address multiple SIMD architectures we implemented the OpenVec, a tool to help compiler to enable SIMD instructions. This tool provides a set of portable SIMD intrinsics and C plus plus operators to get a portable explicit vectorization, covering SIMD architectures from the last 17 years like ARM Neon, Intel SSE to AVX-512 and IBM Power8 Altivec plus VSX. We demonstrated the combination use of this strategy using both tools with petaflop HPC applications.PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIROhttps://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=28707@1https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=28707@2porreponame:Repositório Institucional da PUC-RIO (Projeto Maxwell)instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)instacron:PUC_RIOinfo:eu-repo/semantics/openAccess2022-11-01T13:32:50Zoai:MAXWELL.puc-rio.br:28707Repositório InstitucionalPRIhttps://www.maxwell.vrac.puc-rio.br/ibict.phpopendoar:5342017-09-14T00:00Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)false
dc.title.pt.fl_str_mv AUXÍLIO A PORTABILIDADE DE CÓDIGO EM APLICAÇÕES DE ALTO DESEMPENHO
dc.title.alternative.en.fl_str_mv SUPPORT FOR CODE PORTABILITY IN HIGH PERFORMANCE COMPUTING APPLICATIONS
title AUXÍLIO A PORTABILIDADE DE CÓDIGO EM APLICAÇÕES DE ALTO DESEMPENHO
spellingShingle AUXÍLIO A PORTABILIDADE DE CÓDIGO EM APLICAÇÕES DE ALTO DESEMPENHO
PAULO ROBERTO PEREIRA DE SOUZA FILHO
title_short AUXÍLIO A PORTABILIDADE DE CÓDIGO EM APLICAÇÕES DE ALTO DESEMPENHO
title_full AUXÍLIO A PORTABILIDADE DE CÓDIGO EM APLICAÇÕES DE ALTO DESEMPENHO
title_fullStr AUXÍLIO A PORTABILIDADE DE CÓDIGO EM APLICAÇÕES DE ALTO DESEMPENHO
title_full_unstemmed AUXÍLIO A PORTABILIDADE DE CÓDIGO EM APLICAÇÕES DE ALTO DESEMPENHO
title_sort AUXÍLIO A PORTABILIDADE DE CÓDIGO EM APLICAÇÕES DE ALTO DESEMPENHO
author PAULO ROBERTO PEREIRA DE SOUZA FILHO
author_facet PAULO ROBERTO PEREIRA DE SOUZA FILHO
author_role author
dc.contributor.advisor2ID.none.fl_str_mv 75806908704
dc.contributor.advisor1.fl_str_mv NOEMI DE LA ROCQUE RODRIGUEZ
dc.contributor.advisor1ID.fl_str_mv 75806908704
dc.contributor.advisor1Lattes.fl_str_mv lattes.cnpq.br/4933326132948063
dc.contributor.advisor2.fl_str_mv NOEMI DE LA ROCQUE RODRIGUEZ
dc.contributor.advisor2Lattes.fl_str_mv lattes.cnpq.br/4933326132948063
dc.contributor.referee1.fl_str_mv ROBERTO IERUSALIMSCHY
dc.contributor.referee2.fl_str_mv WALDEMAR CELES FILHO
dc.contributor.referee3.fl_str_mv NOEMI DE LA ROCQUE RODRIGUEZ
dc.contributor.referee4.fl_str_mv NOEMI DE LA ROCQUE RODRIGUEZ
dc.contributor.referee5.fl_str_mv JAIRO PANETTA
dc.contributor.authorID.fl_str_mv 00541202928
dc.contributor.authorLattes.fl_str_mv lattes.cnpq.br/4201398570409138
dc.contributor.author.fl_str_mv PAULO ROBERTO PEREIRA DE SOUZA FILHO
contributor_str_mv NOEMI DE LA ROCQUE RODRIGUEZ
NOEMI DE LA ROCQUE RODRIGUEZ
ROBERTO IERUSALIMSCHY
WALDEMAR CELES FILHO
NOEMI DE LA ROCQUE RODRIGUEZ
NOEMI DE LA ROCQUE RODRIGUEZ
JAIRO PANETTA
description Atualmente na computação de alto desempenho existem diversas opções de arquiteturas de diversos fabricantes, algumas sendo heterogêneas como por exemplo CPU mais GPU. Este trabalho tem como objetivo implementar maneiras de codificar aplicações de alto desempenho contemplando alguns tipos de arquiteturas, incluindo algumas heterogêneas, garantindo a portabilidade em uma grande porção do código mas mantendo o desempenho e a capacidade de fazer otimizações específicas a cada arquitetura. Implementamos a biblioteca HLIB que gerencia as primitivas de arquiteturas heterogêneas do tipo CPU mais GPU, APU e CPU mais Phi e que também funciona em arquiteturas homogêneas tradicionais. Implementamos o OpenVec, uma ferramenta para gerar, de forma portável, código vetorial explícito. Contemplando as principais arquiteturas SIMD dos últimos 17 anos, tais como ARM Neon, Intel SSE até AVX-512 e IBM VSX. Demonstramos o uso combinado dessas duas ferramentas com aplicações de alto desempenho, que demandam mais de um petaflop.
publishDate 2016
dc.date.issued.fl_str_mv 2016-03-31
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://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=28707@1
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=28707@2
url https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=28707@1
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=28707@2
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO
dc.publisher.program.fl_str_mv PPG EM INFORMÁTICA
dc.publisher.initials.fl_str_mv PUC-Rio
dc.publisher.country.fl_str_mv BR
publisher.none.fl_str_mv PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO
dc.source.none.fl_str_mv reponame:Repositório Institucional da PUC-RIO (Projeto Maxwell)
instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)
instacron:PUC_RIO
instname_str Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)
instacron_str PUC_RIO
institution PUC_RIO
reponame_str Repositório Institucional da PUC-RIO (Projeto Maxwell)
collection Repositório Institucional da PUC-RIO (Projeto Maxwell)
repository.name.fl_str_mv Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)
repository.mail.fl_str_mv
_version_ 1748324929256816640