Busca avançada
Ano de início
Entree

Uso de aprendizagem de máquina para melhorar decisões tomadas por um compilador

Processo: 17/02111-5
Modalidade de apoio:Auxílio à Pesquisa - Regular
Data de Início da vigência: 01 de julho de 2017
Data de Término da vigência: 30 de junho de 2019
Área do conhecimento:Ciências Exatas e da Terra - Ciência da Computação - Sistemas de Computação
Pesquisador responsável:Ricardo Luis de Azevedo da Rocha
Beneficiário:Ricardo Luis de Azevedo da Rocha
Instituição Sede: Escola Politécnica (EP). Universidade de São Paulo (USP). São Paulo , SP, Brasil
Assunto(s):Inteligência computacional  Aprendizado computacional  Compiladores paralelizantes 
Palavra(s)-Chave do Pesquisador:Ahead of Time Compilation | Ajuste de parâmetros de Compilação | Compiladores | Inteligência computacional | paralelização | Implementação de Linguagens de Programação

Resumo

Projetar transformações de código para compiladores ainda é uma arte em que não é possível obter desempenho semelhante aos resultados obtidos por seres humanos. Esta proposta de pesquisa tem por objetivo investigar o uso de aprendizagem de máquina para construir compiladores que geram código mais efetivo. A proposta é aplicar aprendizado supervisionado e, posteriormente, não-supervisionado.O objetivo é o desenvolvimento de um método automático para auto-ajuste de parâmetros em um compilador avançado. A adaptatividade em compilação já está presente nos métodos atuais que empregam aprendizado supervisionado. Um dos objetivos deste projeto é melhorar as transformações de código em compiladores, uma área que conta com esforços de pesquisa relativamente recentes.Como ponto de partida para este projeto a proposta é utilizar o framework desenvolvido no Compiler Design and Optimization Laboratory, o grupo de pesquisa conduzido pelo Prof. Dr. José Nelson Amaral na University of Alberta. O framework, chamado Perfil Combinado (Combined Profiling), é voltado principalmente a ahead-of-time compilation. O uso de Perfil Combinado é indicado para qualquer transformação de código que utilize realimentação. O projeto iniciará com um estudo de caso da transformação inlining pois essa transformação pode ter um impacto significativo no desempenho de um programa e tem o potencial de exibir sensibilidade aos dados de entrada do programa.Espera-se que ao final novos métodos e frameworks sejam gerados para permitir o ajuste automático de parâmetros de compilação ahead-of-time. Os experimentos existentes utilizam a infraestrutura de compilação disponível como software livre com código aberto chamada Low-Level Virtual Machine (LLVM) e a linguagem C/C++ em ahead-of-time compilation.Outra questão relevante é a definição das plataformas de hardware para os experimentos. Utilizar a infra-estrutura existente para isso não seria suficiente, porque novas arquiteturas estão em desenvolvimento e é necessário formular experimentos para elas. Por isso a proposta contempla aquisição de máquinas com arquiteturas avançadas e extremamente recentes, baseadas em Intel MIC. (AU)

Matéria(s) publicada(s) na Agência FAPESP sobre o auxílio:
Mais itensMenos itens
Matéria(s) publicada(s) em Outras Mídias ( ):
Mais itensMenos itens
VEICULO: TITULO (DATA)
VEICULO: TITULO (DATA)

Publicações científicas
(Referências obtidas automaticamente do Web of Science e do SciELO, por meio da informação sobre o financiamento pela FAPESP e o número do processo correspondente, incluída na publicação pelos autores)
DE AZEVEDO DA ROCHA, RICARDO LUIS; DE FREITAS BARBOSA, MATEUS C. M.; SHAKSHUKI, E; YASAR, A. A New Adaptive Algorithm for Inlining: An Experiment on FDO-Based Transformations. PROCEEDINGS OF THE XI LATIN AND AMERICAN ALGORITHMS, GRAPHS AND OPTIMIZATION SYMPOSIUM, v. 130, p. 6-pg., . (17/02111-5)