Software Tools for a SPMD Data Parallel Mode l: EPPP:
EPPP is an environment for portable parallel programming. It is portable from two viewpoints: First, the environment itself can be ported to different MIMD architectures. Second, a user can develop, debug and tune a parallel application in a simulated environment running on a single workstation, and then port it to a variety of MIMD architectures without any extra effort. The EPPP environment primarily consists of four components: (a) a new data parallel C language called, High Performance C (HPC), (b) a HPC compiler, (c) a performance debugger and (d) a simulator. Our work in EPPP was primarily dealt with the EPPP performance debugger and EPPP simulator.
The approach taken in the design of the EPPP performance debugger is based on the argument that conventional performance analyzers used with general purpose MIMD models are grossly inadequate when it comes to analyzing the performance of parallel programs based on SPMD style data parallel models such as the one adopted by High Performance Fortran (HPF) forum. The EPPP performance debugger is designed specifically for such models.
The EPPP simulator allows a programmer to develop, debug, and tune a parallel application for the target environment using a common workstation such as a Sun Sparcstation. Simulating networks of complex superscalar and superpipelined processors with high accuracy and acceptable response time is a challenging task. The EPPP simulator is based on a new simulation technique called, compiled simulation using split compilation, that was designed to overcome this challenge.