A Compilation Strategy for Numerical Programs Based on Partial Evaluation

This work demonstrates how partial evaluation can be put to practical use in the domain of high-performance numerical computation. I have developed a technique for performing partial evaluation by using placeholders to propagate intermediate results. For an important class of numerical progra...

Full description

Bibliographic Details
Main Author: Berlin, Andrew A.
Language:en_US
Published: 2004
Online Access:http://hdl.handle.net/1721.1/6981
_version_ 1826202385228234752
author Berlin, Andrew A.
author_facet Berlin, Andrew A.
author_sort Berlin, Andrew A.
collection MIT
description This work demonstrates how partial evaluation can be put to practical use in the domain of high-performance numerical computation. I have developed a technique for performing partial evaluation by using placeholders to propagate intermediate results. For an important class of numerical programs, a compiler based on this technique improves performance by an order of magnitude over conventional compilation techniques. I show that by eliminating inherently sequential data-structure references, partial evaluation exposes the low-level parallelism inherent in a computation. I have implemented several parallel scheduling and analysis programs that study the tradeoffs involved in the design of an architecture that can effectively utilize this parallelism. I present these results using the 9- body gravitational attraction problem as an example.
first_indexed 2024-09-23T12:06:37Z
id mit-1721.1/6981
institution Massachusetts Institute of Technology
language en_US
last_indexed 2024-09-23T12:06:37Z
publishDate 2004
record_format dspace
spelling mit-1721.1/69812019-04-10T11:52:15Z A Compilation Strategy for Numerical Programs Based on Partial Evaluation Berlin, Andrew A. This work demonstrates how partial evaluation can be put to practical use in the domain of high-performance numerical computation. I have developed a technique for performing partial evaluation by using placeholders to propagate intermediate results. For an important class of numerical programs, a compiler based on this technique improves performance by an order of magnitude over conventional compilation techniques. I show that by eliminating inherently sequential data-structure references, partial evaluation exposes the low-level parallelism inherent in a computation. I have implemented several parallel scheduling and analysis programs that study the tradeoffs involved in the design of an architecture that can effectively utilize this parallelism. I present these results using the 9- body gravitational attraction problem as an example. 2004-10-20T20:12:09Z 2004-10-20T20:12:09Z 1989-02-01 AITR-1144 http://hdl.handle.net/1721.1/6981 en_US AITR-1144 7397665 bytes 2736044 bytes application/postscript application/pdf application/postscript application/pdf
spellingShingle Berlin, Andrew A.
A Compilation Strategy for Numerical Programs Based on Partial Evaluation
title A Compilation Strategy for Numerical Programs Based on Partial Evaluation
title_full A Compilation Strategy for Numerical Programs Based on Partial Evaluation
title_fullStr A Compilation Strategy for Numerical Programs Based on Partial Evaluation
title_full_unstemmed A Compilation Strategy for Numerical Programs Based on Partial Evaluation
title_short A Compilation Strategy for Numerical Programs Based on Partial Evaluation
title_sort compilation strategy for numerical programs based on partial evaluation
url http://hdl.handle.net/1721.1/6981
work_keys_str_mv AT berlinandrewa acompilationstrategyfornumericalprogramsbasedonpartialevaluation
AT berlinandrewa compilationstrategyfornumericalprogramsbasedonpartialevaluation