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 |