A Linear Algebra Framework for Static High Performance Fortran Code Distribution

High Performance Fortran (HPF) was developed to support data parallel programming for single-instruction multiple-data (SIMD) and multiple-instruction multiple-data (MIMD) machines with distributed memory. The programmer is provided a familiar uniform logical address space and specifies the data dis...

Full description

Bibliographic Details
Main Authors: Corinne Ancourt, Fabien Coelho, FranÇois Irigoin, Ronan Keryell
Format: Article
Language:English
Published: Hindawi Limited 1997-01-01
Series:Scientific Programming
Online Access:http://dx.doi.org/10.1155/1997/195689
id doaj-6e731ab148ab4e2e8072797be2f8593b
record_format Article
spelling doaj-6e731ab148ab4e2e8072797be2f8593b2021-07-02T14:12:25ZengHindawi LimitedScientific Programming1058-92441875-919X1997-01-016132710.1155/1997/195689A Linear Algebra Framework for Static High Performance Fortran Code DistributionCorinne Ancourt0Fabien Coelho1FranÇois Irigoin2Ronan Keryell3Centre de Recherche en Informatique, École Nationale Supérieure des Mines de Paris, 35, rue Saint-Honoré, F-77305 Fontainebleau cedex, FranceCentre de Recherche en Informatique, École Nationale Supérieure des Mines de Paris, 35, rue Saint-Honoré, F-77305 Fontainebleau cedex, FranceCentre de Recherche en Informatique, École Nationale Supérieure des Mines de Paris, 35, rue Saint-Honoré, F-77305 Fontainebleau cedex, FranceCentre de Recherche en Informatique, École Nationale Supérieure des Mines de Paris, 35, rue Saint-Honoré, F-77305 Fontainebleau cedex, FranceHigh Performance Fortran (HPF) was developed to support data parallel programming for single-instruction multiple-data (SIMD) and multiple-instruction multiple-data (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, and overlap analysis. The systematic use of an affine framework makes it possible to prove the compilation scheme correct.http://dx.doi.org/10.1155/1997/195689
collection DOAJ
language English
format Article
sources DOAJ
author Corinne Ancourt
Fabien Coelho
FranÇois Irigoin
Ronan Keryell
spellingShingle Corinne Ancourt
Fabien Coelho
FranÇois Irigoin
Ronan Keryell
A Linear Algebra Framework for Static High Performance Fortran Code Distribution
Scientific Programming
author_facet Corinne Ancourt
Fabien Coelho
FranÇois Irigoin
Ronan Keryell
author_sort Corinne Ancourt
title A Linear Algebra Framework for Static High Performance Fortran Code Distribution
title_short A Linear Algebra Framework for Static High Performance Fortran Code Distribution
title_full A Linear Algebra Framework for Static High Performance Fortran Code Distribution
title_fullStr A Linear Algebra Framework for Static High Performance Fortran Code Distribution
title_full_unstemmed A Linear Algebra Framework for Static High Performance Fortran Code Distribution
title_sort linear algebra framework for static high performance fortran code distribution
publisher Hindawi Limited
series Scientific Programming
issn 1058-9244
1875-919X
publishDate 1997-01-01
description High Performance Fortran (HPF) was developed to support data parallel programming for single-instruction multiple-data (SIMD) and multiple-instruction multiple-data (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, and overlap analysis. The systematic use of an affine framework makes it possible to prove the compilation scheme correct.
url http://dx.doi.org/10.1155/1997/195689
work_keys_str_mv AT corinneancourt alinearalgebraframeworkforstatichighperformancefortrancodedistribution
AT fabiencoelho alinearalgebraframeworkforstatichighperformancefortrancodedistribution
AT francoisirigoin alinearalgebraframeworkforstatichighperformancefortrancodedistribution
AT ronankeryell alinearalgebraframeworkforstatichighperformancefortrancodedistribution
AT corinneancourt linearalgebraframeworkforstatichighperformancefortrancodedistribution
AT fabiencoelho linearalgebraframeworkforstatichighperformancefortrancodedistribution
AT francoisirigoin linearalgebraframeworkforstatichighperformancefortrancodedistribution
AT ronankeryell linearalgebraframeworkforstatichighperformancefortrancodedistribution
_version_ 1721328270905966592