The ParaWise Expert Assistant - Widening Accessibility to Efficient and Scalable Tool Generated OpenMP Code

Despite the apparent simplicity of the OpenMP directive shared memory programming model and the sophisticated dependence analysis and code generation capabilities of the ParaWise/CAPO tools, experience shows that a level of expertise is required to produce efficient parallel code. In a real world application the investigation of a single loop in a generated parallel code can soon become an in-depth inspection of numerous dependencies in many routines. The additional understanding of dependencies is also needed to effectively interpret the information provided and supply the required feedback. The ParaWise Expert Assistant has been developed to automate this investigation and present questions to the user about, and in the context of, their application code. In this paper, we demonstrate that knowledge of dependence information and OpenMP are no longer essential to produce efficient parallel code with the Expert Assistant. It is hoped that this will enable a far wider audience to use the tools and subsequently, exploit the benefits of large parallel systems.

[1]  S. P. Johnson,et al.  Automatic and effective multi-dimensional parallelisation of structured mesh based codes , 2000, Parallel Comput..

[2]  Yunheung Paek,et al.  Restructuring programs for high-speed computers with Polaris , 1996, 1996 Proceedings ICPP Workshop on Challenges for Parallel Processing.

[3]  Michael Gerndt,et al.  SUPERB: A tool for semi-automatic MIMD/SIMD parallelization , 1988, Parallel Comput..

[4]  Michael A. Frumkin,et al.  The semi-automatic parallelisation of scientific application codes using a computer aided parallelisation toolkit , 2001, Sci. Program..

[5]  S. P. Johnson,et al.  Integrating User Knowledge with Information from Parallelisation Tools to Facilitate the Automatic Generation of Efficient Parallel FORTRAN Code , 1996, Parallel Comput..

[6]  Cos S. Ierotheou,et al.  Computer Aided Parallelization of Unstructured Mesh Codes , 1997, International Conference on Parallel and Distributed Processing Techniques and Applications.

[7]  Haoqiang Jin,et al.  - 1-Experience on the Parallelization of a Cloud Modeling Code Using Computer-Aided Tools , 2003 .

[8]  Eduard Ayguadé,et al.  Automatic multilevel parallelization using OpenMP , 2003, Sci. Program..

[9]  Michael A. Frumkin,et al.  Automatic Generation of OpenMP Directives and Its Application to Computational Fluid Dynamics Codes , 2000, ISHPC.

[10]  Robert Hood,et al.  Automatic Relative Debugging of OpenMP Programs , 2003 .

[11]  Martin G. Everett,et al.  Exploitation of Symbolic Information in Interprocedural Dependence Analysis , 1996, Parallel Comput..

[12]  Steven W. K. Tjiang,et al.  SUIF: an infrastructure for research on parallelizing and optimizing compilers , 1994, SIGP.

[13]  L. Rauchwerger,et al.  The LRPD Test: Speculative Run-Time Parallelization of Loops with Privatization and Reduction Parallelization , 1999, IEEE Trans. Parallel Distributed Syst..