<project.out>.timedim
<project.out>.procdim
<project.out>.pardim
Read: Directory lccp/oiallocator, File oiallocator.cc,
Function main
Write: Directory lccp/oiallocator, File basevectors.cc,
Function main
These files contain projection matrices to "interesting dimensions". As
such, any matrix not consisting entirely of unit vectors does notreally
have a proper meaning and may cause trouble!
- <project.out>.timedim contains a projection of all
index variables and blobs (including original index space, space and time
dimensions as well as pseudo parameters) to only time dimensions.
- <project.out>.procdim contains a projection of all
index variables and blobs (including original index space, space and time
dimensions as well as pseudo parameters) to only processor dimensions.
- <project.out>.pardim contains a projection of all
index variables and blobs (including original index space, space and time
dimensions as well as pseudo parameters) to only dimensions representing parameters
(blobs).
The files <project.out>.timedim and <project.out>.procdim
contain 2 projection matrices (with possible use for others in the future):
- Projection onto physical dimensions, i.e. time dimensions that
really will be synchronized in the output program in order to guarantee the
correctness of the program, or physically available processor dimensions.
- Projection onto virtual dimensions, i.e., dimensions that are
introduced only in order to model the complete original index space; e.g.,
if the original index space contained (i,j,k), and the target space is (t,p),
the resulting code will have to enumerate an additional dimension t' or p'
(this is not the only application: virtual dimensions may also be used to
indicate which dimension was ignored, if the original index space had too
few dimensions).
The file <project.out>.pardim contains only a single projection
matrix, since virtual parameters are not needed (actually, pseudo parameters
are quite exactly the same as the virtual dimensions mentioned above, however,
we could only use the symbol table to recover the information what a dimension
is good for; this more general approach is chosen here).
Format:
file --> <nr_projections> [<proj_matrix>]
(where proj_matrix appears nr_projections times)
proj_matrix --> matrix
(where matrix represents a projection that maps, e.g.,
the vector coordinate that represents the i-th physical
processor dimension to the i-th dimension in its target space)
Peter Faber, 13.01.2003