Object oriented parallel programming: experiments and results
Proceedings of the 1991 ACM/IEEE conference on Supercomputing
Compile-time generation of regular communications patterns
Proceedings of the 1991 ACM/IEEE conference on Supercomputing
Fortran 90 handbook: complete ANSI/ISO reference
Fortran 90 handbook: complete ANSI/ISO reference
Generating local addresses and communication sets for data-parallel programs
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
The high performance Fortran handbook
The high performance Fortran handbook
Generating communication for array statements: design, implementation, and evaluation
Journal of Parallel and Distributed Computing - Special issue on data parallel algorithms and programming
Compilation techniques for block-cyclic distributions
ICS '94 Proceedings of the 8th international conference on Supercomputing
A linear-time algorithm for computing the memory access sequence in data-parallel programs
PPOPP '95 Proceedings of the fifth ACM SIGPLAN symposium on Principles and practice of parallel programming
An array operation synthesis scheme to optimize Fortran 90 programs
PPOPP '95 Proceedings of the fifth ACM SIGPLAN symposium on Principles and practice of parallel programming
An Implementation Framework for HPF Distributed Arrays on Message-Passing Parallel Computer Systems
IEEE Transactions on Parallel and Distributed Systems
Analysis of local enumeration and storage schemes in HPF
ICS '96 Proceedings of the 10th international conference on Supercomputing
Runtime performance of parallel array assignment: an empirical study
Supercomputing '96 Proceedings of the 1996 ACM/IEEE conference on Supercomputing
Fast Address Sequence Generation for Data-Parallel Programs Using Integer Lattices
LCPC '95 Proceedings of the 8th International Workshop on Languages and Compilers for Parallel Computing
On Compiling Array Expressions for Efficient Execution on Distributed-Memory Machines
ICPP '93 Proceedings of the 1993 International Conference on Parallel Processing - Volume 02
Distributed pC++ Basic Ideas for an Object Parallel Language
Scientific Programming
Hi-index | 0.00 |
In this paper, we present a new framework based on expression rewritings and a calculus form called CSD calculus to generate the local enumeration set and communication set for HPF programs with Block-Cyclic distribution. Our framework is a practical software framework, and can handle the general cases so that the communication set of HPF programs of "Block-Cyclic" distributions with two-level alignments (or multiple-level alignments), multi-dimensional arrays, array intrinsic functions (such as Transpose operation), and affine indexes and axis exchange in the array subscript, can be calculated in a systematic way with a sound software foundation. Previously, existing work do not report a software framework to solve a problem with such general cases. In addition, our expression-rewriting framework is based on a new representative form, CSD (common-stride descriptor), to describe the regularity of the access patterns of HPF programs with "Block-Cyclic" distribution. We also demonstrate a calculus of CSD that CSD is closed under intersection and normalization, which helps the process of calculating local enumeration and communication sets of HPF programs with Block-Cyclic distributions. Experimental results show that our software scheme not only can be easily implemented in the practice, but also is with good efficiency.