Automatic offloading to FPGA accelerators : Transferência automática para aceleradores FPGA
Autor(a) principal: | |
---|---|
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/1635078 |
Resumo: | Orientador: Guido Costa Souza de Araújo |
id |
UNICAMP-30_26518b19cdf210965c27f3a9033f81f2 |
---|---|
oai_identifier_str |
oai::1063445 |
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 |
Automatic offloading to FPGA accelerators : Transferência automática para aceleradores FPGATransferência automática para aceleradores FPGAOpenMP (Programação paralela)Compiladores (Computadores)FPGA (Arranjo de Lógica Programável em Campo)Intel HARP (Microprocessadores)OpenMP (Parallel programming)Compiling (Electronic computers)Field programmable gate arrayIntel HARP (MicroprocessorOrientador: Guido Costa Souza de AraújoDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de ComputaçãoResumo: O aumento da quantidade de recursos computacionais necessários para executar as tarefas nas modernas infraestrutura na nuvem coloca uma pressão no projeto de nós eficientes no consumo de potência num cluster. Uma forte integração entre hardware, software, rede e sistemas para cada aplicação é necessária para aumentar o uso computacional de uma maneira eficaz, mas para combiná-los é necessário muito tempo de desenvolvimento além do conhecimento profundo de cada um deles . Para solucionar este problema, diversas empresas propuseram uma arquitetura com CPU-FPGA integradas, e.g., Intel HARP e Microsoft Catapult, nas quais executam de maneira eficientes, levando em consideração potência e performance, além de oferecer flexibilidade. Infelizmente, a integração de aplicações aceleradas em FPGA com o software é um tarefa desafiadora, que não possui um modelo de programação simplificado. Esta dissertação discute em detalhes o HardCloud, uma extensão da API do OpenMP para facilitar a transferência da computação para os aceleradores FPGA. A versão 4.0 da especificação do OpenMP introduz novas diretivas para possibilitar a transferência da computação para dispostivos heterogêneos (e.g., GPUs, co-processadores criptográficos ou DSP), apesar disso a especificação não contém a informação necessária para mover a computação para FPGA. Uma modificação na geração do código de execução do OpenMP, no compilador Clang/LLVM, estende o modelo de programação para suportar a computação na plataforma Intel HARP 2, especificando uma aplicação FPGA gerada previamente. Além disso, uma abstração da interface de hardware concede um método fácil para conectar um IP com o OpenMP, facilitando a leitura ou escrita das váriaves compartilhadas, enquanto gerência o acesso às interfaces da FPGA. Uma vez que a geração de um arquivo, contendo os bits para programar a FPGA, é uma atividade que consome muita memória e CPU demorando várias horas, o desenvolvedor pode selecionador o simulador ao invés da plataforma para realizar uma rápida avaliação. Adicionalmente, um mecanismo automático de verificação e validação do hardware compara os valores da variáveis de saída do hardware e software. Resultados experimentais usando o compilador Clang/LLVM e a arquitetura Intel HARP 2 demonstram que o uso para esta tarefa pode ser consideravelmente simplificado enquanto produz ganho de desempenho para um conjunto de aplicações conhecidasAbstract: The sheer amount of computing resources required to run modern cloud workloads has put a lot of pressure on the design of power efficient cluster nodes. A deep integration among hardware, software, network, and systems for each application is necessary to increase the computational usage effectiveness, but to combine them requires a lot of development time and in-depth knowledge. To address this problem, many vendors have proposed CPU-FPGA integrated architectures, e.g., Intel HARP and Microsoft Catapult, that can deliver efficient power-performance executions and flexibility. Unfortunately, the integration of FPGA accelerated applications to software is a challenging endeavor that does not have a seamless programming model. This dissertation discusses in details the HardCloud, an extension of the OpenMP API that eases the task of offloading computation to FPGA accelerators. The OpenMP 4.0 specification introduces new directives that enable the transfer of computation to heterogeneous computing devices (e.g., GPUs, cryptography co-processors or DSP), although the specification does not provide all necessary information to accomplish the offload to FPGA. An OpenMP runtime code generation modification, inside the Clang/LLVM compiler, extends this programming model to support Intel HARP 2 platform offload by specifying a pre-generated FPGA application. A hardware interface abstraction provides an effortless method to connect the IP core with the OpenMP runtime and reading or writing the shared variables in a seamless way, while manages the access to the FPGA interfaces. Since the FPGA bitstream generation is CPU/memory intensive and demands many hours, the developer is capable of select the simulator instead of the platform to a rapid evaluation. Additionally, an automatic mechanism to verify and validate the hardware, which compares the hardware and software output variables values, is available and reduce the test environment development effort. Experimental results using the Clang/LLVM compiler and the Intel HARP 2 architecture show that HardCloud can considerably simplify such task while producing good speed-ups for a set of well-known applicationsMestradoCiência da ComputaçãoMestre em Ciência da ComputaçãoCAPES1707894[s.n.]Araújo, Guido Costa Souza de, 1962-Ferreira, Ricardo dos SantosWanner, Lucas FranciscoUniversidade Estadual de Campinas (UNICAMP). Instituto de ComputaçãoPrograma de Pós-Graduação em Ciência da ComputaçãoUNIVERSIDADE ESTADUAL DE CAMPINASCeissler, Ciro Luiz Araujo, 1986-20182018-10-17T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdf1 recurso online (51 p.) : il., digital, arquivo PDF.https://hdl.handle.net/20.500.12733/1635078CEISSLER, Ciro Luiz Araujo. Automatic offloading to FPGA accelerators: Transferência automática para aceleradores FPGA. 2018. 1 recurso online (51 p.) Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1635078. Acesso em: 3 set. 2024.https://repositorio.unicamp.br/acervo/detalhe/1063445Requisitos 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/openAccess2020-11-12T14:28:24Zoai::1063445Biblioteca Digital de Teses e DissertaçõesPUBhttp://repositorio.unicamp.br/oai/tese/oai.aspsbubd@unicamp.bropendoar:2020-11-12T14:28:24Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP)false |
dc.title.none.fl_str_mv |
Automatic offloading to FPGA accelerators : Transferência automática para aceleradores FPGA Transferência automática para aceleradores FPGA |
title |
Automatic offloading to FPGA accelerators : Transferência automática para aceleradores FPGA |
spellingShingle |
Automatic offloading to FPGA accelerators : Transferência automática para aceleradores FPGA Ceissler, Ciro Luiz Araujo, 1986- OpenMP (Programação paralela) Compiladores (Computadores) FPGA (Arranjo de Lógica Programável em Campo) Intel HARP (Microprocessadores) OpenMP (Parallel programming) Compiling (Electronic computers) Field programmable gate array Intel HARP (Microprocessor |
title_short |
Automatic offloading to FPGA accelerators : Transferência automática para aceleradores FPGA |
title_full |
Automatic offloading to FPGA accelerators : Transferência automática para aceleradores FPGA |
title_fullStr |
Automatic offloading to FPGA accelerators : Transferência automática para aceleradores FPGA |
title_full_unstemmed |
Automatic offloading to FPGA accelerators : Transferência automática para aceleradores FPGA |
title_sort |
Automatic offloading to FPGA accelerators : Transferência automática para aceleradores FPGA |
author |
Ceissler, Ciro Luiz Araujo, 1986- |
author_facet |
Ceissler, Ciro Luiz Araujo, 1986- |
author_role |
author |
dc.contributor.none.fl_str_mv |
Araújo, Guido Costa Souza de, 1962- Ferreira, Ricardo dos Santos Wanner, Lucas Francisco Universidade Estadual de Campinas (UNICAMP). 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 |
Ceissler, Ciro Luiz Araujo, 1986- |
dc.subject.por.fl_str_mv |
OpenMP (Programação paralela) Compiladores (Computadores) FPGA (Arranjo de Lógica Programável em Campo) Intel HARP (Microprocessadores) OpenMP (Parallel programming) Compiling (Electronic computers) Field programmable gate array Intel HARP (Microprocessor |
topic |
OpenMP (Programação paralela) Compiladores (Computadores) FPGA (Arranjo de Lógica Programável em Campo) Intel HARP (Microprocessadores) OpenMP (Parallel programming) Compiling (Electronic computers) Field programmable gate array Intel HARP (Microprocessor |
description |
Orientador: Guido Costa Souza de Araújo |
publishDate |
2018 |
dc.date.none.fl_str_mv |
2018 2018-10-17T00: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/1635078 CEISSLER, Ciro Luiz Araujo. Automatic offloading to FPGA accelerators: Transferência automática para aceleradores FPGA. 2018. 1 recurso online (51 p.) Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1635078. Acesso em: 3 set. 2024. |
url |
https://hdl.handle.net/20.500.12733/1635078 |
identifier_str_mv |
CEISSLER, Ciro Luiz Araujo. Automatic offloading to FPGA accelerators: Transferência automática para aceleradores FPGA. 2018. 1 recurso online (51 p.) Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1635078. Acesso em: 3 set. 2024. |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.relation.none.fl_str_mv |
https://repositorio.unicamp.br/acervo/detalhe/1063445 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 (51 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_ |
1809189135642001408 |