Next: Output
Up: The Target Output
Previous: Input
- Rename loop indices:
-
if set, the indices of the target loops are renamed
according to the renaming_file; otherwise the automatically
generated internal names are used.
- Distinguish between doall and doacross:
-
if set, there will be different do statements for parallel
loops carrying a dependence (doacross loops) than for loops
that may
be executed in parallel independently from each other
(doall loops).
- Count Statements:
-
if set, the statement number is printed before each statement as a
remark.
- Test whether enough processors available:
-
if set, there will be an if statement before the outermost loop
testing, if there are enough processors available to cover the whole
index space put up by the parallel loops.
- Output of synchronisation statements:
-
if set to norm, a
barrier statement is placed after each parallel loop;
if set to on, a barrier statement is placed
before the end of each sequential loop.
- Output of communication statements:
-
if set to on, send and receive statements are
printed for every dependence; if set to norm,
send/receive statements are only printed if the
sending processor may be another one than the receiving processor;
if set to off, no communication statements are printed.
- Output language:
-
the desired output language; currently, the following languages are
available:
- C - normal C code with pseudo functions for
parallel loops, send, receive and
barrier statements.
- Fortran - normal Fortran code with
pseudo functions for
parallel loops, send, receive and
barrier statements.
- Parix - C code that can be compiled including
file
<LooPoDir>/lib/loopo_comm.h and linked with (the object file
made from) <LooPoDir>/lib/loopo_comm.c in order to run on a
PARIX-machine. - Systolician 1 - a pseudo language described in [Sch95];
its grammar is
shown in appendix A (the constructions peculiar to this
language bear the prefix s1).
- Systolician 2 - a pseudo language described in [Sch95],
which may only be used for perfectly nested loops;
its grammar is
shown in appendix A (the constructions peculiar to this
language bear the prefix s2).
- Channel declaration:
-
if the output language supports communication via channels, these
channels may be declared at the beginning of the program part or before
the outermost loop in which they are being used; if additional
variables have to be declared, they are declared at the same position
as the corresponding channels.
Note that there are combinations of options which result in programs that are
not executable on a real machine: On a distributed memory system,
communication must be set to norm or on;
on a shared memory system, synchronisation must be set
to on.
Next: Output
Up: The Target Output
Previous: Input
Martin Griebl
Wed Apr 24 11:24:00 MET DST 1996