Autotuning programs with algorithmic choice

Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2014.

Bibliographic Details
Main Author: Ansel, Jason (Jason Andrew)
Other Authors: Saman Amarasinghe.
Format: Thesis
Language:eng
Published: Massachusetts Institute of Technology 2014
Subjects:
Online Access:http://hdl.handle.net/1721.1/87913
_version_ 1826209807888023552
author Ansel, Jason (Jason Andrew)
author2 Saman Amarasinghe.
author_facet Saman Amarasinghe.
Ansel, Jason (Jason Andrew)
author_sort Ansel, Jason (Jason Andrew)
collection MIT
description Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2014.
first_indexed 2024-09-23T14:31:03Z
format Thesis
id mit-1721.1/87913
institution Massachusetts Institute of Technology
language eng
last_indexed 2024-09-23T14:31:03Z
publishDate 2014
publisher Massachusetts Institute of Technology
record_format dspace
spelling mit-1721.1/879132019-04-12T09:11:08Z Autotuning programs with algorithmic choice Ansel, Jason (Jason Andrew) Saman Amarasinghe. Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science. Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science. Electrical Engineering and Computer Science. Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2014. Cataloged from PDF version of thesis. Includes bibliographical references (pages 231-251). The process of optimizing programs and libraries, both for performance and quality of service, can be viewed as a search problem over the space of implementation choices. This search is traditionally manually conducted by the programmer and often must be repeated when systems, tools, or requirements change. The overriding goal of this work is to automate this search so that programs can change themselves and adapt to achieve performance portability across different environments and requirements. To achieve this, first, this work presents the PetaBricks programming language which focuses on ways for expressing program implementation search spaces at the language level. Second, this work presents OpenTuner which provides sophisticated techniques for searching these search spaces in a way that can easily be adopted by other projects. PetaBricks is a implicitly parallel language and compiler where having multiple implementations of multiple algorithms to solve a problem is the natural way of programming. Choices are provided in a way that also allows our compiler to tune at a finer granularity. The PetaBricks compiler autotunes programs by making both fine-grained as well as algorithmic choices. Choices also include different automatic parallelization techniques, data distributions, algorithmic parameters, transformations, and blocking. PetaBricks also introduces novel techniques to autotune algorithms for different convergence criteria or quality of service requirements. We show that the PetaBricks autotuner is often able to find non-intuitive poly-algorithms that outperform more traditional hand written solutions. OpenTuner is a open source framework for building domain-specific multi-objective program autotuners. OpenTuner supports fully-customizable configuration representations, an extensible technique representation to allow for domain-specific techniques, and an easy to use interface for communicating with the program to be autotuned. A key capability inside OpenTuner is the use of ensembles of disparate search techniques simultaneously; techniques that perform well will dynamically be allocated a larger proportion of tests. OpenTuner has been shown to perform well on complex search spaces up to 10³⁰⁰⁰ possible configurations in size. by Jason Ansel. Ph. D. 2014-06-13T22:31:32Z 2014-06-13T22:31:32Z 2014 2014 Thesis http://hdl.handle.net/1721.1/87913 880138286 eng M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission. http://dspace.mit.edu/handle/1721.1/7582 251 pages application/pdf Massachusetts Institute of Technology
spellingShingle Electrical Engineering and Computer Science.
Ansel, Jason (Jason Andrew)
Autotuning programs with algorithmic choice
title Autotuning programs with algorithmic choice
title_full Autotuning programs with algorithmic choice
title_fullStr Autotuning programs with algorithmic choice
title_full_unstemmed Autotuning programs with algorithmic choice
title_short Autotuning programs with algorithmic choice
title_sort autotuning programs with algorithmic choice
topic Electrical Engineering and Computer Science.
url http://hdl.handle.net/1721.1/87913
work_keys_str_mv AT anseljasonjasonandrew autotuningprogramswithalgorithmicchoice