Supercompilers for parallel and vector computers
Supercompilers for parallel and vector computers
Object oriented parallel programming: experiments and results
Proceedings of the 1991 ACM/IEEE conference on Supercomputing
Programmer's guide to Fortran 90
Programmer's guide to Fortran 90
Fortran 90 handbook: complete ANSI/ISO reference
Fortran 90 handbook: complete ANSI/ISO reference
The optimization and parallelization of array language programs
The optimization and parallelization of array language programs
An APL Compiler for a Vector Processor
ACM Transactions on Programming Languages and Systems (TOPLAS)
Compilation and delayed evaluation in APL
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The implementation and evaluation of fusion and contraction in array languages
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Efficient support of parallel sparse computation for array intrinsic functions of Fortran 90
ICS '98 Proceedings of the 12th international conference on Supercomputing
Parallel Sparse Supports for Array Intrinsic Functions of Fortran 90
The Journal of Supercomputing
Segmented Alignment: An Enhanced Model to Align Data Parallel Programs of HPF
The Journal of Supercomputing
Data Distribution Analysis and Optimization for Pointer-Based Distributed Programs
ICPP '97 Proceedings of the international Conference on Parallel Processing
A Matlab Just-In-time Compiler
LCPC '00 Proceedings of the 13th International Workshop on Languages and Compilers for Parallel Computing-Revised Papers
Anticipatory Optimization in Domain Specific Translation
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
IPPS '98 Proceedings of the 12th. International Parallel Processing Symposium on International Parallel Processing Symposium
Optimizing data permutations for SIMD devices
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
On minimizing materializations of array-valued temporaries
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hi-index | 0.00 |
An increasing number of programming languages, such as Fortran 90 and APL, are providing a rich set of intrinsic array functions and array expressions. These constructs which constitute an important part of data parallel languages provide excellent opportunities for compiler optimizations. In this paper, we present a new approach to combine consecutive data access patterns of array constructs into a composite access function to the source arrays. Our scheme is based on the composition of access functions, which is similar to a composition of mathematic functions. Our new scheme can handle not only data movements of arrays of different numbers of dimensions and segmented array operations but also masked array expressions and multiple sources array operations. As a result, our proposed scheme is the first synthesis scheme which can synthesize Fortran 90 RESHAPE, EOSHIFT, MERGE, and WHERE constructs together. Experimental results show speedups from 1.21 to 2.95 for code fragments from real applications on a Sequent multiprocessor machine by incorporating the proposed optimizations.