Atenção: Todas as denúncias são sigilosas e sua identidade será preservada.
Os campos nome e e-mail são de preenchimento opcional
Metadados | Descrição | Idioma |
---|---|---|
Autor(es): dc.contributor | Gonçalves, Rogério Aparecido | - |
Autor(es): dc.contributor | Gonçalves, Diego Bertolini | - |
Autor(es): dc.contributor | Gonçalves, Paulo Cesar | - |
Autor(es): dc.contributor | Gonçalves, Rogério Aparecido | - |
Autor(es): dc.creator | Rosário, Luan Bodner do | - |
Data de aceite: dc.date.accessioned | 2022-02-21T21:57:36Z | - |
Data de disponibilização: dc.date.available | 2022-02-21T21:57:36Z | - |
Data de envio: dc.date.issued | 2020-11-08 | - |
Data de envio: dc.date.issued | 2020-11-08 | - |
Data de envio: dc.date.issued | 2019-06-27 | - |
Fonte completa do material: dc.identifier | http://repositorio.utfpr.edu.br/jspui/handle/1/6013 | - |
Fonte: dc.identifier.uri | http://educapes.capes.gov.br/handle/capes/664597 | - |
Descrição: dc.description | Heterogeneous computing is an area in computer science that has become of great interest both comercially and academically. This area encompasses our understanding of computer nodes formed by both accelerating devices, such as GPUs and multi core processors. Although popular, very few applications are able to use all of the computing power available in these heterogeneous platforms. With these questions in mind, an execution enviroment was developed to solve this problem. This enviroment takes as input blocks of code (functions) with two different versions: one version destined to the GPU and another version destined to the CPU. This enviroment is capable of controlling the threads in the CPU and use them to collect data to decide which device is best suited for a specific function inside of the application. In this project, we attempted to develop a compiler tool with the purpose of working with this execution enviroment. The tool is able to detect if a demarcated region of code is parallel, starting from a code originally sequencial. After that, the tool generates code for both CPU by means of function calls to the OpenMP library and GPU by means of CUDA. To show that the compiler tool is functional, we produced a set of conceptual proofs that show the step-by-step of the tool by explaining what happened during the compilation process, the transformations made during each step and finally the output generated by the enviroment, proving that the system created and developed here is viable for improving the efficiency of code with very little changes in the original source code. | - |
Descrição: dc.description | Computação Heterogênea é uma área da Computação que desperta grande interesse tanto no setor comercial quanto no acadêmico. Essa área engloba o conhecimento sobre nós computacionais compostos por dispositivos aceleradores(GPUs) e processadores multicore. Apesar de populares, poucas aplicações são capazes de utilizar todo o poder computacional disponibilizado por essas plataformas heterogêneas. Diante desse cenário, um ambiente de execução havia sido desenvolvido para tentar solucionar este problema. Este ambiente toma como entrada funções com versões destinadas à CPU e à GPU e é capaz de controlar a execução das threads OpenMP coletando contadores de desempenho dentro do processador. Com essas informações a decisão de offloading de código é tomada em tempo de execução. Neste projeto foi desenvolvida uma ferramenta de compilação com o propósito de trabalhar em conjunto com este ambiente de execução, sendo capaz de detectar regiões demarcadas do código como paralelizáveis, partindo de um código que inicialmente seria executado sequencialmente. Após a detecção, a ferramenta gera versões do código que pode ser executado tanto em CPU multicore usando chamadas de funções OpenMP quanto em GPUs por meio da plataforma de processamento paralelo Compute Unified Device Architecture (CUDA). Para comprovar as funcionalidades desta ferramenta, foram produzidos um conjunto de provas de conceito que mostram passo à passo o funcionamento do compilador, as transformações feitas durante o processo e a saída produzida pelo ambiente de execução com o propósito de mostrar a viabilidade de um sistema capaz de transformar código legado e explorar a arquitetura heterogênea de destino com poucas modificações no código original. | - |
Formato: dc.format | application/pdf | - |
Idioma: dc.language | pt_BR | - |
Publicador: dc.publisher | Universidade Tecnológica Federal do Paraná | - |
Publicador: dc.publisher | Campo Mourao | - |
Publicador: dc.publisher | Brasil | - |
Publicador: dc.publisher | Departamento Acadêmico de Computação | - |
Publicador: dc.publisher | Ciência da Computação | - |
Publicador: dc.publisher | UTFPR | - |
Direitos: dc.rights | openAccess | - |
Palavras-chave: dc.subject | Compiladores (Computadores) | - |
Palavras-chave: dc.subject | Computação de alto desempenho | - |
Palavras-chave: dc.subject | Programação paralela (Computação) | - |
Palavras-chave: dc.subject | Compiling (Electronic computers) | - |
Palavras-chave: dc.subject | High performance computing | - |
Palavras-chave: dc.subject | Parallel programming (Computer science) | - |
Palavras-chave: dc.subject | CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO | - |
Título: dc.title | Ferramenta de compilação para a geração de código para um runtime de offloading automático | - |
Tipo de arquivo: dc.type | livro digital | - |
Aparece nas coleções: | Repositorio Institucional da UTFPR - RIUT |
O Portal eduCAPES é oferecido ao usuário, condicionado à aceitação dos termos, condições e avisos contidos aqui e sem modificações. A CAPES poderá modificar o conteúdo ou formato deste site ou acabar com a sua operação ou suas ferramentas a seu critério único e sem aviso prévio. Ao acessar este portal, você, usuário pessoa física ou jurídica, se declara compreender e aceitar as condições aqui estabelecidas, da seguinte forma: