NESTED ALGORITHMIC SKELETONS FROM HIGHER ORDER FUNCTIONS
- 1 January 2001
- journal article
- research article
- Published by Taylor & Francis in Parallel Algorithms and Applications
- Vol. 16 (3) , 181-206
- https://doi.org/10.1080/01495730108935271
Abstract
Algorithmic skeletons provide a promising basis for the automatic utilisation of parallelism at sites of higher order function use through static program analysis. However, decisions about whether or not to realise particular higher order function instances as skeletons must be based on information about processing resources available at runtime In principle, nested higher order functions may be realised as nested skeletons. However, where higher order function arguments result from partially applied functions, free-variable bindings must be identified and communicated through the corresponding skeleton hierarchy to where those arguments are actually applied Here, a skeleton based parallelising compiler for Standard ML is presented. Hybrid skeletons, which can change from parallel to serial evaluation at runtime, are considered and mechanisms for their nesting are discussed. The main compilation stages are illustrated for simple examples. A nested higher order function based algorithm for multiplying matrices of arbitrary length integers is presented along with performance figures for compiled code running on a Fujitsu AP3000.Keywords
This publication has 9 references indexed in Scilit:
- The use of explicit plans to guide inductive proofsPublished by Springer Nature ,2010
- Algorithmic SkeletonsPublished by Springer Nature ,1999
- Type-driven defunctionalizationACM SIGPLAN Notices, 1997
- Embodying parallel functional skeletons: An experimental implementation on top of MPIPublished by Springer Nature ,1997
- A monadic calculus for parallel costing of a functional language of arraysPublished by Springer Nature ,1997
- Functional skeletons for parallel coordinationPublished by Springer Nature ,1995
- A methodology for the development and the support of massively parallel programsFuture Generation Computer Systems, 1992
- The categorical abstract machinePublished by Springer Nature ,1985
- Can programming be liberated from the von Neumann style?Communications of the ACM, 1978