Use este identificador para citar o ir al link de este elemento:
http://hdl.handle.net/1843/51804
Tipo: | Dissertação |
Título: | Geração de código para arquiteturas reconfiguráveis |
Título(s) alternativo(s): | Code generation to reconfigurable architectures |
Autor(es): | Pedro Henrique Moreira Caldeira |
primer Tutor: | Renato Antônio Celso Ferreira |
primer miembro del tribunal : | Daniel Fernandes Macedo |
Segundo miembro del tribunal: | Ricardo dos Santos Ferreira |
Tercer miembro del tribunal: | Gilberto Medeiros Ribeiro |
Resumen: | Nos últimos anos observa-se uma ascenção na popularidade das Matrizes de Portas Programáveis em Campo (Field Programmable Gate Array - FPGA). Programadores podem utilizá-las para desenvolver aplicações de alto desempenho que podem ser eficientes em tempo e energia. Porém, programar para FPGAs permanece uma tarefa difícil. Apesar de existirem interfaces OpenCL para sintetizar esse hardware, linguagens de alto nível como Java, C# ou Python permanecem distantes dessa arquitetura. Nesse trabalho descrevemos um compilador e um ambiente de execução que reduz essa distância traduzindo código funcional escrito em Java para a plataforma do Intel HARP. Portanto trazemos duas contribuições. Primeiro, mostramos que uma biblioteca de programação funcional é um bom ponto de partida para aproximar linguagens de alto nível e FPGAs. Segundo, a implementação de um arcabouço que inclui um compilador, uma representação intermediária e um ambiente de execução capaz de fazer a transferência de dados entre hospedeiro e acelerador sem intervenção explícita do programador. Afim de demonstrar a eficácia do nosso sistema, nós o utilizamos para implementar diferentes casos de testes utilizados em processamento de imagens e mineração de dados. Para entradas com grande volume de dados, observamos acelerações estáveis de 20x se comparando com o código original executado na Máquina Virtual Java entre todos nossos casos de teste. Dependendo da função que compilamos essa aceleração pode chegar a 280x. |
Abstract: | 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. |
Asunto: | Computação – Teses Arquitetura de computador – Teses Compiladores (Programas de computador) – Teses Linguagem de programação (Computadores) – Teses |
Idioma: | por |
País: | Brasil |
Editor: | Universidade Federal de Minas Gerais |
Sigla da Institución: | UFMG |
Departamento: | ICX - DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO |
Curso: | Programa de Pós-Graduação em Ciência da Computação |
Tipo de acceso: | Acesso Aberto |
metadata.dc.rights.uri: | http://creativecommons.org/licenses/by/3.0/pt/ |
URI: | http://hdl.handle.net/1843/51804 |
Fecha del documento: | 11-mar-2019 |
Aparece en las colecciones: | Dissertações de Mestrado |
archivos asociados a este elemento:
archivo | Descripción | Tamaño | Formato | |
---|---|---|---|---|
dissertacao_final.pdf | 4.36 MB | Adobe PDF | Visualizar/Abrir |
Este elemento está licenciado bajo una Licencia Creative Commons