Coordination languages and their significance
Communications of the ACM
The high performance Fortran handbook
The high performance Fortran handbook
Domain decomposition: parallel multilevel methods for elliptic partial differential equations
Domain decomposition: parallel multilevel methods for elliptic partial differential equations
A new model for integrated nested task and data parallel programming
PPOPP '97 Proceedings of the sixth ACM SIGPLAN symposium on Principles and practice of parallel programming
A library-based approach to task parallelism in a data-parallel language
Journal of Parallel and Distributed Computing
Structured development of parallel programs
Structured development of parallel programs
A coordination language for mixed task and and data parallel programs
Proceedings of the 1999 ACM symposium on Applied computing
Building programs in the network of tasks model
SAC '00 Proceedings of the 2000 ACM symposium on Applied computing - Volume 1
Activity graphs: a model-independent intermediate layer for skeletal coordination
SAC '00 Proceedings of the 2000 ACM symposium on Applied computing - Volume 1
SkIE: a heterogeneous environment for HPC applications
Parallel Computing - Special Anniversary issue
Applied Mathematics and Computation
Approaches for Integrating Task and Data Parallelism
IEEE Concurrency
Opus: A Coordination Language for Multidisciplinary Applications
Scientific Programming
Combined scheduling and mapping for scalable computing with parallel tasks
Scientific Programming - Biological Knowledge Discovery and Data Mining
Hi-index | 0.00 |
This paper describes domain interaction patterns, a pattern-based, high level coordination language, which provides a new way of integrating task and data parallelism. Coordination patterns are used to express task parallelism among a collection of data parallel High Performance Fortran (HPF) tasks. Patterns specify the interaction among domains involved in the application along with the processor and data layouts. The use of domains, i.e. regions together with some interaction information, improves pattern reusability. Data distribution belonging to the different HPF tasks is known at the coordination level. This is the key for both computational code reutilization and an efficient implementation of the communication among tasks. Besides that, our system implementation requires no change to the runtime system support of the HPF compiler used. In addition, a set of different implementation templates is provided in order to ease the programmer task. The suitability, expressiveness and efficiency of the language are shown by means of some examples.