Um compilador paralelizante com detecção de paralelismo na linguagem intermediária

Detalhes bibliográficos
Ano de defesa: 1994
Autor(a) principal: Hsiang, Hsueh Tsung
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Biblioteca Digitais de Teses e Dissertações da USP
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://www.teses.usp.br/teses/disponiveis/3/3141/tde-06122024-085501/
Resumo: Os avanços nos vários campos da ciência tem exigidos níveis de desempenho dos computadores cada vez mais altos. Por isso, o objetivo desta pesquisa foi o desenvolvimento de um compilador paralelizante portável que suporta diferentes tipos de máquinas e é capaz de extrair o paralelismo de programas sequênciais. O compilador paralelizante foi projetado tendo em vista as portabilidades do front-end e do back-end, e a geração de código executável paralelo eficiente. Por isso, escolheu-se o compilador GNU gcc como o compilador-base. A detecção de paralelismo no nível da linguagem intermediária traz grandes vantagens sobre as abordagens tradicionais que, em geral, realizam toda a detecção ou no nível do código fonte ou em representações intermediárias de nível mais alto. Portanto, neste compilador paralelizante toda a detecção de paralelismo e as transformações de código são aplicadas sobre a linguagem de transferência de registradores, a linguagem intermediária do GNU gcc. O esquema de auto-escalonamento uniforme é uma técnica desenvolvida durante esta pesquisa, que oferece balanceamento de carga melhorado com baixo overhead. Além disso, ela permite a exploração do paralelismo aninhado encontrado em blocos e laços paralelos.