Abstract
This paper discusses an extension of Haskell by support for nested data-parallel programming in the style of the special-purpose language Nesl. The extension consists of a parallel array type, array comprehensions, and primitive parallel array operations. This extension brings a hitherto unsupported style of parallel programming to Haskell. Moreover, nested data parallelism should receive wider attention when available in a standardised language like Haskell.
Chapter PDF
References
S. Aditya, Arvind, L. Augustsson, J.-W. Maessen, and R. S. Nikhil. Semantics of pH: A parallel dialect of Haskell. In P. Hudak, editor, Proc. Haskell Workshop, La Jolla, CA USA, YALEU/DCS/RR-1075, pages 35–49, June 1995.
J. Barnes and P. Hut. A hierarchical O(n log n) force calculation algorithm. Nature, 324, December 1986.
G. E. Blelloch. Prefix sums and their applications. Technical Report CMU-CS-90-190, School of Computer Science, Carnegie Mellon University, Nov. 1990.
G. E. Blelloch. NESL: A nested data-parallel language. Technical Report CMU-CS-93-129, School of Computer Science, Carnegie Mellon University, 1993.
G. E. Blelloch. Programming parallel algorithms. CACM, 39(3):85–97, 1996.
G. E. Blelloch and G. W. Sabot. Compiling collection-oriented languages onto massively parallel computers. Journ. o. Par. and Distr. Comp., 8:119–134, 1990.
S. Breitinger, U. Klusik, and R. Loogen. From (sequential) Haskell to (parallel) Eden: An implementation point of view. LNCS, 1490:318–328, 1998.
D. Cann. Retire fortran? A debate rekindled. CACM, 35(8):81, Aug. 1992.
M. M. T. Chakravarty and G. Keller. How portable is nested data parallelism? In 6th Australasian Conf. on Par. a. Real-Time Sys., pages 284–299. Springer, 1999.
M. M. T. Chakravarty and G. Keller. More types for nested data parallel programming. In P. Wadler, editor, ACM SIGPLAN Conference on Functional Programming (ICFP’ 00), pages 94–105. ACM Press, 2000.
N. Ellmenreich, C. Lengauer, and M. Griebl. Application of the polytope model to functional programs. In J. Ferrante, editor, Languages and Compilers for Parallel Computing. Computer Science and Engineering Department, UC San Diego, 1999.
C. Herrmann and C. Lengauer. Parallelization of divide-and-conquer by translation to nested loops. Journ. o. Functional Programming, 9(3):279–310, May 1999.
High Performance Fortran Forum. High Performance Fortran language specification. Technical report, Rice University, 1993. Version 1.0.
J. M. D. Hill. Data-parallel lazy functional programming. PhD thesis, Department of Computer Science, Queen Mary and Westfield College, London, 1994.
G. Keller. Transformation-based Implementation of Nested Data Parallelism for Distributed Memory Machines. PhD thesis, Technische Universität Berlin, 1999.
G. Keller and M. M. T. Chakravarty. Flattening trees. In D. Pritchard and J. Reeve, editors, Euro-Par’98, number 1470 in LNCS, pages 709–719. Springer, 1998.
G. Keller and M. M. T. Chakravarty. On the distributed implementation of aggregate data structures by program transformation. In J. Rolim et al., editors, Parallel and Distributed Processing, HIPS Workshop, number 1586 in LNCS, pages 108–122. Springer, 1999.
Haskell 98: A non-strict, purely functional language. http://haskell.org/defi-nition/, February 1999.
J. Prins and D. Palmer. Transforming high-level data-parallel programs into vector operations. In Proceedings of the Fourth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pages 119–128. ACM, 1993.
P. W. Trinder, K. Hammond, H.-W. Loidl, and S. L. Peyton Jones. Algorithm + strategy = parallelism. Journal of Functional Programming, 1998.
H. H. Wang. A parallel method for tridiagonal equations. ACM Transactions on Mathematical Software, 7(2):170–183, June 1981.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Chakravarty, M.M.T., Keller, G., Lechtchinsky, R., Pfannenstiel, W. (2001). Nepal — Nested Data Parallelism in Haskell. In: Sakellariou, R., Gurd, J., Freeman, L., Keane, J. (eds) Euro-Par 2001 Parallel Processing. Euro-Par 2001. Lecture Notes in Computer Science, vol 2150. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44681-8_76
Download citation
DOI: https://doi.org/10.1007/3-540-44681-8_76
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42495-6
Online ISBN: 978-3-540-44681-1
eBook Packages: Springer Book Archive