Conceitos Básicos




Assumimos que o leitor é familiar com alguns conceitos utilizados neste trabalho: dependência de dados, transformação de programas, espaço de iterações, paralelização de loops, padrão de acesso a dados, reuso de memória e localidade de dados. Para maiores detalhes sobre estes assuntos, veja, por exemplo, as referências [BANE88][BACO93][EISE90][MCKI92][TAKA95][WOLF92]. Um trabalho anterior que também aborda estes tópicos é [MIDO94].

Este artigo está relacionado com o desenvolvimento de um sistema de reestruturação automática de programas visando a otimização de paralelismo e localidade de dados. É um sistema que é dito um reestruturador de fonte-para-fonte; ou seja, dado um programa de entrada escrito em uma linguagem de alto nível, ele executa a análise e as transformações necessárias e, assim, gera um programa de saída também escrito em uma linguagem de alto nível.





Pedro Vaz Artigas
E-mail: artigas@lsi.usp.br

LSI Laboratory of Integrated Systems