Alpha is a functional language for expressing regular algorithms, synthesizing regular architectures or compiling to sequential or parallel machines from a high level specification. An algorithm is described by equations involving variables defined on multi-dimensional domains. By successive transformations (uniformization, parallelization for instance), the description is refined until it may be interpreted as an architecture. Then, this description can be translated towards logic synthesis tools in order to generate a VLSI architecture. Alternatively, different analyses (scheduling, lifetime, etc.) may guide the transformations towards imperative loop code for general purpose (sequential or parallel) processors. This basic scheme allows one to investigate many important research topics (parallelization, code generation, language semantics, convex polyhedra calculus, abstract and non-standard interpretation, program verification, optimization, architecture synthesis, VLSI, FPGA, systolic arrays, etc.).
Keywords for this software
References in zbMATH (referenced in 5 articles )
Showing results 1 to 5 of 5.
- Morin-Allory, Katell; Cachera, David: Proving parameterized systems: The use of pseudo-pipelines in polyhedral logic (2005)
- Quinton, Patrice; Risset, Tanguy: Structured scheduling of recurrence equations: Theory and practice (2002)
- Mémin, Étienne; Risset, Tanguy: VLSI design methodology for edge-preserving image reconstruction (2001)
- Fradet, Pascal; Mallet, Julien: Compilation of a specialized functional language for massively parallel computers (2000)
- Smarandache, Irina M.; Gautier, Thierry; Le Guernic, Paul: Validation of mixed signal-alpha real-time systems through affine calculus on clock synchronisation constraints (1999)