Optimization and Parallelization of a Commodity Trade Model for the SP1, Using Parallel Programming Tools
Bergmark, Donna; Pottle, Marcia
We compare two different approaches to parallelization of Fortran programs. The first approach is to optimize the serial code so that it runs as fast as possible on a single processor, and then optimize the parallel version. In this paper a variety of parallel programming tools is used to obtain an optimal, parallel version of an economic policy modelling application for the IBM SP1. We apply a new technique called Data Access Normalization; we use an extended ParaScope as our parallel programming environment; we use FORGE 90 as our parallelizer; and we use KAP as our optimizer. We make a number of observations about the effectiveness of these tools. Both strategies obtain a working, parallel program, but use different tools to get there. On this occasion, both KAP and Data Access Normalization lead to the same critical transformation of inverting four of the twelve loop nests in the original program. The next most important optimization is parallel I/O, one of the few transformations that had to be done by hand. Speedups are obtained on the SP1 (using MPLp communication over the High Speed Switch).
theory center; multiprocessors; program transformations; parallel programming tools; data access normalization; ParaScope; Lambda Toolkit; Fortran; HPF; FORGE; SP1; SPMD; KAP; parallel I/O; PED LAMBDA; data parallel; loop distribution; loop fusion; trace analyzers
Previously Published As
Showing items related by title, author, creator and subject.
Novick, Mark B. (Cornell University, 1989-06)We give fast parallel algorithms for recognizing ad representing comparability graphs that can be transitively oriented, and interval graphs, the intersection graphs of intervals along the real line. Under the CRCW PRAM ...
Andrews, Gregory R. (Cornell University, 1978-01)Modula is a new programming language for implementing dedicated, parallel systems. Following a systematic design technique, this paper illustrates the use of Modula for the design of a message switching communication ...
Wu, Zhijun; Coleman, Thomas (Cornell University, 1992-04)The purpose of this system is to provide an easy-to-use et of basic parallel matrix manipulation subroutines, in C, for use on the Intel iPSC/860 hypercube. Most of the subroutines exhibit good performance, but not ...