DocumentCode
2633101
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
fYear
1995
fDate
25-28 Apr 1995
Firstpage
766
Lastpage
772
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;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel Processing Symposium, 1995. Proceedings., 9th International
Conference_Location
Santa Barbara, CA
Print_ISBN
0-8186-7074-6
Type
conf
DOI
10.1109/IPPS.1995.395863
Filename
395863
Link To Document