dc.contributor.author | Ansel, Jason Andrew | |
dc.contributor.author | Wong, Yee Lok | |
dc.contributor.author | Chan, Cy | |
dc.contributor.author | Olszewski, Marek Krystyn | |
dc.contributor.author | Edelman, Alan | |
dc.contributor.author | Amarasinghe, Saman P. | |
dc.date.accessioned | 2011-12-06T20:35:08Z | |
dc.date.available | 2011-12-06T20:35:08Z | |
dc.date.issued | 2011-04 | |
dc.identifier.issn | 1931-0544 | |
dc.identifier.uri | http://hdl.handle.net/1721.1/67465 | |
dc.description.abstract | Approximating 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.1x to orders of
magnitude of speedup. | en_US |
dc.language.iso | en_US | |
dc.publisher | IEEE Computer Society | en_US |
dc.relation.isversionof | http://www.cgo.org/cgo2011/program.php | en_US |
dc.rights | Creative Commons Attribution-Noncommercial-Share Alike 3.0 | en_US |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-sa/3.0/ | en_US |
dc.source | MIT web domain | en_US |
dc.title | Language and Compiler Support for Auto-Tuning Variable-Accuracy Algorithms | en_US |
dc.type | Article | en_US |
dc.identifier.citation | Ansel, Jason et al. "Language and Compiler Support for Auto-Tuning Variable-Accuracy Algorithms." in Proceedings of the 9th International Symposium on Code Generation and Optimization, CGO 2011, Chamonix, France, April 2-6, 2011. | en_US |
dc.contributor.department | Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory | en_US |
dc.contributor.department | Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science | en_US |
dc.contributor.department | Massachusetts Institute of Technology. Department of Mathematics | en_US |
dc.contributor.approver | Amarasinghe, Saman P. | |
dc.contributor.mitauthor | Amarasinghe, Saman P. | |
dc.contributor.mitauthor | Ansel, Jason Andrew | |
dc.contributor.mitauthor | Wong, Yee Lok | |
dc.contributor.mitauthor | Chan, Cy | |
dc.contributor.mitauthor | Olszewski, Marek Krystyn | |
dc.contributor.mitauthor | Edelman, Alan | |
dc.relation.journal | Proceedings of the 9th International Symposium on Code Generation and Optimization, CGO 2011 | en_US |
dc.eprint.version | Author's final manuscript | en_US |
dc.type.uri | http://purl.org/eprint/type/ConferencePaper | en_US |
dspace.orderedauthors | Ansel, Jason; Wong, Yee Lok; Chan, Cy; Olszewski, Marek; Edelman, Alan; Amarasinghe, Saman | |
dc.identifier.orcid | https://orcid.org/0000-0001-7676-3133 | |
dc.identifier.orcid | https://orcid.org/0000-0002-7231-7643 | |
mit.license | OPEN_ACCESS_POLICY | en_US |
mit.metadata.status | Complete | |