Geração de código para arquiteturas reconfiguráveis

Detalhes bibliográficos
Ano de defesa: 2019
Autor(a) principal: Pedro Henrique Moreira Caldeira
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Minas Gerais
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://hdl.handle.net/1843/51804
Resumo: Recent years have seen a surge in the popularity of Field-Programmable Gate Arrays (FPGAs). Programmers can use them to develop high-performance systems that are not only efficient in time, but also in energy. Yet, programming FPGAs remains a difficult task. Even though there exist today OpenCL interfaces to synthesize such hardware, higher-level programming languages, such as Java, C# or Python remain distant from them. In this work, we describe a compiler, and its supporting runtime environment, that reduces this distance, translating functional code written in Java to the Intel HARP platform. Thus, we bring two contributions. First, the insight that a functional-style library is a good starting point to bridge the gap between high-level programming idioms and FPGAs. Second, the implementation of this system itself, including the compiler, its intermediate representation, and all the runtime support necessary to shield developers from the task of transferring data back and forth between the host CPU and the accelerator. To demonstrate the effectiveness of our system, we have used it to implement different benchmarks, used in image processing and datamining. For large inputs, we can observe consistent 20x speedups over the Java Virtual Machine across all our benchmarks. Depending on the target function that we compile, this speedup can be as large as 280.
id UFMG_cd7e2d9ca3d944e207b12ec33564c47e
oai_identifier_str oai:repositorio.ufmg.br:1843/51804
network_acronym_str UFMG
network_name_str Repositório Institucional da UFMG
repository_id_str
spelling Geração de código para arquiteturas reconfiguráveisCode generation to reconfigurable architecturesComputação – TesesArquitetura de computador – TesesCompiladores (Programas de computador) – TesesLinguagem de programação (Computadores) – TesesCompiladoresFPGALinguages de ProgramaçãoArquitetura de ComputadoresJavaMapReducePerformanceRecent years have seen a surge in the popularity of Field-Programmable Gate Arrays (FPGAs). Programmers can use them to develop high-performance systems that are not only efficient in time, but also in energy. Yet, programming FPGAs remains a difficult task. Even though there exist today OpenCL interfaces to synthesize such hardware, higher-level programming languages, such as Java, C# or Python remain distant from them. In this work, we describe a compiler, and its supporting runtime environment, that reduces this distance, translating functional code written in Java to the Intel HARP platform. Thus, we bring two contributions. First, the insight that a functional-style library is a good starting point to bridge the gap between high-level programming idioms and FPGAs. Second, the implementation of this system itself, including the compiler, its intermediate representation, and all the runtime support necessary to shield developers from the task of transferring data back and forth between the host CPU and the accelerator. To demonstrate the effectiveness of our system, we have used it to implement different benchmarks, used in image processing and datamining. For large inputs, we can observe consistent 20x speedups over the Java Virtual Machine across all our benchmarks. Depending on the target function that we compile, this speedup can be as large as 280.CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível SuperiorUniversidade Federal de Minas Gerais2023-04-11T17:08:39Z2025-09-09T00:10:59Z2023-04-11T17:08:39Z2019-03-11info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/1843/51804porhttp://creativecommons.org/licenses/by/3.0/pt/info:eu-repo/semantics/openAccessPedro Henrique Moreira Caldeirareponame:Repositório Institucional da UFMGinstname:Universidade Federal de Minas Gerais (UFMG)instacron:UFMG2025-09-09T18:12:23Zoai:repositorio.ufmg.br:1843/51804Repositório InstitucionalPUBhttps://repositorio.ufmg.br/oairepositorio@ufmg.bropendoar:2025-09-09T18:12:23Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)false
dc.title.none.fl_str_mv Geração de código para arquiteturas reconfiguráveis
Code generation to reconfigurable architectures
title Geração de código para arquiteturas reconfiguráveis
spellingShingle Geração de código para arquiteturas reconfiguráveis
Pedro Henrique Moreira Caldeira
Computação – Teses
Arquitetura de computador – Teses
Compiladores (Programas de computador) – Teses
Linguagem de programação (Computadores) – Teses
Compiladores
FPGA
Linguages de Programação
Arquitetura de Computadores
Java
MapReduce
Performance
title_short Geração de código para arquiteturas reconfiguráveis
title_full Geração de código para arquiteturas reconfiguráveis
title_fullStr Geração de código para arquiteturas reconfiguráveis
title_full_unstemmed Geração de código para arquiteturas reconfiguráveis
title_sort Geração de código para arquiteturas reconfiguráveis
author Pedro Henrique Moreira Caldeira
author_facet Pedro Henrique Moreira Caldeira
author_role author
dc.contributor.author.fl_str_mv Pedro Henrique Moreira Caldeira
dc.subject.por.fl_str_mv Computação – Teses
Arquitetura de computador – Teses
Compiladores (Programas de computador) – Teses
Linguagem de programação (Computadores) – Teses
Compiladores
FPGA
Linguages de Programação
Arquitetura de Computadores
Java
MapReduce
Performance
topic Computação – Teses
Arquitetura de computador – Teses
Compiladores (Programas de computador) – Teses
Linguagem de programação (Computadores) – Teses
Compiladores
FPGA
Linguages de Programação
Arquitetura de Computadores
Java
MapReduce
Performance
description Recent years have seen a surge in the popularity of Field-Programmable Gate Arrays (FPGAs). Programmers can use them to develop high-performance systems that are not only efficient in time, but also in energy. Yet, programming FPGAs remains a difficult task. Even though there exist today OpenCL interfaces to synthesize such hardware, higher-level programming languages, such as Java, C# or Python remain distant from them. In this work, we describe a compiler, and its supporting runtime environment, that reduces this distance, translating functional code written in Java to the Intel HARP platform. Thus, we bring two contributions. First, the insight that a functional-style library is a good starting point to bridge the gap between high-level programming idioms and FPGAs. Second, the implementation of this system itself, including the compiler, its intermediate representation, and all the runtime support necessary to shield developers from the task of transferring data back and forth between the host CPU and the accelerator. To demonstrate the effectiveness of our system, we have used it to implement different benchmarks, used in image processing and datamining. For large inputs, we can observe consistent 20x speedups over the Java Virtual Machine across all our benchmarks. Depending on the target function that we compile, this speedup can be as large as 280.
publishDate 2019
dc.date.none.fl_str_mv 2019-03-11
2023-04-11T17:08:39Z
2023-04-11T17:08:39Z
2025-09-09T00:10:59Z
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/1843/51804
url https://hdl.handle.net/1843/51804
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv http://creativecommons.org/licenses/by/3.0/pt/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by/3.0/pt/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal de Minas Gerais
publisher.none.fl_str_mv Universidade Federal de Minas Gerais
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFMG
instname:Universidade Federal de Minas Gerais (UFMG)
instacron:UFMG
instname_str Universidade Federal de Minas Gerais (UFMG)
instacron_str UFMG
institution UFMG
reponame_str Repositório Institucional da UFMG
collection Repositório Institucional da UFMG
repository.name.fl_str_mv Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)
repository.mail.fl_str_mv repositorio@ufmg.br
_version_ 1856413894607634432