Show simple item record

dc.contributor.authorAnsel, Jason Andrew
dc.contributor.authorWong, Yee Lok
dc.contributor.authorChan, Cy
dc.contributor.authorOlszewski, Marek Krystyn
dc.contributor.authorEdelman, Alan
dc.contributor.authorAmarasinghe, Saman P.
dc.date.accessioned2012-10-18T19:11:56Z
dc.date.available2012-10-18T19:11:56Z
dc.date.issued2011-05
dc.date.submitted2011-04
dc.identifier.isbn978-1-61284-358-2
dc.identifier.isbn978-1-61284-356-8
dc.identifier.urihttp://hdl.handle.net/1721.1/74103
dc.description.abstractApproximating ideal program outputs is a common technique for solving computationally difficult problems, for adhering to processing or timing constraints, and for performance optimization in situations where perfect precision is not necessary. To this end, programmers often use approximation algorithms, iterative methods, data resampling, and other heuristics. However, programming such variable accuracy algorithms presents difficult challenges since the optimal algorithms and parameters may change with different accuracy requirements and usage environments. This problem is further compounded when multiple variable accuracy algorithms are nested together due to the complex way that accuracy requirements can propagate across algorithms and because of the size of the set of allowable compositions. As a result, programmers often deal with this issue in an ad-hoc manner that can sometimes violate sound programming practices such as maintaining library abstractions. In this paper, we propose language extensions that expose trade-offs between time and accuracy to the compiler. The compiler performs fully automatic compile-time and installtime autotuning and analyses in order to construct optimized algorithms to achieve any given target accuracy. We present novel compiler techniques and a structured genetic tuning algorithm to search the space of candidate algorithms and accuracies in the presence of recursion and sub-calls to other variable accuracy code. These techniques benefit both the library writer, by providing an easy way to describe and search the parameter and algorithmic choice space, and the library user, by allowing high level specification of accuracy requirements which are then met automatically without the need for the user to understand any algorithm-specific parameters. Additionally, we present a new suite of benchmarks, written in our language, to examine the efficacy of our techniques. Our experimental results show that by relaxing accuracy requirements , we can easily obtain performance improvements ranging from 1.1× to orders of magnitude of speedup.en_US
dc.language.isoen_US
dc.publisherInstitute of Electrical and Electronics Engineers (IEEE)en_US
dc.relation.isversionofhttp://dx.doi.org/10.1109/CGO.2011.5764677en_US
dc.rightsCreative Commons Attribution-Noncommercial-Share Alike 3.0en_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/3.0/en_US
dc.sourceMIT web domainen_US
dc.titleLanguage and Compiler Support for Auto-Tuning Variable-Accuracy Algorithmsen_US
dc.typeArticleen_US
dc.identifier.citationAnsel, Jason et al. “Language and Compiler Support for Auto-tuning Variable-accuracy Algorithms.” 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization (CGO), 2011. 85–96.en_US
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratoryen_US
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Scienceen_US
dc.contributor.departmentMassachusetts Institute of Technology. Department of Mathematicsen_US
dc.contributor.mitauthorAnsel, Jason Andrew
dc.contributor.mitauthorWong, Yee Lok
dc.contributor.mitauthorChan, Cy
dc.contributor.mitauthorOlszewski, Marek Krystyn
dc.contributor.mitauthorEdelman, Alan
dc.contributor.mitauthorAmarasinghe, Saman P.
dc.relation.journalProceedings of the 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization (CGO), 2011en_US
dc.eprint.versionAuthor's final manuscripten_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
dspace.orderedauthorsAnsel, Jason; Wong, Yee Lok; Chan, Cy; Olszewski, Marek; Edelman, Alan; Amarasinghe, Samanen
dc.identifier.orcidhttps://orcid.org/0000-0001-7676-3133
dc.identifier.orcidhttps://orcid.org/0000-0002-7231-7643
mit.licenseOPEN_ACCESS_POLICYen_US
mit.metadata.statusComplete


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record