A functional programming language compiler for massively parallel computers

  • Authors:
  • Clifford Walinsky;Deb Banerjee

  • Affiliations:
  • Dept. Mathematics and Computer Science, Dartmouth College, Hanover, NH;Dept. Mathematics and Computer Science, Dartmouth College, Hanover, NH

  • Venue:
  • LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
  • Year:
  • 1990

Quantified Score

Hi-index 0.00

Visualization

Abstract

Functional programming languages remove programmers from low-level machine details, an important achievement when programming massively parallel systems. We present an overview of an FP compiler that generates programs capable of exploiting data-parallelism, a view of parallelism where distinct data elements reside on distinct processors and all processors execute a single instruction stream. To achieve this form of parallelism, FP's sequences are represented as arrays. This representation makes possible optimization techniques developed for APL compilers that compose routing functions at compile-time. These techniques are described succinctly by a set of axioms and inference rules. We demonstrate the optimizations by compiling several FP functions, obtaining optimal performance.