Interprocedural dependence analysis and parallelization
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
Direct parallelization of call statements
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
Analysis of interprocedural side effects in a parallel programming environment
Journal of Parallel and Distributed Computing - Special Issue on Languages, Compilers and environments for Parallel Programming
Efficient interprocedural analysis for program parallelization and restructuring
PPEALS '88 Proceedings of the ACM/SIGPLAN conference on Parallel programming: experience with applications, languages and systems
A technique for summarizing data access and its use in parallelism enhancing transformations
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
A practical algorithm for exact array dependence analysis
Communications of the ACM
Array-data flow analysis and its use in array privatization
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Evaluating compiler optimizations for Fortran D
Journal of Parallel and Distributed Computing - Special issue on data parallel algorithms and programming
Generating local addresses and communication sets for data-parallel programs
Journal of Parallel and Distributed Computing
Symbolic array dataflow analysis for array privatization and program parallelization
Supercomputing '95 Proceedings of the 1995 ACM/IEEE conference on Supercomputing
Automatic array privatization and demand-driven symbolic analysis
Automatic array privatization and demand-driven symbolic analysis
Compiling for distributed memory multiprocessors based on access region analysis
Compiling for distributed memory multiprocessors based on access region analysis
Simplification of array access patterns for compiler optimizations
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Dependence Analysis
Fundamentals of Computer Alori
Fundamentals of Computer Alori
Parallel Programming with Polaris
Computer
An Empirical Study of Fortran Programs for Parallelizing Compilers
IEEE Transactions on Parallel and Distributed Systems
An Implementation of Interprocedural Bounded Regular Section Analysis
IEEE Transactions on Parallel and Distributed Systems
Exact versus Approximate Array Region Analyses
LCPC '96 Proceedings of the 9th International Workshop on Languages and Compilers for Parallel Computing
Interprocedural Array Region Analyses
LCPC '95 Proceedings of the 8th International Workshop on Languages and Compilers for Parallel Computing
Experimental Study of Compiler Techniques for NUMA Machines
IPPS '98 Proceedings of the 12th. International Parallel Processing Symposium on International Parallel Processing Symposium
Symbolic analysis techniques for effective automatic parallelization
Symbolic analysis techniques for effective automatic parallelization
Interprocedural parallelization using memory classification analysis
Interprocedural parallelization using memory classification analysis
Estimating cache misses and locality using stack distances
ICS '03 Proceedings of the 17th annual international conference on Supercomputing
Exposing Memory Access Regularities Using Object-Relative Memory Profiling
Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization
Efficient and effective array bound checking
ACM Transactions on Programming Languages and Systems (TOPLAS)
Towards automatic translation of OpenMP to MPI
Proceedings of the 19th annual international conference on Supercomputing
A class of polynomially solvable range constraints for interval analysis without widenings
Theoretical Computer Science - Tools and algorithms for the construction and analysis of systems (TACAS 2004)
Compiler Optimizations to Reduce Security Overhead
Proceedings of the International Symposium on Code Generation and Optimization
Proceedings of the 15th international conference on Parallel architectures and compilation techniques
Memory Protection through Dynamic Access Control
Proceedings of the 39th Annual IEEE/ACM International Symposium on Microarchitecture
Automatic nonblocking communication for partitioned global address space programs
Proceedings of the 21st annual international conference on Supercomputing
Sensitivity analysis for automatic parallelization on multi-cores
Proceedings of the 21st annual international conference on Supercomputing
An exact data dependence testing method for quadratic expressions
Information Sciences: an International Journal
Performance portable optimizations for loops containing communication operations
Proceedings of the 22nd annual international conference on Supercomputing
Automatic Discovery of Coarse-Grained Parallelism in Media Applications
Transactions on High-Performance Embedded Architectures and Compilers I
Compiling Python to a hybrid execution environment
Proceedings of the 3rd Workshop on General-Purpose Computation on Graphics Processing Units
Handling task dependencies under strided and aliased references
Proceedings of the 24th ACM International Conference on Supercomputing
An automated approach to improve communication-computation overlap in clusters
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Scalable array SSA and array data flow analysis
LCPC'05 Proceedings of the 18th international conference on Languages and Compilers for Parallel Computing
A tool to display array access patterns in OpenMP programs
PARA'04 Proceedings of the 7th international conference on Applied Parallel Computing: state of the Art in Scientific Computing
A hybrid approach of OpenMP for clusters
Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming
LCPC'09 Proceedings of the 22nd international conference on Languages and Compilers for Parallel Computing
Proceedings of the 9th conference on Computing Frontiers
Logical inference techniques for loop parallelization
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
Financial software on GPUs: between Haskell and Fortran
Proceedings of the 1st ACM SIGPLAN workshop on Functional high-performance computing
Hardware-software coherence protocol for the coexistence of caches and local memories
SC '12 Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis
Hierarchical pointer analysis for distributed programs
SAS'07 Proceedings of the 14th international conference on Static Analysis
ACM Transactions on Design Automation of Electronic Systems (TODAES)
A scalable and near-optimal representation of access schemes for memory management
ACM Transactions on Architecture and Code Optimization (TACO)
Hi-index | 0.00 |
A number of existing compiler techniques hinge on the analysis of array accesses in a program. The most important task in array access analysis is to collect the information about array accesses of interest and summarize it in some standard form. Traditional forms used in array access analysis are sensitive to the complexity of array subscripts; that is, they are usually quite accurate and efficient for simple array subscripting expressions, but lose accuracy or require potentially expensive algorithms for complex subscripts. Our study has revealed that in many programs, particularly numerical applications, many access patterns are simple in nature even when the subscripting expressions are complex. Based on this analysis, we have developed a new, general array region representational form, called the linear memory access descriptor (LMAD). The key idea of the LMAD is to relate all memory accesses to the linear machine memory rather than to the shape of the logical data structures of a programming language. This form helps us expose the simplicity of the actual patterns of array accesses in memory, which may be hidden by complex array subscript expressions. Our recent experimental studies show that our new representation simplifies array access analysis and, thus, enables efficient and accurate compiler analysis.