High Performance Fortran (HPF) has emerged as a standard language for
data parallel computing. However, a wide variety of scientific applica
tions are best programmed by a combination of task and data parallelis
m Therefore, a good model of task parallelism is important for continu
ed success of HPF for parallel programming. This paper presents a task
parallelism model that is simple, elegant, and relatively easy to imp
lement in an HPF environment. Task parallelism is exploited by mechani
sms for dividing processors into subgroups and mapping computations an
d data onto processor subgroups. This model of task parallelism has be
en implemented in the Fx compiler at Carnegie Mellon University. The p
aper addresses the main issues in compiling integrated task and data p
arallel programs and reports on the use of this model for programming
various hat and nested task structures. Performance results are presen
ted for a set of programs spanning signal processing, image processing
, computer vision and environment modeling. A variant of this task mod
el is a new approved extension of HPF and this paper offers insight in
to the power of expression and ease of implementation of this extensio
n.