A Linear Algebra Framework for Static HPF Code Distribution
Corinne Ancourt, Fabien Coelho, Ronan Keryell and François Irigoin.
Report EMP CRI A-267, May 1995.
59 pages, 71 references.
This report is obsoleted by A-278 (abstract)
High Performance Fortran (HPF) was developed to support data
parallel programming for SIMD and MIMD machines with
distributed memory. The programmer is provided a familiar
uniform logical address space and specifies the data
distribution by directives. The compiler then exploits these
directives to allocate arrays in the local memories, to
assign computations to elementary processors and to migrate
data between processors when required. We show here that
linear algebra is a powerful framework to encode HPF
directives and to synthesize distributed code with
space-efficient array allocation, tight loop bounds and
vectorized communications for INDEPENDENT loops. The
generated code includes traditional optimizations such as
guard elimination, message vectorization and aggregation,
overlap analysis... The systematic use of an affine
framework makes it possible to prove the compilation scheme