USB Logo  
NSF Logo

US/Venezuela Workshop on High Performance Computing 2000
Seminario EEUU/Venezuela de Computación de Alto Rendimiento 2000

David Padua
University of Illinois at Urbana-Champaign

Conicit Logo

Challenges in Compiling for Scientific Computing

Abstract

Since the introduction of Fortran in the 1950s, scientific computing has been a driving force behind compiling technology. Many compiler optimization techniques, like strength reduction, were developed to improve the performance of loops in numerical codes. Also, dependence analysis was originally developed to detect parallelism in numerical codes, and a number of strategies have been developed to compile numerical codes for distributed-memory multiprocessors. Despite the progress in computer technology over the last fifty years, there are still unfulfilled dreams. One is the automatic generation of programs from mathematical specifications. Although there are powerful packages, like Mathemat- ica, that are capable of deriving closed form results, numerical answers usually require programming (that sometimes can be complex), even for relatively simple problems. A second dream is the automatic restructuring of programs for parallel execution and locality enhancement. The process of developing effective parallel codes and improving locality is still quite laborious and programmers have very few powerful tools available to ease this burden. A third postulated important goal is the development of techniques to facilitate code reuse from simple library routines to complete applications to be combined into com- plex numerical simulations. The nature and perspectives for success in these three impor- tant directions will be discussed.


Last modified: Fri Nov 5 09:39:17 CST 1999 by bart