Geração de código para arquiteturas reconfiguráveis
| Ano de defesa: | 2019 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| 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 |