Ferramentas para geração automática de aceleradores em plataformas heterogêneas de alto desempenho com FPGA - Penha, Jeronimo Costa (Universidade Federal de Viçosa, 2018)
A era Big Data e a estagnação da evolução dos processadores devido aos desafios de eficiência energética, motiva o surgimento de novas arquiteturas de domínios específicos buscando aumentar o desempenho. Juntamente ao desenvolvimento das placas de vídeo (Graphics Processing Unit - GPU ), arquiteturas híbridas CPU-FPGA tem surgido e demonstrado potencial para utilização em computação de alto desempenho com eficiência energética para processamento de fluxo de dados. Apesar de serem promissores, os FPGAs (Field-Programmable Gate Array) ainda são pouco utilizados devido a baixa velocidade de chaveamento (clock), complexidade de desenvolvimento e taxas de transferência de dados limitadas. Ferramentas, como OpenSPL e OpenCL, têm sido desenvolvidas com o objetivo de reduzir a complexidade de desenvolvimento. Porém, os FPGAs ainda requerem conhecimento de arquitetura de computadores e hardware para o desenvolvimento de soluções. Este trabalho tem como objetivo a redução da complexidade no desenvolvimento de algoritmos baseados em fluxo de dados para a execução em arquiteturas heterogêneas com processadores e FPGAs. São propostas duas ferramentas para desenvolvimento e execução de algoritmos. A primeira, “ADD”, é uma ferramenta de desenvolvimento de algoritmos com grafos de fluxo de dados que auxilia no projeto, simulação, geração e execução dos arquiteturas desenvolvidas. A segunda ferramenta é um gerador automático específico para um domínio de classificação não supervisionada de da- dos, implementada com o algoritmo K-means capaz de gerar soluções em FPGA. A ferramenta gera também o K-means para execução em GPU. Duas plataformas CPU-FPGA foram utilizadas para a validação das ferramentas. Ambas as plataformas foram desenvolvidas pela Altera/Intel, denominadas HARP 1 e HARP 2. Os resultados obtidos pelas ferramentas desenvolvidas foram promissores e mostram o potencial da utilização de aceleradores com FPGA nos quesitos tempos de execução e eficiência energética.

The Big Data generation and the stagnation of the processor’s evolution, caused by the energy efficiency challenges, motivated the rise of new domain-specific ar- chitectures to increase performance. With the advance and development of better graphics processing units (GPUs), hybrid CPU-FPGA architectures arose and pro- ved the potential to be used in high-performance computing with energy efficiency in data flow processing. Although promising, the FPGAs (Field-Programmable Gate Array) solutions still little used because they have a low clock speed, a high com- plexity of development and a limited data transfer rates. Tools, such as OpenSPL and OpenCL, have been developed with the purpose to reduce the complexity of development. However, FPGAs still require knowledge of computer architecture and hardware to solution development. This work aims to reduce complexity in the development of algorithms based on data flow for execution in heterogeneous architectures with processors and FPGAs. Two tools are proposed for developing and algorithm’s execution. The first one, called “ADD”, is an algorithm develop- ment tool with data flow graphs that assists in the design, simulation, generation and execution of the developed architectures. The second tool is a specific automa- tic generator for an unsupervised data classification domain capable of generating FPGA solutions and implemented with K-means algorithm. The tool also gene- rates K-means for GPU execution. Those tools can be used as a didatic resourse for the training of programmers for high performance computing. Two CPU-FPGA platforms were used for the validation of the tools. Both platforms were developed by Altera/Intel, called HARP v1 and HARP v2. The results achieved by the tools developed were promising and show the potential of the accelerators with FPGA can achieve considering execution times and energy efficiency.
Tools for automatic generation of accelerators in heterogeneous platforms of high performance with FPGA
Keywords: Computação de alto desempenho; Fluxo de dados (Computadores) - Projetos; Circuitos integrados; Circuitos lógicos; Ciência da Computação