Enabling code optimizations through hybrid analysis of memory access ranges
| Ano de defesa: | 2017 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| 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 |