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
Laboratory
of Integrated Systems