Generating OpenMP code using an interactive parallelization environment

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

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

  • Venue:
  • Parallel Computing - OpenMp
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Code parallelization using OpenMP for shared memory systems is relatively easier than using message passing for distributed memory systems. Despite this, it is still a challenge to use OpenMP to parallelize application codes in a way that yields effective scalable performance when executed on a shared memory parallel system. We describe an environment that will assist the programmer in the various tasks of code parallelization and this is achieved in a greatly reduced time frame and level of skill required. The parallelization environment includes a number of tools that address the main tasks of parallelism detection, OpenMP source code generation, debugging and optimization. These tools include a high quality, fully interprocedural dependence analysis with user interaction capabilities to facilitate the generation of efficient parallel code, an automatic relative debugging tool to identify erroneous user decisions in that interaction and also performance profiling to identify bottlenecks. Finally, experiences of parallelizing some NASA application codes are presented to illustrate some of the benefits of using the evolving environment.