Enabling code optimizations through hybrid analysis of memory access ranges

Detalhes bibliográficos
Ano de defesa: 2017
Autor(a) principal: Pericles Rafael Oliveira Alves
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: eng
Instituição de defesa: Universidade Federal de Minas Gerais
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://hdl.handle.net/1843/ESBF-AL6K36
Resumo: Compilers implement a number of code optimizations that rely on precise memory-related information to generate efficient code. The effectiveness of such transformations is bound by the inherent imprecision of static methods designed to extract useful memory insights. We present a symbolic analysis that combines static and dynamic information to infer access bounds for memory operations. Our method is able to derive symbolic bounds for 98% of the memory accesses. We present two distinct clients. The first, a hybrid pointer disambiguation technique, uses our access range analysis to provide the compiler with more precise alias information, generating binaries that are 10% faster. The second, a framework that automatically annotates code for GPU execution, uses our memory range inference to generate directives capable of transferring data to the external device, allowing speedups of over 100x in an Nvidia architecture, and over 50x in an ARM architecture.
id UFMG_4a3ecb8c992dddc7b618d3a4e6cfa776
oai_identifier_str oai:repositorio.ufmg.br:1843/ESBF-AL6K36
network_acronym_str UFMG
network_name_str Repositório Institucional da UFMG
repository_id_str
spelling Enabling code optimizations through hybrid analysis of memory access rangesLinguagem de programação (Computadores)ComputaçãoCompiladores (Programas de computador)Anotação de código para GPUCompiladoresOtimização de códigoAnálise de intervalosDesambiguação de apontadoresCompilers implement a number of code optimizations that rely on precise memory-related information to generate efficient code. The effectiveness of such transformations is bound by the inherent imprecision of static methods designed to extract useful memory insights. We present a symbolic analysis that combines static and dynamic information to infer access bounds for memory operations. Our method is able to derive symbolic bounds for 98% of the memory accesses. We present two distinct clients. The first, a hybrid pointer disambiguation technique, uses our access range analysis to provide the compiler with more precise alias information, generating binaries that are 10% faster. The second, a framework that automatically annotates code for GPU execution, uses our memory range inference to generate directives capable of transferring data to the external device, allowing speedups of over 100x in an Nvidia architecture, and over 50x in an ARM architecture.Universidade Federal de Minas Gerais2019-08-12T20:46:49Z2025-09-08T23:03:42Z2019-08-12T20:46:49Z2017-02-03info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/1843/ESBF-AL6K36Pericles Rafael Oliveira Alvesinfo:eu-repo/semantics/openAccessengreponame:Repositório Institucional da UFMGinstname:Universidade Federal de Minas Gerais (UFMG)instacron:UFMG2025-09-08T23:03:42Zoai:repositorio.ufmg.br:1843/ESBF-AL6K36Repositório InstitucionalPUBhttps://repositorio.ufmg.br/oairepositorio@ufmg.bropendoar:2025-09-08T23:03:42Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)false
dc.title.none.fl_str_mv Enabling code optimizations through hybrid analysis of memory access ranges
title Enabling code optimizations through hybrid analysis of memory access ranges
spellingShingle Enabling code optimizations through hybrid analysis of memory access ranges
Pericles Rafael Oliveira Alves
Linguagem de programação (Computadores)
Computação
Compiladores (Programas de computador)
Anotação de código para GPU
Compiladores
Otimização de código
Análise de intervalos
Desambiguação de apontadores
title_short Enabling code optimizations through hybrid analysis of memory access ranges
title_full Enabling code optimizations through hybrid analysis of memory access ranges
title_fullStr Enabling code optimizations through hybrid analysis of memory access ranges
title_full_unstemmed Enabling code optimizations through hybrid analysis of memory access ranges
title_sort Enabling code optimizations through hybrid analysis of memory access ranges
author Pericles Rafael Oliveira Alves
author_facet Pericles Rafael Oliveira Alves
author_role author
dc.contributor.author.fl_str_mv Pericles Rafael Oliveira Alves
dc.subject.por.fl_str_mv Linguagem de programação (Computadores)
Computação
Compiladores (Programas de computador)
Anotação de código para GPU
Compiladores
Otimização de código
Análise de intervalos
Desambiguação de apontadores
topic Linguagem de programação (Computadores)
Computação
Compiladores (Programas de computador)
Anotação de código para GPU
Compiladores
Otimização de código
Análise de intervalos
Desambiguação de apontadores
description Compilers implement a number of code optimizations that rely on precise memory-related information to generate efficient code. The effectiveness of such transformations is bound by the inherent imprecision of static methods designed to extract useful memory insights. We present a symbolic analysis that combines static and dynamic information to infer access bounds for memory operations. Our method is able to derive symbolic bounds for 98% of the memory accesses. We present two distinct clients. The first, a hybrid pointer disambiguation technique, uses our access range analysis to provide the compiler with more precise alias information, generating binaries that are 10% faster. The second, a framework that automatically annotates code for GPU execution, uses our memory range inference to generate directives capable of transferring data to the external device, allowing speedups of over 100x in an Nvidia architecture, and over 50x in an ARM architecture.
publishDate 2017
dc.date.none.fl_str_mv 2017-02-03
2019-08-12T20:46:49Z
2019-08-12T20:46:49Z
2025-09-08T23:03:42Z
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://hdl.handle.net/1843/ESBF-AL6K36
url https://hdl.handle.net/1843/ESBF-AL6K36
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal de Minas Gerais
publisher.none.fl_str_mv Universidade Federal de Minas Gerais
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFMG
instname:Universidade Federal de Minas Gerais (UFMG)
instacron:UFMG
instname_str Universidade Federal de Minas Gerais (UFMG)
instacron_str UFMG
institution UFMG
reponame_str Repositório Institucional da UFMG
collection Repositório Institucional da UFMG
repository.name.fl_str_mv Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)
repository.mail.fl_str_mv repositorio@ufmg.br
_version_ 1856414100940128256