POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Crystal: theory and pragmatics of generating efficient parallel code
Parallel functional languages and compilers
The ALPHA language and its use for the design of systolic arrays
Journal of VLSI Signal Processing Systems - Special issue: algorithms and parallel VSLI architecture
Implementation of a portable nested data-parallel language
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
Some efficient solutions to the affine scheduling problem: I. One-dimensional time
International Journal of Parallel Programming
Automatic parallelization of while-loops using speculative execution
International Journal of Parallel Programming
From alpha to imperative code: a transformational compiler for an array-based functional language
From alpha to imperative code: a transformational compiler for an array-based functional language
Functional Programming and Parallel Graph Rewriting
Functional Programming and Parallel Graph Rewriting
Mapping affine loop nests: new results
HPCN Europe '95 Proceedings of the International Conference and Exhibition on High-Performance Computing and Networking
On deriving data parallel code from a functional program
IPPS '95 Proceedings of the 9th International Symposium on Parallel Processing
The Loop Parallelizer LooPo-Announcement
LCPC '96 Proceedings of the 9th International Workshop on Languages and Compilers for Parallel Computing
Transformation of Divide & Conquer to Nested Parallel Loops
PLILP '97 Proceedings of the9th International Symposium on Programming Languages: Implementations, Logics, and Programs: Including a Special Trach on Declarative Programming Languages in Education
A Methodology for Deriving Parallel Programs with a Family of Parallel Abstract Machines
Euro-Par '97 Proceedings of the Third International Euro-Par Conference on Parallel Processing
Loop Parallelization in the Polytope Model
CONCUR '93 Proceedings of the 4th International Conference on Concurrency Theory
Automatic Parallelization in the Polytope Model
The Data Parallel Programming Model: Foundations, HPF Realization, and Scientific Applications
Engineering Large Parallel Functional Programs
IFL '97 Selected Papers from the 9th International Workshop on Implementation of Functional Languages
Code Generation in the Polytope Model
PACT '98 Proceedings of the 1998 International Conference on Parallel Architectures and Compilation Techniques
Nepal - Nested Data Parallelism in Haskell
Euro-Par '01 Proceedings of the 7th International Euro-Par Conference Manchester on Parallel Processing
PolyGLoT: a polyhedral loop transformation framework for a graphical dataflow language
CC'13 Proceedings of the 22nd international conference on Compiler Construction
Hi-index | 0.00 |
We propose an approach to the static parallelization of functional programs. In past work, implicit parallelism in functional programs has mostly been dynamic, i.e., implemented by parallel graph reduction. In a special application domain, scientific computing, a static parallelization method has been successful, which is based on a mathematical execution model, the polytope model. Since scientific computations are usually phrased imperatively, the study of the polytope model has focused on imperative programs. We show that the polytope model also applies to functional programs. We describe the prerequisites for adapting the polytope model to Haskell, a non-strict functional language. Automatically generated parallel code in a subset of Haskell consists of instructions for an abstract parallel machine (APM). In future work, APM code can be translated further to native code for a parallel machine. We demonstrate a parallelization in the polytope model on a functional program for LU decomposition.