GGrantIndex
← Search

CCF: Small: A Programming Environment for High Performance Computing Based on Practical Program Transformation

$495,259FY2011CSENSF

University Of Illinois At Urbana-Champaign, Urbana IL

Investigators

Abstract

Successful software systems continue to change. Most programmers work on projects that they did not start, and most companies spend more on maintaining old systems than on building new ones. This goal of this research is to make programs easier to change by developing better software tools and by studying how programmers change software. The project is extending Photran, an open-source programming environment for FORTRAN, so that it better supports the way FORTRAN programmers change their software to make them run on next-generation supercomputers. The new version of Photran will have the potential to make it much less expensive to port high-performance software, and the ideas have the potential to reduce the cost of software development in general. The new system will record each change that a programmer makes and will represent these changes at a high-level, i.e. not just as textual changes, but as more meaningful units of changes, such as refactoring or optimizations. It will let programmers modify these changes after the fact, making it possible to change the portable version of a program and then replay the hand-crafted optimizations. Programmers can port a program to a new architecture by starting with a portable version and then choosing optimizations that were useful for similar machines, or that were discovered by an auto-tuner, or that were invented as needed. They will be able to think of a program as a sequence of program transformations, and to generate a new program by reusing sub-sequences from other programs. Thus, a sequence of changes will be just as valid a representation of a program as a set of modules

View original record on NSF Award Search →