High-Level Management of Communication Schedules in HPF-like Languages.
INSTITUTE FOR COMPUTER APPLICATIONS IN SCIENCE AND ENGINEERING HAMPTON VA
Pagination or Media Count:
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 users 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 inspectorexecutor 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.
- Computer Programming and Software