Abstract
Nested data-parallelism can be efficiently implemented by mapping it to flat parallelism using Blelloch & Sabot’s flattening transformation. So far, the only dynamic data structure supported by flattening are vectors. We extend it with support for user-defined recursive types, which allow parallel tree structures to be defined. Thus, important parallel algorithms can be implemented more clearly and efficiently.
Chapter PDF
References
P. K. T. Au, M. M. T. Chakravarty, J. Darlington, Yike Guo, Stefan Jähnichen, G. Keller, M. Köhler, W. Pfannenstiel, and M. Simons. Enlarging the scope of vector-based computations: Extending Fortran 90 with nested data parallelism. In W. K. Giloi, editor, Proc. of the Intl. Conf. on Advances in Parallel and Distributed Computing. IEEE Computer Society Press, 1997.
G. E. Blelloch, S. Chatterjee, J. C. Hardwick, J. Sipelstein, and M. Zagha. Implementation of a portable nested data-parallel language. In 4th ACM SIGPLAN Symp. on Principles and Practice of Parallel Programming, 1993.
J. Barnes and P. Hut. A hierarchical O(n log n) force calculation algorithm. Nature, 324, December 1986.
G. E. Blelloch. Vector Models for Data-Parallel Computing. The MIT Press, 1990.
G. E. Blelloch. Programming parallel algorithms. Communications of the ACM, 39(3):85–97, 1996.
G.E. Blelloch and G. W. Sabot. Compiling collection-oriented languages onto massively parallel computers. Journal of Parallel and Distributed Computing, 8:119–134, 1990.
S. Chatterjee. Compiling nested data-parallel programs for shared-memory multi-processors. ACM Trans. on Prog. Lang. and Systems, 15(3), 1993.
Gabriele Keller and Manuel M. T. Chakravarty. Flattening trees — unabridged. Forschungsbreicht 98-6, Technical University of Berlin, 1998. http://cs.tu-berlin.de/cs/ifb/TechnBerichteListe.html.
G. Keller. Transformation-based Implementation of Nested Parallelism for Parallel Computers with Distributed Memory. PhD thesis, Technische Universität Berlin, Fachbereich Informatik, 1998. Forthcoming.
G. Keller and M. Simons. A calculational approach to flattening nested data parallelism in functional languages. In J. Jaffar, editor, The 1996 Asian Computing Science Conference, LNCS. Springer Verlag, 1996.
J. Prins and D. Palmer. Transforming high-level data-parallel programs into vector operations. In Proceedings of the Fourth AGM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pages 119–128, San Diego, CA., May 19–22, 1993. ACM.
D. Palmer, J. Prins, and S. Westfold. Work-efficient nested data-parallelism. In Proceedings of the Fifth Symposium on the Frontiers of Massively Parallel Processing (Frontiers 95). IEEE, 1995.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Keller, G., Chakravarty, M.M.T. (1998). Flattening trees. In: Pritchard, D., Reeve, J. (eds) Euro-Par’98 Parallel Processing. Euro-Par 1998. Lecture Notes in Computer Science, vol 1470. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0057920
Download citation
DOI: https://doi.org/10.1007/BFb0057920
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-64952-6
Online ISBN: 978-3-540-49920-6
eBook Packages: Springer Book Archive