• DocumentCode
    1528190
  • Title

    Compiling scientific code using partial evaluation

  • Author

    Berlin, Andrew ; Weise, Daniel

  • Author_Institution
    MIT, Cambridge, MA, USA
  • Volume
    23
  • Issue
    12
  • fYear
    1990
  • Firstpage
    25
  • Lastpage
    37
  • Abstract
    The partial evaluation approach, which transforms a high-level program into a low-level program that is specialized for a particular application, exposing the parallelism inherent in the underlying numerical computation, is discussed. A prototype compiler that uses partial evaluation is described. Experiments with the compiler have shown that for an important class of numerical programs, partial evaluation can provide marked performance improvements: speedups over conventionally compiled code that range from seven times faster to 91 times faster have been measured. By coupling partial evaluation with parallel scheduling techniques, the low-level parallelism inherent in a computation can be exploited on heavily pipelined or parallel architectures. The approach has been demonstrated by applying a parallel scheduler to a partially evaluated program that simulates the motion of a nine-body solar system.<>
  • Keywords
    natural sciences computing; parallel architectures; parallel programming; program compilers; scheduling; high-level program; low-level parallelism; low-level program; nine-body solar system; numerical programs; parallel architectures; parallel scheduler; parallel scheduling techniques; partial evaluation approach; partially evaluated program; performance improvements; pipelined; prototype compiler; scientific code; underlying numerical computation; Concurrent computing; Data structures; Parallel architectures; Parallel processing; Processor scheduling; Program processors; Programming profession; Prototypes; Runtime; Velocity measurement;
  • fLanguage
    English
  • Journal_Title
    Computer
  • Publisher
    ieee
  • ISSN
    0018-9162
  • Type

    jour

  • DOI
    10.1109/2.62091
  • Filename
    62091