Transformando Laços Seqüenciais em Laços Paralelos com Atribuição Única Durante a Execução - Voigt, Eduardo; Panetta, Jairo (Anais do International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD), 1992)
Laços mais internos são fontes promissoras para a exploração de paralelismo em programas. A exploração do paralelismo nestes laços requer uma análise das dependências de dados existentes entre as iterações e a inserção de sincronização apropriada para a execução paralela correta. Motivados pela dificuldade encontrada pelos compiladores reestruturadores atuais, na detecção e inserção da sincronização, propõe-se neste artigo um esquema inédito de paralelização e sincronização de laços mais internos que, atuando durante a execução, elimina anti-dependências e dependências de saída, resultando em laços com atribuições únicas. As dependências de fluxo restantes são garantidas por uma primitiva de sincronização apropriada (flowbit), que, quando aplicada a laços com atribuições únicas, dispensa a detecção das dependências e o cálculo das distâncias para a sincronização correta.