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...
Main Author: | |
---|---|
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 |