Title :
On deriving data parallel code from a functional program
Author :
Quinton, Patrice ; Rajopadhye, Sanjay ; Wilde, Doran
Author_Institution :
Dept. of Comput. Sci., Oregon State Univ., Corvallis, OR, USA
Abstract :
We discuss a translation methodology for transforming a high level algorithmic specification written in ALPHA to an imperative data parallel language. We informally introduce the ALPHA language with the aid of an example and explain how it is adapted for doing static analysis and transformation. An ALPHA program can be naively compiled (P. Quinton et al., 1985) using applicative caching. Our compilation method makes incremental transformations on the abstract syntax tree of can ALPHA program in order to make efficiency and performance improvements over the naive code and optimize it for a given architecture. The compilation steps described include scheduling, alignment, partitioning, allocation, loop nest generation, and code generation and they are illustrated with an example
Keywords :
formal specification; functional languages; functional programming; parallel languages; parallel programming; program compilers; program interpreters; ALPHA; abstract syntax tree; alignment; applicative caching; code generation; compilation method; compilation steps; data parallel code; functional program; high level algorithmic specification; imperative data parallel language; incremental transformations; loop nest generation; partitioning; scheduling; static analysis; translation methodology; Algorithm design and analysis; Computer science; Equations; Information analysis; Linear programming; Parallel languages; Parallel machines; Program processors; Radio access networks; Timing;
Conference_Titel :
Parallel Processing Symposium, 1995. Proceedings., 9th International
Conference_Location :
Santa Barbara, CA
Print_ISBN :
0-8186-7074-6
DOI :
10.1109/IPPS.1995.395863