Euro-Par 1999: Euro-Par’99 Parallel Processing pp 833-844 | Cite as

Exploiting Advanced Task Parallelism in High Performance Fortran via a Task Library

  • Thomas Brandes
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1685)

Abstract

As task parallelism has been proven to be useful for applications like real-time signal processing, branch and bound problems, and multidisciplinary applications, the new standard HPF 2.0 of the data parallel language High Performance Fortran (HPF) provides approved extensions for task parallelism that allow nested task and data parallelism. Unfortunately, these extensions allow the spawning of tasks but do not allow interaction like synchronization and communication between tasks during their execution and therefore might be too restrictive for certain application classes. E.g., they are not suitable for expressing the complex interactions among asynchronous tasks as required by multidisciplinary applications. They do not support any parallel programming style that is based on non-deterministic communication patterns.

This paper discusses the extension of the task model provided by HPF 2.0 with a task library that allows interaction between tasks during their lifetime, mainly by message passing with an user-friendly HPF binding. The same library with the same interface can also be used for single processors in the local HPF model. The task model of HPF 2.0 and the task library have been implemented in the ADAPTOR HPF compilation system that is available in the public domain. Some experimental results show the easy use of the concepts and the efficiency of the chosen approach.

Keywords

Data Parallelism Task Parallelism High Performance Fortran 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    J. Barnes and P. Hut. A hierarchical O(NlogN) force calculation algorithm. Nature 4, 324:446–449, 1986.CrossRefGoogle Scholar
  2. [2]
    T. Brandes. Implementation and Evaluation of Nested Task and Data Parallelism for High Performance Fortran within the ADAPTOR Compilation System. Working paper (unpublished), GMD, 1998. available via anonymous ftp as ftp://gmd.de:/GMD/adaptor/docs/tasking.ps.
  3. [3]
    T. Brandes and F. Zimmermann. ADAPTOR-A Transformation Tool for HPF Programs. In K. Decker and R. Rehmann, editors, Programming Environments for Massively Parallel Distributed Systems, pages 91–96. Birkhäuser Verlag, Apr. 1994.Google Scholar
  4. [4]
    B. Chapman, M. Haines, P. Mehrotra, H. Zima, and J. Van Rosendale. Opus: A Coordination Language for Multidisciplinary Applications. Scientific Programming, 6(4): 345–361, 1997.Google Scholar
  5. [5]
    J.W. Cooley and J.W. Tukey. An Algorithm for the machine calculation of complex Fourier series. Mathematical Computing, 19:297–301, 1965.MATHCrossRefMathSciNetGoogle Scholar
  6. [6]
    P. Dinda, T. Gross, D. O’Hallaron, E. Segall, E. Stichnoth, J. Subhlok, J. Webb, and B. Yang. The CMU Task Parallel Program Suite. Technical Report CMUCS-94-131, School of Computer Science, Carnegie Mellon University, Mar. 1994.Google Scholar
  7. [7]
    I. Foster, D. Kohr, K.R., and A. Choudhary. Double Standards: Bringing Task Parallelism to HPF via the Message Passing Interface. In P. Pittsburgh, editor, Supercomputing’ 96, Nov. 1996.Google Scholar
  8. [8]
    W. Groop, E. Lusk, and A. Skjellum. Using MPI: Portable Parallel Programming with the Message-Passing Interface. Scientific and Engineering Computation Series. The MIT Press, Cambridge, MA, 1994.Google Scholar
  9. [9]
    T. Gross, D. O’Hallaron, and J. Subhlok. Task Parallelism in a High Performance Fortran Framework. IEEE Parallel and Distributed Technology, 2(2):16–26, 1994.CrossRefGoogle Scholar
  10. [10]
    High Performance Fortran Forum. High Performance Fortran Language Specification. Version 2.0, Department of Computer Science, Rice University, Jan. 1997.Google Scholar
  11. [11]
    S. Orlando and R. Perego. COLT HPF, a Coordination Layer for HPF Tasks. Technical Report Series on Computer Science CS-98-4, Universita ca’ Foscari di Venezia, Mar. 1998. Paper submitted to Concurrency: Practice and Experience.Google Scholar
  12. [12]
    S. Ramaswamy and P. Banerjee. Automatic Generation of Efficient Array Redistribution Routines for Distributed Memory Multicomputers. In Proceedings of the Fifth Symposium on the Frontiers of Massively Parallel Computations (FRONTIERS’95), pages 342–394, Feb. 1995.Google Scholar
  13. [13]
    S. Ramaswamy, S. Spatnekar, and P. Banerjee. A Framework for Exploiting Task and Data Parallelism on Distributed Memory Multicomputers. IEEE Transaction on Parallel and Distributed Systems, 8(11):1098–1116, Nov. 1997.CrossRefGoogle Scholar
  14. [14]
    J. Subhlok and B. Yang. A New Model for Integrated Nested Task and Data Parallel Programming. In PPOPP 97, 1997.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Thomas Brandes
    • 1
  1. 1.German National Research Center for Information Technology (GMD)Institute for Algorithms and Scientific Computing (SCAI)St. AugustinGermany

Personalised recommendations