Premium
Tools to aid in discovering parallelism and localizing arithmetic in Fortran programs
Author(s) -
Cowell Wayne R.,
Thompson Christopher P.
Publication year - 1990
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/spe.4380200106
Subject(s) - computer science , fortran , programming language , parallelism (grammar) , set (abstract data type) , data parallelism , software , parallel computing
We describe a collection of software tools that analyse and transform Fortran programs. The analysis tools detect parallelism in blocks of code and are primarily intended to aid in adapting existing programs to execute on multiprocessors. The transformation tools are aimed at eliminating data dependencies, thereby introducing parallelism, and at localizing arithmetic in registers, of primary interest in adapting programs to execute on machines that can be memory bound (common for machines with vector architecture). The tools are unified conceptually by their use of a set of conditions for data independence; these conditions have been implemented so as to combine tool analysis with user/tool interaction. We include timing results from applying the tools to programs intended for execution on two machines with different architectures — a Sequent Balance and a CRAY‐2. The tools are written in Fortran in the tool‐writing environment provided by Toolpack and are easily incorporated into a Toolpack installation.