Trace-based affine reconstruction of codes

Gabriel Rodríguez, José M. Andión, Mahmut T. Kandemir, Juan Touriño

Research output: Chapter in Book/Report/Conference proceedingConference contribution

3 Scopus citations

Abstract

Complete comprehension of loop codes is desirable for a variety of program optimizations. Compilers perform static code analyses and transformations, such as loop tiling or memory partitioning, by constructing and manipulating formal representations of the source code. Runtime systems observe and characterize application behavior to drive resource management and allocation, including dependence detection and parallelization, or scheduling. However, the source codes of target applications are not always available to the compiler or runtime system in an analyzable form. It becomes necessary to find alternate ways to model application behavior. This paper presents a novel mathematical framework to rebuild loops from their memory access traces. An exploration engine traverses a tree-like solution space, driven by the access strides in the trace. It is guaranteed that the engine will find the minimal affine nest capable of reproducing the observed sequence of accesses by exploring this space in a brute force fashion, but most real traces will not be tractable in this way. Methods for an efficient solution space traversal based on mathematical properties of the equation systems which model the solution space are proposed. The experimental evaluation shows that these strategies achieve efficient loop reconstruction, processing hundreds of gigabytes of trace data in minutes. The proposed approach is capable of correctly and minimally reconstructing 100% of the static control parts in PolyBench/C applications. As a side effect, the trace reconstruction process can be used to efficiently compress trace files. The proposed tool can also be used for dynamic access characterization, predicting over 99% of future memory accesses.

Original languageEnglish (US)
Title of host publicationProceedings of the 14th International Symposium on Code Generation and Optimization, CGO 2016
PublisherAssociation for Computing Machinery, Inc
Pages139-149
Number of pages11
ISBN (Electronic)9781450337786
DOIs
StatePublished - Feb 29 2016
Event14th Annual IEEE/ACM International Symposium on Code Generation and Optimization, CGO 2016 - Barcelona, Spain
Duration: Mar 12 2016Mar 18 2016

Publication series

NameProceedings of the 14th International Symposium on Code Generation and Optimization, CGO 2016

Other

Other14th Annual IEEE/ACM International Symposium on Code Generation and Optimization, CGO 2016
CountrySpain
CityBarcelona
Period3/12/163/18/16

All Science Journal Classification (ASJC) codes

  • Software
  • Applied Mathematics
  • Computational Theory and Mathematics

Fingerprint Dive into the research topics of 'Trace-based affine reconstruction of codes'. Together they form a unique fingerprint.

  • Cite this

    Rodríguez, G., Andión, J. M., Kandemir, M. T., & Touriño, J. (2016). Trace-based affine reconstruction of codes. In Proceedings of the 14th International Symposium on Code Generation and Optimization, CGO 2016 (pp. 139-149). (Proceedings of the 14th International Symposium on Code Generation and Optimization, CGO 2016). Association for Computing Machinery, Inc. https://doi.org/10.1145/2854038.2854056