FORGE 90 vectorizer

rchrd@netcom.com (Richard Friedman)
Tue, 14 Jul 1992 16:36:21 GMT

          From comp.compilers

Related articles
Seeking vectorizer/parallelizer mernst@theory.lcs.mit.edu (Michael Ernst) (1992-06-26)
Re: Parallelizer and vectorizers available paco@cs.rice.edu (1992-07-13)
FORGE 90 vectorizer rchrd@netcom.com (1992-07-14)
| List of all articles for this month |

Newsgroups: comp.parallel,comp.compilers
From: rchrd@netcom.com (Richard Friedman)
Organization: Applied Parallel Rsrch (Berkeley)
Date: Tue, 14 Jul 1992 16:36:21 GMT
References: 92-06-136 92-07-033
Keywords: parallel, tools

FORGE 90 (as it is now called) is a product of Applied Parallel Research
(main office 550 Main St.,Placerville CA 95667 916 621-1600). It is an
interactive vectorizer/parallelizer for both shared and distributed memory
systems. Originally developed by Pacific-Sierra Research, APR was formed
by the developers of FORGE as a new startup in January. APR has offices
in Placerville, Berkeley, and Topanga, CA.


FORGE 90 is a layered product that runs on most Unix workstations under
X-windows, sunview, openwindows, etc. The Baseline level of FORGE 90 is a
global program explorer that provides a number of detailed views of a
complete Fortran program, including:
    o call tree
    o COMMON Block grid (routine vs block vs variable)
    o Data and control flow analysis (how can I get to
          this statement; where is this variable set before
          it is used at this statement, etc..)
    o Performance analyzer down to the DO loop level.
    o Source code reformatter (tidy)


The view is global thru subprogram calls and variable aliasing because
FORGE 90 is based on a database representation of the entire program as a
complete entity.


Add on features include :
    o vectorizer for Cray-type vector processors;
    o DO loop parallelizer for shared memory systems
    o DO loop parallelizer for distributed memory
            (previously called "MIMDizer")


The vector and parallelizers can handle loops that contain CALLS due to
the global nature of their analysis. FORGE 90 generates compiler
directives to accomplish parallelization on a number of systems.


The shared-memory parallelizer analyzes DO loop array and scalar
dependencies across subprogram calls and scopes variables in a loop
automatically as PRIVATE or SHARED, and LOCAL or GLOBAL and displays to
the user the results of its analysis. Both ordered and critical regions
are displayed and the array references that cause them. FORGE 90 inserts
the appropriate compiler directives for assigning variable scope and
synchronization of regions.


FORGE 90's distributed memory parallelizer module allows the user to
choose cyclic, block, or replicate decomposition schemes for arrays.
FORGE 90 generates a parallelized version of the user program to run on
every node. SPread DO loops are modified in accordance with the chosen
decomposition, with all node communications automatically inserted.


For more information, see the ads in the Feb thru April issues of
Supercomputing Review.


There are versions of FORGE 90 available for:
      Cray, NEC SX, Ncube, CM, Ipsc, alliant, etc.


Prices for a single user license start at $1850.
--
\/Richard Friedman (510)528-7055 | rchrd@netcom.com
/\Applied Parallel Rsch (Berkeley)|
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.