Using an interactive software environment for the parallelization of real-world scientific applications

  • Authors:
  • C. S. Ierotheou;H. Jin;G. Matthews;S. P. Johnson;R. Hood;P. F. Leggett

  • Affiliations:
  • Parallel Processing Research Group, University of Greenwich, London, UK;NASA Advanced Supercomputing Division, NASA Ames Research Center, Moffett Field, CA, USA;NASA Advanced Supercomputing Division, NASA Ames Research Center, Moffett Field, CA, USA;Parallel Processing Research Group, University of Greenwich, London, UK;NASA Advanced Supercomputing Division, NASA Ames Research Center, Moffett Field, CA, USA;Parallel Processing Research Group, University of Greenwich, London, UK

  • Venue:
  • International Journal of Computer Mathematics - Distributed Algorithms in Science and Engineering
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

The parallelization of real-world compute intensive Fortran application codes is generally not a trivial task. If the time to complete the parallelization is to be significantly reduced then an environment is needed that will assist the programmer in the various tasks of code parallelization. In this paper the authors present a code parallelization environment where a number of tools that address the main tasks such as code parallelization, debugging and optimization are available. The ParaWise and CAPO parallelization tools are discussed which enable the near automatic parallelization of real-world scientific application codes for shared and distributed memory-based parallel systems. As user involvement in the parallelization process can introduce errors, a relative debugging tool (P2d2) is also available and can be used to perform nearly automatic relative debugging of a program that has been parallelized using the tools. A high quality interprocedural dependence analysis as well as user-tool interaction are also highlighted and are vital to the generation of efficient parallel code and in the optimization of the backtracking and speculation process used in relative debugging. Results of benchmark and real-world application codes parallelized are presented and show the benefits of using the environment.