Please use this identifier to cite or link to this item: https://repositorio.ufu.br/handle/123456789/29093
ORCID:  http://orcid.org/0000-0002-0879-5106
Document type: Trabalho de Conclusão de Curso
Access type: Acesso Aberto
Title: Uso de algoritmo baseado em colônia de formigas para explorar sequências de otimização do compilador
Alternate title (s): Use of ant colony based algorithm to explore compiler optimization sequences
Author: Faria, Tiago Pereira de
First Advisor: Martins, Luiz Gustavo Almeida
First member of the Committee: Lopes, Carlos Roberto
Second member of the Committee: Carneiro, Murillo Guimarães
Summary: Achar sequências de passos de otimização específicas para o código alvo é uma tarefa complicada, porém muito importante, pois conseguem melhorar o desempenho significativamente em relação às sequências pré estabelecidas tipicamente presentes nos compiladores modernos. Este trabalho propõem um modelo híbrido utilizando dois módulos principais: um seletor e um ordenador. O seletor visa selecionar, dentre um conjunto de códigos de referência, aqueles que com maior similaridade com o novo código. Para isso, foram avaliadas duas abordagens, uma baseada no KNN e outra utilizando um algoritmo de K-Medias (K-Means). O modulo ordenador tem como objetivo encontrar a melhor ordem de aplicação dos passos presentes nas sequências dos códigos similares selecionados. Para ele, foram avaliadas duas abordagens diferentes utilizando algoritmos baseados em colônia de formigas. A primeira utiliza a distância percorrida no grafo para avaliar as soluções das formigas, enquanto a segunda compila e simula a execução do código alvo para avalia-las. Foram realizados experimentos utilizando 51 programas do benchmark do Test-Suite do compilador LLVM. Com os experimentos foi possível concluir que o KNN consegue selecionar de forma mais eficiente os programas similares. O modelo utilizando a distância percorrida no grafo para avaliar as sequências apresentou speedup médio de 1.05x em relação a melhor sequência padrão (-OX) do compilador (LLVM). O modelo utilizando simulação das sequências conseguiu speedup de 1.073x em relação ao -OX, embora demande um tempo de exploração consideravelmente maior (91.1 minutos ao invés de 2.7).
Keywords: Compiladores
Algoritmo baseado em colônia de formigas
ACO
Busca de sequências de passos de otimização
Compilers
Ant colony based algorithm
Optimization sequences search
Area (s) of CNPq: CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::SISTEMAS DE INFORMACAO
Language: por
Country: Brasil
Publisher: Universidade Federal de Uberlândia
Quote: FARIA, Tiago Pereira de. Uso de algoritmo baseado em colônia de formigas para explorar sequências de otimização do compilador. 2019. 53 f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) - Universidade Federal de Uberlândia, Uberlândia, 2020.
URI: https://repositorio.ufu.br/handle/123456789/29093
Date of defense: 12-Jul-2019
Appears in Collections:TCC - Ciência da Computação

Files in This Item:
File Description SizeFormat 
UsoAlgoritmoBaseado.pdf784.7 kBAdobe PDFThumbnail
View/Open


This item is licensed under a Creative Commons License Creative Commons