Use este identificador para citar ou linkar para este item: https://repositorio.ufu.br/handle/123456789/29093
ORCID:  http://orcid.org/0000-0002-0879-5106
Tipo do documento: Trabalho de Conclusão de Curso
Tipo de acesso: Acesso Aberto
Título: Uso de algoritmo baseado em colônia de formigas para explorar sequências de otimização do compilador
Título(s) alternativo(s): Use of ant colony based algorithm to explore compiler optimization sequences
Autor(es): Faria, Tiago Pereira de
Primeiro orientador: Martins, Luiz Gustavo Almeida
Primeiro membro da banca: Lopes, Carlos Roberto
Segundo membro da banca: Carneiro, Murillo Guimarães
Resumo: 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).
Palavras-chave: 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
Área(s) do CNPq: CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::SISTEMAS DE INFORMACAO
Idioma: por
País: Brasil
Editora: Universidade Federal de Uberlândia
Referência: 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
Data de defesa: 12-Jul-2019
Aparece nas coleções:TCC - Ciência da Computação

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
UsoAlgoritmoBaseado.pdf784.7 kBAdobe PDFThumbnail
Visualizar/Abrir


Este item está licenciada sob uma Licença Creative Commons Creative Commons