Automatic offloading to FPGA accelerators : Transferência automática para aceleradores FPGA

Detalhes bibliográficos
Autor(a) principal: Ceissler, Ciro Luiz Araujo, 1986-
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