Evolutionary algorithms for compiler-enabled program autotuning
Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2011. === This electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections. === Cataloged from student submi...
Main Author: | |
---|---|
Other Authors: | |
Format: | Others |
Language: | English |
Published: |
Massachusetts Institute of Technology
2011
|
Subjects: | |
Online Access: | http://hdl.handle.net/1721.1/66313 |
id |
ndltd-MIT-oai-dspace.mit.edu-1721.1-66313 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-MIT-oai-dspace.mit.edu-1721.1-663132019-05-02T15:33:44Z Evolutionary algorithms for compiler-enabled program autotuning Pacula, Maciej Una-May O'Reilly. Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science. Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science. Electrical Engineering and Computer Science. Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2011. This electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections. Cataloged from student submitted PDF version of thesis. Includes bibliographical references (p. 116-122). PetaBricks [4, 21, 7, 3, 5] is an implicitly parallel programming language which, through the process of autotuning, can automatically optimize programs for fast QoS-aware execution on any hardware. In this thesis we develop and evaluate two PetaBricks autotuners: INCREA and SiblingRivalry. INCREA, based on a novel bottom-up evolutionary algorithm, optimizes programs offline at compile time. SiblingRivalry improves on INCREA by optimizing online during a program's execution, dynamically adapting to changes in hardware and the operating system. Continuous adaptation is achieved through racing, where half of available resources are devoted to always-on learning. We evaluate INCREA and SiblingRivalry on a large number of real-world benchmarks, and show that our autotuners can significantly speed up PetaBricks programs with respect to many non-tuned and mis-tuned baselines. Our results indicate the need for a continuous learning loop that can optimize efficiently by exploiting online knowledge of a program's performance. The results leave open the question of how to solve the online optimization problem on all cores, i.e. without racing. by Maciej Pacula. M.Eng. 2011-10-17T19:49:31Z 2011-10-17T19:49:31Z 2011 2011 Thesis http://hdl.handle.net/1721.1/66313 755811471 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 163 p. application/pdf Massachusetts Institute of Technology |
collection |
NDLTD |
language |
English |
format |
Others
|
sources |
NDLTD |
topic |
Electrical Engineering and Computer Science. |
spellingShingle |
Electrical Engineering and Computer Science. Pacula, Maciej Evolutionary algorithms for compiler-enabled program autotuning |
description |
Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2011. === This electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections. === Cataloged from student submitted PDF version of thesis. === Includes bibliographical references (p. 116-122). === PetaBricks [4, 21, 7, 3, 5] is an implicitly parallel programming language which, through the process of autotuning, can automatically optimize programs for fast QoS-aware execution on any hardware. In this thesis we develop and evaluate two PetaBricks autotuners: INCREA and SiblingRivalry. INCREA, based on a novel bottom-up evolutionary algorithm, optimizes programs offline at compile time. SiblingRivalry improves on INCREA by optimizing online during a program's execution, dynamically adapting to changes in hardware and the operating system. Continuous adaptation is achieved through racing, where half of available resources are devoted to always-on learning. We evaluate INCREA and SiblingRivalry on a large number of real-world benchmarks, and show that our autotuners can significantly speed up PetaBricks programs with respect to many non-tuned and mis-tuned baselines. Our results indicate the need for a continuous learning loop that can optimize efficiently by exploiting online knowledge of a program's performance. The results leave open the question of how to solve the online optimization problem on all cores, i.e. without racing. === by Maciej Pacula. === M.Eng. |
author2 |
Una-May O'Reilly. |
author_facet |
Una-May O'Reilly. Pacula, Maciej |
author |
Pacula, Maciej |
author_sort |
Pacula, Maciej |
title |
Evolutionary algorithms for compiler-enabled program autotuning |
title_short |
Evolutionary algorithms for compiler-enabled program autotuning |
title_full |
Evolutionary algorithms for compiler-enabled program autotuning |
title_fullStr |
Evolutionary algorithms for compiler-enabled program autotuning |
title_full_unstemmed |
Evolutionary algorithms for compiler-enabled program autotuning |
title_sort |
evolutionary algorithms for compiler-enabled program autotuning |
publisher |
Massachusetts Institute of Technology |
publishDate |
2011 |
url |
http://hdl.handle.net/1721.1/66313 |
work_keys_str_mv |
AT paculamaciej evolutionaryalgorithmsforcompilerenabledprogramautotuning |
_version_ |
1719024075885510656 |