Flattening trees

  • Gabriele Keller
  • Manuel M. T. Chakravarty
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1470)


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.

Unable to display preview. Download preview PDF.


  1. 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. 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. 3.
    J. Barnes and P. Hut. A hierarchical O(n log n) force calculation algorithm. Nature, 324, December 1986.Google Scholar
  4. 4.
    G. E. Blelloch. Vector Models for Data-Parallel Computing. The MIT Press, 1990.Google Scholar
  5. 5.
    G. E. Blelloch. Programming parallel algorithms. Communications of the ACM, 39(3):85–97, 1996.CrossRefGoogle Scholar
  6. 6.
    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.CrossRefGoogle Scholar
  7. 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. 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. 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. 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. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Gabriele Keller
    • 1
  • Manuel M. T. Chakravarty
    • 2
  1. 1.Fachbereich InformatikTechnische Universität BerlinGermany
  2. 2.Inst. of Inform. Sciences and ElectronicsUniversity of TsukubaJapan

Personalised recommendations