dependence graphs for vector machines

roger@ac.upc.esFri, 16 Apr 1993 17:18:52 GMT

From comp.compilers

Related articles
dependence graphs for vector machines roger@ac.upc.es (1993-04-16)
| List of all articles for this month |
 Newsgroups: comp.compilers From: roger@ac.upc.es Keywords: optimize, vector, question Organization: Compilers Central Date: Fri, 16 Apr 1993 17:18:52 GMT

We are two PhD students working on instruction scheduling for vector
processors. We would like to test different register allocators and
instruction scheduling algorithms on a set of FORTRAN vectorizable loops.
^^^^^^^^^^^^

In order to do that we need to have the (low-level) dependence graph of each
loop, something like:

VLD VLD VLD VLD
\ / \ /
\ / \ /
\ / \ /
\ /
\ /
\ /
\ /
\ /
\ /
VMUL
|
|
VST

Our problem is how to obtain these graphs from the Fortran loops. We are
thininkg on the following solutions:

1) Compile the loops with a real vectorizing compiler ( the Convex one in
our case) and get the assembler produced. Eliminate all the scalar code
from the assembler and keep only the vector part. Write a little program
that constructs the dependence graph from that ( renaming registers to
eliminate artificial dependencies ).
Problems with this approach:
- Difficult to handle memory aliases (i.e. is VLD 300(a3),r1
dependent on VLD 500(a3),r2 or not ? )
- The graph produced is? (terribly?) biased by the compiler used

2) Given that we are interested in loops, and usually the body of a loop is
"simple" (mainly expressions and assignment), write a tiny compiler
that parses the loops and generates the graph.
Problems with this approach:
- We won't be able to perform all the usual optimizations that a
compiler does (cse, strength reduction ...) so we'll probably end up
with a graph not very representative of real programs

3) Is there any tool that does what we want ?
4) Does the latest GNU gcc version (2.3.3?) vectorize for the convex ?
4) Is there source code for a vectorizing compiler freely available ?
5) Any other suggestions ?

Thanks,

Roger Espasa
e-mail: roger@ac.upc.es

Marta Jimenez
e-mail: marta@ac.upc.es
--

Post a followup to this message