Defesa de Mestrado de Ciro Luiz Araujo Ceissler

Título do Trabalho
Transferência Automática para Aceleradores FPGA
Candidato(a)
Ciro Luiz Araujo Ceissler
Nível
Mestrado
Data
Add to Calender 2018-10-17 00:00:00 2018-10-17 00:00:00 Defesa de Mestrado de Ciro Luiz Araujo Ceissler Transferência Automática para Aceleradores FPGA Auditório do IC 3 INSTITUTO DE COMPUTAÇÃO mauroesc@ic.unicamp.br America/Sao_Paulo public
Horário
10h30
Local
Auditório do IC 3
Orientador(a)
Guido Costa Souza de Araujo
Banca Examinadora

* Titulares  

Unidade/Instituição

Guido Costa Souza de Araújo

IC/UNICAMP

Ricardo dos Santos Ferreira

DPI/UFV

Lucas Francisco Wanner

IC/UNICAMP

* Suplentes 

Unidade/Instituição

Sílvio Roberto Fernandes de Araújo

IC/UNICAMP

Alexandro José Baldassin

IGCE/UNESP

Resumo

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 com baixo 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éma informação necessária para mover a computação para FPGA. Uma modificação na ge-açã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 conhecidas.