Please use this identifier to cite or link to this item: http://hdl.handle.net/1843/ESBF-AL6K36
Full metadata record
DC FieldValueLanguage
dc.contributor.advisor1Fernando Magno Quintao Pereirapt_BR
dc.contributor.referee1Roberto Lerusalimschypt_BR
dc.contributor.referee2Rodolfo Sergio F de Resendept_BR
dc.creatorPericles Rafael Oliveira Alvespt_BR
dc.date.accessioned2019-08-12T20:46:49Z-
dc.date.available2019-08-12T20:46:49Z-
dc.date.issued2017-02-03pt_BR
dc.identifier.urihttp://hdl.handle.net/1843/ESBF-AL6K36-
dc.description.abstractCompilers 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.pt_BR
dc.description.resumoCompiladores estáticos atuais implementam uma gama de otimizações de código que utilizam informações sobre memória para gerar código eficiente. A eficácia destas transformações, entretanto, é limitada pela imprecisão inerente de métodos estáticos projetados para extrair insights úteis relacionados ao uso da memória, como análise de aliases e inferência de tamanho de arranjos. Para tratar este problema, apresentamos uma análise simbólica que combina informações estáticas e dinâmicas para inferir limites para operações de acesso à memória. Nós mostramos que nosso método é preciso, sendo capaz de derivar limites simbólicos para 98% dos acessos à memória em Poly- Bench, impondo um overhead insignificante em tempo de execução. Para mostrar que nossa análise pode ser utilizada tanto para aumentar o alcance de transformações de código existentes quanto possibilitar a implementação de novas otimizações mais agressivas, nós apresentamos dois clientes distintos. O primeiro, uma técnica híbrida para desambiguação de apontadores, utiliza nossa análise de intervalos de acesso para prover ao compilador informações mais precisas sobre aliasing. Esta melhora na precisão nos permite gerar binários que são 10% mais rápidos quando comparados ao maior nível de otimização disponível no LLVM, um compilador de amplo uso na indústria. O segundo é um arcabouço para anotação automática de código para execução na GPU, que utiliza nossa inferência de intervalos de memória para gerar diretivas capazes de transferir dados para o dispositivo externo. As anotações geradas por este arcabouço, que chamamos de DawnCC, permitem speedups de mais de 100x em uma arquitetura Nvidia e mais de 50x em uma arquitetura ARM.pt_BR
dc.languageInglêspt_BR
dc.publisherUniversidade Federal de Minas Geraispt_BR
dc.publisher.initialsUFMGpt_BR
dc.rightsAcesso Abertopt_BR
dc.subjectAnotação de código para GPUpt_BR
dc.subjectCompiladorespt_BR
dc.subjectOtimização de códigopt_BR
dc.subjectAnálise de intervalospt_BR
dc.subjectDesambiguação de apontadorespt_BR
dc.subject.otherLinguagem de programação (Computadores)pt_BR
dc.subject.otherComputaçãopt_BR
dc.subject.otherCompiladores (Programas de computador)pt_BR
dc.titleEnabling code optimizations through hybrid analysis of memory access rangespt_BR
dc.typeDissertação de Mestradopt_BR
Appears in Collections:Dissertações de Mestrado

Files in This Item:
File Description SizeFormat 
periclesrafaeloliveiraalves.pdf3.59 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.