Results 1 -
4 of
4
Functional languages and very fine grained parallelism: Initial results
, 1994
"... A functional language compiler can be used as a powerful tool in the scheduling of programs for hardware capable of fine grained instruction level parallelism. There have been many attempts to effectively utilise functional languages as a means of easily programming parallel hardware. These attempts ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
A functional language compiler can be used as a powerful tool in the scheduling of programs for hardware capable of fine grained instruction level parallelism. There have been many attempts to effectively utilise functional languages as a means of easily programming parallel hardware. These attempts have generally concentrated on parallelising the underlying reduction strategies to achieve this goal. This paper explores an alternative use of a functional language compiler; as a tool for producing annotated code which can be effectively scheduled for the class of transport triggered architectures. These architectures are capable of much fine grained instruction level parallelism, and it is the task of the compiler to schedule code to utilise this power, in a manner similar to that of a compiler for a VLIW architecture. We believe that a functional language compiler has more freedom in the generation of code than imperative language compilers, due to the level of abstraction provided by ...
Experience with a Clustered Parallel Reduction Machine
, 1993
"... A clustered architecture has been designed to exploit divide and conquer parallelism in functional programs. The programming methodology developed for the machine is based on explicit annotations and program transformations. It has been successfully applied to a number of algorithms resulting in a b ..."
Abstract
- Add to MetaCart
A clustered architecture has been designed to exploit divide and conquer parallelism in functional programs. The programming methodology developed for the machine is based on explicit annotations and program transformations. It has been successfully applied to a number of algorithms resulting in a benchmark of small and medium size parallel functional programs. Sophisticated compilation techniques are used such as strictness analysis on non-flat domains and RISC and VLIW code generation. Parallel jobs are distributed by an efficient hierarchical scheduler. A special processor for graph reduction has been designed as a basic building block for the machine. A prototype of a single cluster machine has been constructed with stock hardware. This paper describes the experience with the project and its current state. 1 Introduction Functional programming is founded on the lambda calculus, which is a mathematical theory that provides a sound basis for work on reduction machines [5]. This is p...
A Survey of Sequential and Parallel Implementation Techniques for Functional Programming Languages
, 1995
"... This paper surveys sequential and parallel implementation techniques for functional programming languages, as well as optimizations that can improve their performance. Sequential implementations have evolved from simple interpreters to sophisticated super-combinator-based compilers, while most paral ..."
Abstract
- Add to MetaCart
This paper surveys sequential and parallel implementation techniques for functional programming languages, as well as optimizations that can improve their performance. Sequential implementations have evolved from simple interpreters to sophisticated super-combinator-based compilers, while most parallel implementations have explored a broad range of techniques. We analyze the purpose and function of each implementation technique and discuss the current state-of-the-art in functional language implementation.

