Results 1 -
5 of
5
The Nestor library: a tool for implementing Fortran source to source transformations
- In High Performance Computing and Networking (HPCN’99
, 1999
"... . We describe Nestor, a library to easily manipulate Fortran programs through a high level internal representation based on C++ classes. Nestor is a research tool that can be used to quickly implement source to source transformations. The input of the library is Fortran 77, Fortran 90, and HPF 2 ..."
Abstract
-
Cited by 8 (2 self)
- Add to MetaCart
. We describe Nestor, a library to easily manipulate Fortran programs through a high level internal representation based on C++ classes. Nestor is a research tool that can be used to quickly implement source to source transformations. The input of the library is Fortran 77, Fortran 90, and HPF 2.0. Its current output supports the same languages plus some dialects such as Petit, OpenMP, CrayMP. Compared to SUIF 2.0 that is still announced, Nestor is less ambitious, but is light, ready to use (http://www.ens-lyon.fr/~gsilber/nestor), fully documented and is better suited for Fortran to Fortran transformations. 1 Introduction and motivations Several theoretical methods that transform programs to gain parallelism or to improve memory locality have been developed (see [23, 3] for surveys). Unfortunately, there is a gap between the bunch of known parallelism detection and code optimization algorithms, and those implemented in real compilers. Indeed, these algorithms are often dicul...
Bouclettes: a Fortran Loop Parallelizer
- In HPCN 96
, 1996
"... . High Performance Fortran is a dataparallel language that allows the user to specify the parallelism in his program. It is not always easy to extract the parallelism in a given program. To help the user, an automatic loop parallelizer has been developed : Bouclettes. Bouclettes has been written to ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
. High Performance Fortran is a dataparallel language that allows the user to specify the parallelism in his program. It is not always easy to extract the parallelism in a given program. To help the user, an automatic loop parallelizer has been developed : Bouclettes. Bouclettes has been written to validate some scheduling and mapping techniques that are mentioned in this paper. A Fortran 77 loop nest is rewritten into a HPF loop nest with explicit parallel loops (INDEPENDENT loops) and explicit data distribution (DISTRIBUTE and ALIGN directives). The different stages of parallelization (analysis, dependence analysis, scheduling, mapping and code generation) and their implementation issues are described here. 1 Introduction 1.1 What is Bouclettes? Bouclettes has been written to validate some scheduling and mapping techniques based on extensions of the hyperplane method. These techniques are briefly sketched in section 2. The goal pursued when building Bouclettes was to have a complet...
Evaluation of Automatic Parallelization Strategies for HPF Compilers
- HIGHPERFORMANCE COMPUTING AND NETWORKING
, 1995
"... In the data parallel programming style the user usually specifies the data parallelism explicitly so that the compiler can generate efficient code without enhanced analysis techniques. In some situations it is not possible to specify the parallelism explicitly or this might be not very convenient. T ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
In the data parallel programming style the user usually specifies the data parallelism explicitly so that the compiler can generate efficient code without enhanced analysis techniques. In some situations it is not possible to specify the parallelism explicitly or this might be not very convenient. This is especially true for loop nests with data dependences between the data of distributed dimensions. In the case of uniform loop nests there are scheduling, mapping and partitioning techniques available. Some different strategies have been considered and evaluated with existing High Performance Fortran compilation systems. This paper gives some experimental results about the performance and the benefits of the different techniques and optimizations. The results are intended to direct the future development of data parallel compilers.
The Bouclettes loop parallelizer
, 1995
"... Bouclettes is a source to source loop nest parallelizer. It takes as input Fortran uniform, perfectly nested loops and gives as output an HPF (High Performance Fortran) program with data distribution and parallel ($HPF! INDEPENDENT) loops. This paper presents the tool and the underlying parallelizat ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Bouclettes is a source to source loop nest parallelizer. It takes as input Fortran uniform, perfectly nested loops and gives as output an HPF (High Performance Fortran) program with data distribution and parallel ($HPF! INDEPENDENT) loops. This paper presents the tool and the underlying parallelization methodology.
Code Generation in Bouclettes
, 1997
"... Bouclettes is a source to source loop nest parallelizer. It takes as an input Fortran uniform, perfectly nested loops and gives as an output an equivalent High Performance Fortran program with data distribution directives and parallel ($HPF! INDEPENDENT) loops. This paper explains how the HPF progr ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Bouclettes is a source to source loop nest parallelizer. It takes as an input Fortran uniform, perfectly nested loops and gives as an output an equivalent High Performance Fortran program with data distribution directives and parallel ($HPF! INDEPENDENT) loops. This paper explains how the HPF program is built from a "shifted linear schedule" and a data allocation. We focus on the problems we had to solve to generate the High Performance Fortran code. We detail the code generation phase and prove that our rewriting algorithm is correct. 1. Introduction 1.1. What is Bouclettes? Bouclettes is a source to source loop nest parallelizer. It takes some Fortran 77 loops (perfectly nested with uniform data dependences loops) as input and returns an equivalent parallel program in HPF (High Performance Fortran). Bouclettes has been written to validate some scheduling and mapping techniques based on the hyperplane method. These techniques are briefly sketched in section 2. The goal persued when ...

