High-Level Management of Communication Schedules in HPF-like Languages
The goal of High Performance Fortran (HPF) is to "address the problems of writing data parallel programs where the distribution of data affects performance", providing the user with a high-level language interface for programming scalable parallel architectures and delegating to the compiler the task of producing an explicitly parallel message-passing program. For some applications, this approach may result in dramatic performance losses. An important example is the inspector/executor paradigm, which HPF uses to support irregular data accesses in parallel loops. In many cases, the compiler does not have sufficient information to decide whether an inspector computation is redundant or needs to be repeated. In such cases, the performance of the whole program may be significantly degraded. In this paper, we describe an approach to solve this problem through the introduction of constructs allowing explicit manipulation of communication schedules at the HPF language level. The goal is to avoid the use of EXTRINSICS for expressing irregular computation via message-passing primitives, while guaranteeing essentially the same performance. These language features allow the user to control the reuse of schedules and to specify access patterns that may be used to compute a schedule. They are being implemented as part of the HPF+ language and we report some preliminary performance numbers from this implementation.
Top- Benkner, Siegfried
- Zima, Hans
- Mehrotra, P.
- Van Rosendale, J.
Category |
Technical Report (Technical Report) |
Divisions |
Scientific Computing |
Publisher |
Institute for Software Technology and Parallel Systems, University of Vienna |
Date |
1997 |
Official URL |
http://www.par.univie.ac.at/publications/download/... |
Export |