SUIF: an infrastructure for research on parallelizing and optimizing compilers
ACM SIGPLAN Notices
A scalable method for run-time loop parallelization
International Journal of Parallel Programming
Interactive Compilation and Performance Analysis with URSA MINOR
LCPC '97 Proceedings of the 10th International Workshop on Languages and Compilers for Parallel Computing
Automatic Generation of OpenMP Directives and Its Application to Computational Fluid Dynamics Codes
ISHPC '00 Proceedings of the Third International Symposium on High Performance Computing
TAU: A Portable Parallel Program Analysis Environment for pC++
CONPAR 94 - VAPP VI Proceedings of the Third Joint International Conference on Vector and Parallel Processing: Parallel Processing
Backtracking and Re-Execution in the Automatic Debugging of Parallelized Programs
HPDC '02 Proceedings of the 11th IEEE International Symposium on High Performance Distributed Computing
Automatic multilevel parallelization using OpenMP
Scientific Programming - OpenMP
An expert assistant for computer aided parallelization
PARA'04 Proceedings of the 7th international conference on Applied Parallel Computing: state of the Art in Scientific Computing
Hi-index | 0.00 |
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.