Ferramentas e novas arquiteturas para aceleradores reconfiguráveis em plataformas heterogêneas CPU-FPGA com memória compartilhada - Silva, Lucas Bragança (2019)
O uso de arquiteturas reconfiguráveis como aceleradores em sistemas heterogêneos de alto desempenho surgiu como uma opção complementar a outras soluções, como por exemplo os processadores gráficos ou GPUs. Arquiteturas reconfiguráveis como FPGAs possuem como principal vantagem o paralelismo intrínseco de sua estrutura, que pode se adaptar à aplicação para alcançar o máximo desempenho com baixo consumo energético. Porém, faltam ferramentas para popularizar o uso dos FPGAs como aceleradores, reduzir o tempo de projeto, sem exigir dos programadores conhecimentos aprofundados no desenvolvimento de hardware. Nesta dissertação são apresentados três trabalhos que permitem a geração automática de código de aceleradores para sistemas heterogêneos com FPGA, além de propor uma nova arquitetura reconfigurável, que permite a execução no modelo MIMT (Multiple Instruction Multiple Threads) com troca de contexto em um ciclo de relógio. O primeiro trabalho apresenta uma ferramenta capaz de gerar automaticamente todo código de um acelerador para auxiliar na exploração de Redes Reguladoras de Genes, esta aborda- gem obteve um ganho de desempenho de duas ordens de grandeza em comparação com processador de uso geral. O segundo trabalho apresenta um arcabouço para facilitar a implantação de aceleradores em FPGA, deixando para o desenvolvedor apenas a implementação da aplicação, sem a necessidade de codificar os mecanismos de controle de comunicação entre o acelerador e a aplicação executada em software. Por fim, no terceiro trabalho é proposta uma nova arquitetura reconfigurável que permite a execução de múltiplas threads, fazendo o uso de paralelismo temporal e espacial para acelerar aplicações descritas na forma de grafos de fluxo de dados.