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.
id USP_91aec5c53acbc55b10b8e301449c0367
oai_identifier_str oai:teses.usp.br:tde-06122024-085501
network_acronym_str USP
network_name_str Biblioteca Digital de Teses e Dissertações da USP
repository_id_str
spelling Um compilador paralelizante com detecção de paralelismo na linguagem intermediáriaUntitled in englishAuto-escalonamentoAutoscalingCompilador paralelizanteIntermediate languageLinguagem intermediáriaParallelizing compilerOs 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.The advances in the various fields of science claim for ever increasing performance levels from the computers. Therefore, the goal of this research was to develop a portable parallelizing compiler that targets multiple kinds of machines and is capable of extracting the parallelism from sequential programs. The portable parallelizing compiler was designed enforcing front-end and backend portability, and the generation of execution efficient parallel executable code. Therefore, the GNU gcc compiler was chosen as the base compiler. The detection of parallelism in the intermediate language level offers great advantages over traditional approaches that usually perform all the detection either on the source code level or on higher level intermediate representations. Therefore, in this parallelizing compiler all the detection of parallelism and code transformations are applied on the Register Transfer Language, the intermediate language of GNU gcc. The Uniform Auto-Scheduling scheme is a technique developed during the research, which allows improved load balancing with low overhead. Moreover, it allows the exploitation of the nested parallelisms found in parallel blocks and parallel loops.Biblioteca Digitais de Teses e Dissertações da USPSato, Liria MatsumotoHsiang, Hsueh Tsung1994-06-24info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://www.teses.usp.br/teses/disponiveis/3/3141/tde-06122024-085501/reponame:Biblioteca Digital de Teses e Dissertações da USPinstname:Universidade de São Paulo (USP)instacron:USPLiberar o conteúdo para acesso público.info:eu-repo/semantics/openAccesspor2024-12-06T11:05:02Zoai:teses.usp.br:tde-06122024-085501Biblioteca Digital de Teses e Dissertaçõeshttp://www.teses.usp.br/PUBhttp://www.teses.usp.br/cgi-bin/mtd2br.plvirginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.bropendoar:27212024-12-06T11:05:02Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)false
dc.title.none.fl_str_mv Um compilador paralelizante com detecção de paralelismo na linguagem intermediária
Untitled in english
title Um compilador paralelizante com detecção de paralelismo na linguagem intermediária
spellingShingle Um compilador paralelizante com detecção de paralelismo na linguagem intermediária
Hsiang, Hsueh Tsung
Auto-escalonamento
Autoscaling
Compilador paralelizante
Intermediate language
Linguagem intermediária
Parallelizing compiler
title_short Um compilador paralelizante com detecção de paralelismo na linguagem intermediária
title_full Um compilador paralelizante com detecção de paralelismo na linguagem intermediária
title_fullStr Um compilador paralelizante com detecção de paralelismo na linguagem intermediária
title_full_unstemmed Um compilador paralelizante com detecção de paralelismo na linguagem intermediária
title_sort Um compilador paralelizante com detecção de paralelismo na linguagem intermediária
author Hsiang, Hsueh Tsung
author_facet Hsiang, Hsueh Tsung
author_role author
dc.contributor.none.fl_str_mv Sato, Liria Matsumoto
dc.contributor.author.fl_str_mv Hsiang, Hsueh Tsung
dc.subject.por.fl_str_mv Auto-escalonamento
Autoscaling
Compilador paralelizante
Intermediate language
Linguagem intermediária
Parallelizing compiler
topic Auto-escalonamento
Autoscaling
Compilador paralelizante
Intermediate language
Linguagem intermediária
Parallelizing compiler
description 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.
publishDate 1994
dc.date.none.fl_str_mv 1994-06-24
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://www.teses.usp.br/teses/disponiveis/3/3141/tde-06122024-085501/
url https://www.teses.usp.br/teses/disponiveis/3/3141/tde-06122024-085501/
dc.language.iso.fl_str_mv por
language por
dc.relation.none.fl_str_mv
dc.rights.driver.fl_str_mv Liberar o conteúdo para acesso público.
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Liberar o conteúdo para acesso público.
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.coverage.none.fl_str_mv
dc.publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
dc.source.none.fl_str_mv
reponame:Biblioteca Digital de Teses e Dissertações da USP
instname:Universidade de São Paulo (USP)
instacron:USP
instname_str Universidade de São Paulo (USP)
instacron_str USP
institution USP
reponame_str Biblioteca Digital de Teses e Dissertações da USP
collection Biblioteca Digital de Teses e Dissertações da USP
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)
repository.mail.fl_str_mv virginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.br
_version_ 1865491669337505792