The task parallelism group at Argonne National Laboratory investigates applications, language constructs, compilation, and runtime system issues associated with the use of task parallelism, and mixed task/data parallelism. Much of this work is performed in the context of Fortran, but many of the techniques apply equally to other languages.
High Performance Fortran (HPF) provides a convenient syntax for specifying data-parallel execution, but does not at present allow programmers to write task-parallel programs in which different tasks perform different activities at the same time. As a solution to this problem, we advocate the development of an HPF binding for the Message Passing Interface (``HPF/MPI''). This provides a standard set of functions for coupling multiple HPF tasks to form task-parallel computations.
Working with Rakesh Krishnaiyer and Alok Choudhary at Syracuse University, we have developed a prototype implementation of an HPF/MPI library. This is a nontrivial exercise because (for example) sending and receiving tasks may employ different data distributions, and execute on different numbers of processors. Our prototype uses the HPF compiler produced by the Portland Group, Inc., and was demonstrated at the Supercomputing 95 conference.
In future work, we plan to use the HPF/MPI prototype to investigate algorithms for high-performance communication in mixed task/data-parallel computations. We also plan to investigate other libraries that implement other communication mechanisms, such as Fortran M channels, and to compare library-based and language-based approaches to task-parallel computation.
Four papers are available:
The HPF/MPI work is referenced in a survey of HPF tools.
Go to the HPF/MPI Developer's Page. (Only accessible to project members.)
Fortran~M is a small set of extensions to Fortran that supports a modular approach to the construction of sequential and parallel programs. A portable Fortran~M compiler was written, based on the Nexus runtime system.
We are no longer developing or supporting Fortran M. The source and documentation are still available for reference.
For More Information
Online Documentation
Contacts
FM is a joint project of Argonne National Laboratory and the NSF Center for Research on Parallel Computation