ARRAY-OL, developed by Thomson Marconi Sonar, is a programming language dedicated to signal processing. An ARRAY-OL program specifies the dependencies between array elements produced and consumed by tasks. In particular, temporal dependencies may be specified by referencing elements that belong to an infinite dimension of an array.
A basic compilation strategy of ARRAY-OL on a workstation has been defined. This basic compilation does not allow the generation of efficient code for any ARRAY-OL application; specifically those defining infinite arrays. We propose to transform such applications to hierarchical ARRAY-OL applications that may be compiled with ARRAY-OL basic strategy. We introduce a formal representation of ARRAY-OL applications, which is a relation between points of Zn spaces; code transformations are applied at this level. In this paper we show how the transformation process is used during the compilation phase of a representative application.
[1]
Pierre Boulet,et al.
Bouclettes: A Fortran Loop Parallelizer
,
1996,
HPCN Europe.
[2]
Doran Wilde,et al.
A LIBRARY FOR DOING POLYHEDRAL OPERATIONS
,
2000
.
[3]
Paul Feautrier.
Toward Automatic Distribution
,
1994,
Parallel Process. Lett..
[4]
Patrice Quinton,et al.
The ALPHA language and its use for the design of systolic arrays
,
1991,
J. VLSI Signal Process..
[5]
Emmanuel Boutillon,et al.
Array-OL : proposition d'un formalisme tableau pour le traitement de signal multi-dimensionnel
,
1995
.
[6]
Pierre Jouvelot,et al.
Semantical interprocedural parallelization: an overview of the PIPS project
,
1991
.
[7]
P. Feautrier.
Parametric integer programming
,
1988
.