Table of Contents Author Guidelines Submit a Manuscript
Scientific Programming
Volume 9, Issue 2-3, Pages 163-173

The Semi-Automatic Parallelisation of Scientific Application Codes Using a Computer Aided Parallelisation Toolkit

C.S. Ierotheou,1 S.P. Johnson,1 P.F. Leggett,1 M. Cross,1 E.W. Evans,1 H. Jin,2 M. Frumkin,2 and J. Yan2

1Parallel Processing Research Group, University of Greenwich, London SE10 9LS, UK
2NAS Systems Division, NASA Ames Research Center, Moffett Field, CA, USA

Received 29 January 2002; Accepted 29 January 2002

Copyright © 2001 Hindawi Publishing Corporation. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.


The shared-memory programming model can be an effective way to achieve parallelism on shared memory parallel computers. Historically however, the lack of a programming standard using directives and the limited scalability have affected its take-up. Recent advances in hardware and software technologies have resulted in improvements to both the performance of parallel programs with compiler directives and the issue of portability with the introduction of OpenMP. In this study, the Computer Aided Parallelisation Toolkit has been extended to automatically generate OpenMP-based parallel programs with nominal user assistance. We categorize the different loop types and show how efficient directives can be placed using the toolkit's in-depth interprocedural analysis. Examples are taken from the NAS parallel benchmarks and a number of real-world application codes. This demonstrates the great potential of using the toolkit to quickly parallelise serial programs as well as the good performance achievable on up to 300 processors for hybrid message passing-directive parallelisations.