Compiler technology for parallel scientific computation

  • Authors:
  • Can Özturan;Balaram Sinharoy;Boleslaw K. Szymanski

  • Affiliations:
  • -;-;-

  • Venue:
  • Scientific Programming
  • Year:
  • 1994

Quantified Score

Hi-index 0.00

Visualization

Abstract

There is a need for compiler technology that, given the sourceprogram, will generate efficient parallel codes for differentarchitectures with minimal user involvement. Parallel computationis becoming indispensable in solving large-scale problems inscience and engineering. Yet, the use of parallel computation islimited by the high costs of developing the needed software. Toovercome this difficulty we advocate a comprehensive approach tothe development of scalable architecture-independent software forscientific computation based on our experience with equationalprogramming language (EPL). Our approach is based on a programdecomposition, parallel code synthesis, and run-time support forparallel scientific computation. The program decomposition isguided by the source program annotations provided by the user. Thesynthesis of parallel code is based on configurations that describethe overall computation as a set of interacting components.Run-time support is provided by the compiler-generated code thatredistributes computation and data during object program execution.The generated parallel code is optimized using techniques of dataalignment, operator placement, wavefront determination, and memoryoptimization. In this article we discuss annotations,configurations, parallel code generation, and run-time supportsuitable for parallel programs written in the functional parallelprogramming language EPL and in Fortran.