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.
Unable to display preview. Download preview PDF.
- 1.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.Google Scholar
- 2.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.Google Scholar
- 3.J. Barnes and P. Hut. A hierarchical O(n log n) force calculation algorithm. Nature, 324, December 1986.Google Scholar
- 4.G. E. Blelloch. Vector Models for Data-Parallel Computing. The MIT Press, 1990.Google Scholar
- 7.S. Chatterjee. Compiling nested data-parallel programs for shared-memory multi-processors. ACM Trans. on Prog. Lang. and Systems, 15(3), 1993.Google Scholar
- 8.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.Google Scholar
- 9.G. Keller. Transformation-based Implementation of Nested Parallelism for Parallel Computers with Distributed Memory. PhD thesis, Technische Universität Berlin, Fachbereich Informatik, 1998. Forthcoming.Google Scholar
- 10.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.Google Scholar
- 11.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.Google Scholar
- 12.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.Google Scholar