“Inteligência Artificial: A Nova Fronteira da Ciência Brasileira”

19 a 24 de outubro de 2020

Trabalho 13485

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 Departamento de Informática
Bolsa CNPq
Conclusão de bolsa Sim
Apoio financeiro CNPq
Primeiro autor Lucas Teixeira Reis
Orientador RICARDO DOS SANTOS FERREIRA
Outros membros Lucas Bragança da Silva, Michael Canesche, Westerley Carvalho Oliveira
Título Aceleração de dataflows em GPU e exploração da topologia dos mapeamentos em hardware.
Resumo Durante décadas o número de componentes em um circuito integrado (Chip) dobrou a cada 18 meses, como previsto pela lei de Moore. Porém, devido a problemas relacionados à miniaturização dos componentes, esta regra não é mais válida, criando novos desafios para aumentar o desempenho computacional. Além disso, as aplicações modernas com grande volume de dados demandam milhões de trilhões de operações numéricas por segundo. Desta forma, investimentos em diversos setores da tecnologia continuam a crescer, visando a redução do consumo energético, da área dos Chips e do tempo de execução. Neste trabalho exploramos métricas para otimização destas aplicações, que são descritas como grafos de fluxo de dados e que consequentemente devem ser mapeadas no software e hardware dos computadores. Para isto, estudamos algoritmos de mapeamento, que consiste em posicionar operações lógicas em uma estrutura física - hardware - de forma eficiente. Os materiais necessários para desenvolvimento e análise foram: Google Colab, configurado com uma GPU Tesla P100; códigos em C++; Python 3.8 com as bibliotecas NetworkX, NumPy e Matplotlib. A metodologia proposta baseou-se em duas abordagens de mapeamento, com algoritmos desenvolvidos por membros do grupo de pesquisa em hardware do Departamento de Informática. Na primeira, temos um algoritmo determinístico que percorre o grafo da saída para a entrada e inverte o sentido da travessia de acordo com heurísticas que buscam posicionar nós vizinhos de maneira próxima. A segunda abordagem utiliza o Simulated Annealing (SA) e parte de uma solução inicial aleatória, que é melhorada de forma dinâmica com troca de posição entre nós, minimizando uma função de custo com as distâncias de cada nó para seu vizinho e mapeando o grafo em uma grade bi-dimensional. Com intuito de tornar a implementação do SA mais eficiente, houve refatoração do código para execução em GPU. Adicionalmente, utilizamos duas métricas existentes em Teoria de Redes Complexas, que estuda propriedades das subestruturas que surgem em grafos, na criação de uma visualização para os posicionamentos. A primeira, Closeness Centrality, diz respeito ao quão próximo a outros nós um determinado nó está. Na segunda, o Betweness Centrality, identificam-se nós por onde passa um grande fluxo de dados. As medidas foram incorporadas em uma visualização em mapa de calor que sobrepõe o mapeamento gerado e evidencia o custo da arquitetura em fios. Verificamos que um posicionamento eficiente é influenciado por fatores como o tamanho do grafo, as características de sua topologia e a arquitetura utilizada. Além disso, a visualização proposta possibilitou compreender padrões nos grafos, de forma a facilitar a concepção de abstrações e heurísticas para construção de algoritmos de mapeamento mais eficientes. Por fim, por meio do paralelismo, pudemos identificar o potencial das GPUs de acelerar o mapeamento e explorar melhor o espaço de busca.
Palavras-chave arquitetura de computadores, mapeamento de grafos de fluxo de dados, GPU
Forma de apresentação..... Vídeo
Link para apresentação Vídeo
Gerado em 0,68 segundos.