Results 11  20
of
23
A library for polyhedral operations
 Publication Interne 785. IRISA
, 1993
"... Abstract approved. ..."
Hierarchical static analysis of structured systems of affine recurrence equations
 In ASAP
, 1996
"... The Alpha language, based on systems of affine recurrence equations over polyhedral domains, allows the expression of complex algorithms as hierarchical, parameterized structures of such systems. This paper discusses the static analysis of Alpha programs, an extended typechecking process based on t ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
The Alpha language, based on systems of affine recurrence equations over polyhedral domains, allows the expression of complex algorithms as hierarchical, parameterized structures of such systems. This paper discusses the static analysis of Alpha programs, an extended typechecking process based on the single assignment rule. We present techniques ensuring, on one hand, that a system is valid (with respect to this rule) within a certain range of its parameters, and on the other, that no system is used with invalid values of its parameters. These techniques have been implemented in a versatile tool for Alpha which is demonstrated on the example of the Gaussian elimination. 1
Using Static Analysis to Derive Imperative . . .
, 1994
"... In this article, we demonstrate a translation methodology which transforms a high level algorithmic specification written in the Alpha language to an imperative data parallel language. Alpha is a functional language which was designed to facilitate the kinds of static analyses needed for doing regul ..."
Abstract
 Add to MetaCart
In this article, we demonstrate a translation methodology which transforms a high level algorithmic specification written in the Alpha language to an imperative data parallel language. Alpha is a functional language which was designed to facilitate the kinds of static analyses needed for doing regular array synthesis. We show that the same methods which are used for solving regular array synthesis problems can be applied to the compilation of Alpha as a functional language. We informally introduce the Alpha language with the aid of examples and explain how it is adapted to doing static analysis and transformation. We first show how an Alpha program can be naively implemented by viewing it as a set of monolithic arrays and their filling functions, implemented using applicative caching. We then show how static analysis can be used to improve the efficiency of this naive implementation by orders of magnitude. We present a compilation method which makes incremental transformations on t...
Using Static Analysis to Derive Imperative Code from ALPHA
, 1994
"... In this article, we demonstrate a translation methodology which transforms a high level algorithmic specification written in the Alpha language to an imperative data parallel language. Alpha is a functional language which was designed to facilitate the kinds of static analyses needed for doing reg ..."
Abstract
 Add to MetaCart
In this article, we demonstrate a translation methodology which transforms a high level algorithmic specification written in the Alpha language to an imperative data parallel language. Alpha is a functional language which was designed to facilitate the kinds of static analyses needed for doing regular array synthesis. We show that the same methods which are used for solving regular array synthesis problems can be applied to the compilation of Alpha as a functional language. We informally introduce the Alpha language with the aid of examples and explain how it is adapted to doing static analysis and transformation. We first show how an Alpha program can be naively implemented by viewing it as a set of monolithic arrays and their filling functions, implemented using applicative caching. We then show how static analysis can be used to improve the efficiency of this naive implementation by orders of magnitude. We present a compilation method which makes incremental transformations on t...
Parallelization of the Algebraic Path Problem on Linear Arrays, Part I: Fine grain architectures
, 2001
"... ..."
(Show Context)
MemoryEfficient Data Structures for . . .
"... : Generating imperative programs from systolic specifications implies the use of a memoryefficient model for representing data used in the original, singleassignment problem. We present a new method of generating data structures, designed for use in systolic program compilers for distributedmemor ..."
Abstract
 Add to MetaCart
: Generating imperative programs from systolic specifications implies the use of a memoryefficient model for representing data used in the original, singleassignment problem. We present a new method of generating data structures, designed for use in systolic program compilers for distributedmemory parallel computers. Our method is based on the mathematical properties of systolic programs and consists of a set of algebraically defined elementary transformations. Using these transformations, the total size of data structures can be optimized, allowing very memoryefficient code to be produced. The method has been implemented as a part of an experimental compiler of the Alpha language, currently under development. Keywords: parallel programming, systolic arrays, distributed memory architectures (R'esum'e : tsvp) Centre National de la Recherche Scientifique Institut National de Recherche en Informatique (URA 227) Universit e de Rennes 1  Insa de Rennes et en Automatique  unit e d...
. D'etection de r'eductions
"... tifiques implantent les scans en se servant de variables d'accumulation : s(0)=0 DO i=1,n s(i)=s(i1)+a(i) END DO Cette technique de codage g'en`ere des d'ependances producteurconsommateur entre les op'erations de la boucle sur i. Les parall'eliseurs bas'es sur les c ..."
Abstract
 Add to MetaCart
tifiques implantent les scans en se servant de variables d'accumulation : s(0)=0 DO i=1,n s(i)=s(i1)+a(i) END DO Cette technique de codage g'en`ere des d'ependances producteurconsommateur entre les op'erations de la boucle sur i. Les parall'eliseurs bas'es sur les conditions de Bernstein ne peuvent donc pas parall'eliser les scans. Pour d'etecter les r'eductions il faut revenir aux techniques de reconnaissance de formes. Une telle m'ethode ne sera efficace que si les programmes sont normalis'es avant d'appliquer la reconnaissance. Les travaux pr'ecurseurs en la mati`ere (cf [4]) sont bas'es sur les symbolic stores. Les symbolic stores sont tr`es efficaces pour les scalaires dans les boucles les plus internes mais ne peuvent pas traiter compl`etement les tableaux ou les nids de boucles. Pour pallier ces inconv'enients, il faut travailler sur le graphe de d'ependances du programme. Ainsi dans [
Extensions of the ALPHA Language. . .
"... : Alpha is a functional language based on systems of affine recurrence equations over polyhedral domains. We present an extension of Alpha to deal with sparse polyhedral domains. Such domains are modeled by Zpolyhedra, namely the intersection of lattices and polyhedra. We summarize the mathematical ..."
Abstract
 Add to MetaCart
: Alpha is a functional language based on systems of affine recurrence equations over polyhedral domains. We present an extension of Alpha to deal with sparse polyhedral domains. Such domains are modeled by Zpolyhedra, namely the intersection of lattices and polyhedra. We summarize the mathematical closure properties of Zpolyhedra, and we show how the important features of Alpha, namely normalization, substitution, change of basis, are preserved in the extension. Keywords: polyhedron, recurrence equation, vlsi, automatic synthesis methodology, regular parallelism (R'esum'e : tsvp) Supported by France Telecom grant from CNET, the French Center for Telecommunications Research (project Cairn). CENTRE NATIONAL DE LA RECHERCHE SCIENTIFIQUE Centre National de la Recherche Scientifique Institut National de Recherche en Informatique (URA 227) Universit e de Rennes 1  Insa de Rennes et en Automatique  unit e de recherche de Rennes Extension du langage Alpha aux r'ecurrences sur dom...