“Bicentenário da Independência: 200 anos de ciência, tecnologia e inovação no Brasil e 96 anos de contribuição da UFV”.

8 a 10 de novembro de 2022

Trabalho 16947

ISSN 2237-9045
Instituição Universidade Federal de Viçosa
Nível Graduação
Modalidade Pesquisa
Área de conhecimento Ciências Exatas e Tecnológicas
Área temática Ciência da computação
Setor Instituto de Ciências Exatas e Tecnológicas - Campus Florestal
Bolsa PIBIC/CNPq
Conclusão de bolsa Sim
Apoio financeiro CNPq
Primeiro autor Dener Vieira Ribeiro
Orientador JOSE AUGUSTO MIRANDA NACIF
Outros membros Lucas Bragança da Silva, RICARDO DOS SANTOS FERREIRA
Título Aceleradores Reconfiguráveis para Aprendizado de Máquina
Resumo Atualmente, a necessidade de resolver problemas de forma rápida e eficiente tem levado a busca por dispositivos capazes de aumentar o poder de computação dos dados nas máquinas. Nesse sentido, as arquiteturas reconfiguráveis podem ser utilizadas como aceleradores de baixo consumo. Essas categorias de arquiteturas possuem como principal vantagem o uso de paralelismo espacial e temporal em sua estrutura. CGRAs (Coarse Grain Reconfigurable Architecture) vêm sendo utilizados para acelerar e otimizar diversas classes problemas, entretanto, problemas distintos precisam de diferentes estruturas e operações a serem realizadas no acelerador para que ele funcione de maneira adequada. Desse modo, os CGRAs genéricos tendem a não serem eficientes para todas as classes problemas. Devido a isso, neste trabalho foi desenvolvido um gerador de arquiteturas reconfiguráveis para as operações efetuadas nos elementos de processamento (PEs) de um CGRA. Dessa maneira, os usuários podem projetar de forma simplificada suas arquiteturas personalizadas que serão aplicadas para cada situação desejada. Para o desenvolvimento do gerador, foi adicionado ao projeto HPCGRA uma nova funcionalidade, onde uma nova operação pode ser criada por meio de uma descrição em alto nível. Esta nova função recebe uma operação descrita no formato JSON (Javascript Object Notation) e produz o código na linguagem de descrição de hardware Verilog necessário para a implementação do acelerador em um dispositivo FPGA (Field Programmable Gates Array). De forma a facilitar na criação de novas operações, uma biblioteca em C++ foi criada para permitir a criação de novos operadores e gerar os arquivos JSON de forma simplificada. Assim, o usuário pode usar as operações lógico-aritméticas básicas ou criar operações mais complexas e utilizá-las nos PEs do CGRA reconfigurável através da escrita manual do arquivo ou criando um dataflow com a biblioteca C++ e exportando essa dataflow como um novo operador JSON. Como teste, foram feitos os códigos Verilog a partir do dataflow dos algoritmos de Finite Impulse Response (FIR) e Kmeans. Ambos foram executados e obtiveram os resultados esperados com base nos valores oriundos da simulação do dataflow. Portanto, o gerador atendeu aos propósitos estabelecidos de configurar arquiteturas customizadas e pode ser usado como instrumento facilitador na exploração de espaço de projetos de CGRAs.
Palavras-chave HPCGRA, Aceleradores, Arquiteturas Reconfiguráveis
Forma de apresentação..... Painel
Link para apresentação Painel
Gerado em 0,73 segundos.