๐”– Bobbio Scriptorium
โœฆ   LIBER   โœฆ

Parallelizing Imperative Functional Programs: the Vectorization Monad

โœ Scribed by JONATHAN M.D. HILL; KEITH M. CLARKE; RICHARD BORNAT


Book ID
102975345
Publisher
Elsevier Science
Year
1996
Tongue
English
Weight
680 KB
Volume
21
Category
Article
ISSN
0747-7171

No coin nor oath required. For personal study only.

โœฆ Synopsis


Traditionally a vectorizing compiler matches the iterative constructs of a program against a set of predefined templates. If a loop contains no dependency cycles then a map template can be used; other simple dependencies can often be expressed in terms of fold or scan templates. This paper addresses the template matching problem within the context of functional programming. A small collection of program identities are used to specify vectorizable for-loops. By incorporating these program identities within a monad, all well-typed for-loops in which the body of the loop is expressed using the vectorization monad can be vectorized. This technique enables the elimination of template matching from a vectorizing compiler, and the proof of the safety of vectorization can be performed by a type inference mechanism.


๐Ÿ“œ SIMILAR VOLUMES


On the performance of pure and impure pa
โœ A.P. Willem Bรถhm; Jeffrey P. Hammes; Sumit S. Sur ๐Ÿ“‚ Article ๐Ÿ“… 1999 ๐Ÿ› Elsevier Science ๐ŸŒ English โš– 576 KB

This paper reports on the memory performance of parallel scientiยฎc algorithms, written in both pure and impure functional styles. The Id programming language is used, since it allows both pure and impure parallel functional programs to be expressed. The non-strict storage model of Id is introduced.