Allocating Independent Subtasks on Parallel Processors
IEEE Transactions on Software Engineering
Bulldog: a compiler for VLSI architectures
Bulldog: a compiler for VLSI architectures
Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Advanced compiler optimizations for supercomputers
Communications of the ACM - Special issue on parallelism
Computing the volume is difficult
STOC '86 Proceedings of the eighteenth annual ACM symposium on Theory of computing
Direct parallelization of call statements
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Automatic translation of FORTRAN programs to vector form
ACM Transactions on Programming Languages and Systems (TOPLAS)
Guided self-scheduling: A practical scheduling scheme for parallel supercomputers
IEEE Transactions on Computers
Semantic parallelization: a practical exercise in abstract interpretation
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Journal of the ACM (JACM)
Computer algebra: systems and algorithms for algebraic computation
Computer algebra: systems and algorithms for algebraic computation
Introducing symbolic problem solving techniques in the dependence testing phases of a vectorizer
ICS '88 Proceedings of the 2nd international conference on Supercomputing
Vectorizing compilers: a test suite and results
Proceedings of the 1988 ACM/IEEE conference on Supercomputing
Compiling issues for supercomputers
Proceedings of the 1988 ACM/IEEE conference on Supercomputing
Experiences using control dependence in PTRAN
Selected papers of the second workshop on Languages and compilers for parallel computing
Automatic recognition of induction variables and recurrence relations by abstract interpretation
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
A random polynomial-time algorithm for approximating the volume of convex bodies
Journal of the ACM (JACM)
Constant propagation with conditional branches
ACM Transactions on Programming Languages and Systems (TOPLAS)
Verification of sequential and concurrent programs
Verification of sequential and concurrent programs
Efficient and exact data dependence analysis
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
Finding closed-form solutions of difference equations by symbolic methods
Finding closed-form solutions of difference equations by symbolic methods
Algorithms for computer algebra
Algorithms for computer algebra
Factoring: a method for scheduling parallel loops
Communications of the ACM
A practical algorithm for exact array dependence analysis
Communications of the ACM
Proof or recursive unsolvability of Hilbert's tenth problem
American Mathematical Monthly
Numerical recipes in FORTRAN (2nd ed.): the art of scientific computing
Numerical recipes in FORTRAN (2nd ed.): the art of scientific computing
Functional parallelism: theoretical foundations and implementation
Functional parallelism: theoretical foundations and implementation
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Processor allocation and loop scheduling on multiprocessor computers
ICS '92 Proceedings of the 6th international conference on Supercomputing
American Mathematical Monthly
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
Cost analysis of logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Interprocedural analyses for programming environments
Environments and tools for parallel scientific computing
Counting solutions to Presburger formulas: how and why
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Symbolic analysis for parallelizing compilers
Symbolic analysis for parallelizing compilers
On the implementation and effectiveness of autoscheduling for shared-memory multiprocessors
On the implementation and effectiveness of autoscheduling for shared-memory multiprocessors
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
On Canonical Forms and Simplification
Journal of the ACM (JACM)
Journal of the ACM (JACM)
Journal of the ACM (JACM)
Symbolic Solution of Finite-Difference Equations
ACM Transactions on Mathematical Software (TOMS)
Some MACSYMA Programs for Solving Recurrence Relations
ACM Transactions on Mathematical Software (TOMS)
An algorithm for reduction of operator strength
Communications of the ACM
Communications of the ACM
Algebraic simplification: a guide for the perplexed
Communications of the ACM
Automatic discovery of linear restraints among variables of a program
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Loop Parallelization
Optimizing Supercompilers for Supercomputers
Optimizing Supercompilers for Supercomputers
Partitioning and Scheduling Parallel Programs for Multiprocessors
Partitioning and Scheduling Parallel Programs for Multiprocessors
Parallel Programming and Compilers
Parallel Programming and Compilers
Dependence Analysis for Supercomputing
Dependence Analysis for Supercomputing
Symbolic Logic and Mechanical Theorem Proving
Symbolic Logic and Mechanical Theorem Proving
Computers and Intractability: A Guide to the Theory of NP-Completeness
Computers and Intractability: A Guide to the Theory of NP-Completeness
An Implementation of Interprocedural Bounded Regular Section Analysis
IEEE Transactions on Parallel and Distributed Systems
Automatic Extraction of Functional Parallelism from Ordinary Programs
IEEE Transactions on Parallel and Distributed Systems
Performance Analysis of Parallelizing Compilers on the Perfect Benchmarks Programs
IEEE Transactions on Parallel and Distributed Systems
On Estimating and Enhancing Cache Effectiveness
Proceedings of the Fourth International Workshop on Languages and Compilers for Parallel Computing
Symbolic Program Analysis and Optimization for Parallelizing Compilers
Proceedings of the 5th International Workshop on Languages and Compilers for Parallel Computing
FIAT: A Framework for Interprocedural Analysis and Transfomation
Proceedings of the 6th International Workshop on Languages and Compilers for Parallel Computing
Induction variables in very high level languages
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
Dependence analysis for subscripted variables and its application to program transformations
Dependence analysis for subscripted variables and its application to program transformations
Interprocedural symbolic analysis
Interprocedural symbolic analysis
Compile-time minimisation of load imbalance in loop nests
ICS '97 Proceedings of the 11th international conference on Supercomputing
Efficient Symbolic Analysis for Parallelizing Compilers and Performance Estimators
The Journal of Supercomputing
High-level semantic optimization of numerical codes
ICS '99 Proceedings of the 13th international conference on Supercomputing
Symbolic Cache Analysis for Real-Time Systems
Real-Time Systems - Special issue on worst-case execution-time analysis
A Unified Symbolic Evaluation Framework for Parallelizing Compilers
IEEE Transactions on Parallel and Distributed Systems
ICS '01 Proceedings of the 15th international conference on Supercomputing
Monotonic evolution: an alternative to induction variable substitution for dependence analysis
ICS '01 Proceedings of the 15th international conference on Supercomputing
Array form representation of idiom recognition system for numerical programs
Proceedings of the 2001 conference on APL: an arrays odyssey
Simple and effective array prefetching in Java
JGI '02 Proceedings of the 2002 joint ACM-ISCOPE conference on Java Grande
A Compile-Time Partitioning Strategy for Non-Rectangular Loop Nests
IPPS '97 Proceedings of the 11th International Symposium on Parallel Processing
Interprocedural Symbolic Evaluation of Ada Programs with Aliases
Ada-Europe '99 Proceedings of the 1999 Ada-Europe International Conference on Reliable Software Technologies
Efficient Dependence Analysis for Java Arrays
Euro-Par '01 Proceedings of the 7th International Euro-Par Conference Manchester on Parallel Processing
ACM Transactions on Programming Languages and Systems (TOPLAS)
A unified framework for nonlinear dependence testing and symbolic analysis
Proceedings of the 18th annual international conference on Supercomputing
Object-Distribution Analysis for Program Decomposition and Re-Clustering
IPDPS '05 Proceedings of the 19th IEEE International Parallel and Distributed Processing Symposium (IPDPS'05) - Workshop 13 - Volume 14
A novel approach for partitioning iteration spaces with variable densities
Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming
Interprocedural parallelization analysis in SUIF
ACM Transactions on Programming Languages and Systems (TOPLAS)
International Journal of Parallel Programming
STLlint: lifting static checking from languages to libraries
Software—Practice & Experience
A general approach for partitioning N-dimensional parallel nested loops with conditionals
Proceedings of the eighteenth annual ACM symposium on Parallelism in algorithms and architectures
Proceedings of the 15th international conference on Parallel architectures and compilation techniques
An empirical evaluation of chains of recurrences for array dependence testing
Proceedings of the 15th international conference on Parallel architectures and compilation techniques
Proceedings of the 44th annual Southeast regional conference
The design and development of ZPL
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Sensitivity analysis for automatic parallelization on multi-cores
Proceedings of the 21st annual international conference on Supercomputing
Designer-controlled generation of parallel and flexible heterogeneous MPSoC specification
Proceedings of the 44th annual Design Automation Conference
Cache-aware iteration space partitioning
Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming
Towards optimisation of openMP codes for synchronisation and data reuse
International Journal of High Performance Computing and Networking
XARK: An extensible framework for automatic recognition of computational kernels
ACM Transactions on Programming Languages and Systems (TOPLAS)
Flow-Sensitive Loop-Variant Variable Classification in Linear Time
Languages and Compilers for Parallel Computing
Cache-aware partitioning of multi-dimensional iteration spaces
SYSTOR '09 Proceedings of SYSTOR 2009: The Israeli Experimental Systems Conference
Synchronization optimizations for efficient execution on multi-cores
Proceedings of the 23rd international conference on Supercomputing
Advanced symbolic analysis for compilers: new techniques and algorithms for symbolic program analysis and optimization
Induction variable analysis without idiom recognition: beyond monotonicity
LCPC'01 Proceedings of the 14th international conference on Languages and compilers for parallel computing
Scalable array SSA and array data flow analysis
LCPC'05 Proceedings of the 18th international conference on Languages and Compilers for Parallel Computing
Parallelizing user-defined and implicit reductions globally on multiprocessors
ACSAC'06 Proceedings of the 11th Asia-Pacific conference on Advances in Computer Systems Architecture
An incremental compilation approach for OpenMP applications
NPC'05 Proceedings of the 2005 IFIP international conference on Network and Parallel Computing
Symbolic analysis of imperative programming languages
JMLC'06 Proceedings of the 7th joint conference on Modular Programming Languages
Induction variable analysis with delayed abstractions
HiPEAC'05 Proceedings of the First international conference on High Performance Embedded Architectures and Compilers
A geometric approach for partitioning n-dimensional non-rectangular iteration spaces
LCPC'04 Proceedings of the 17th international conference on Languages and Compilers for High Performance Computing
Automatic parallelization using the value evolution graph
LCPC'04 Proceedings of the 17th international conference on Languages and Compilers for High Performance Computing
Performance analysis of symbolic analysis techniques for parallelizing compilers
LCPC'02 Proceedings of the 15th international conference on Languages and Compilers for Parallel Computing
A symbolic analysis framework for static analysis of imperative programming languages
Journal of Systems and Software
Hi-index | 0.00 |
The notion of dependence captures that most important properties of a program for efficient execution on parallel computers. The dependence structure of a program defines that necessary constraints of the order of execution of the program components and provides sufficient information for the exploitation of the available parallelism. Static discovery and management of the dependence structure of programs save a tremendous amount of execution time, and dynamic utilization of dependence information results in a significant performance gain on parallel computers. However, experiments with parallel computers indicate that existing multiprocessing environments are unable to deliver the desired performance over a wide range of real applicatins, mainly due to lack of precision of their dependence information. This calls for an effective compilation scheme capable of understanding the dependence structure of complicated application programs. This article describes a methodology for capturing analyzing program properties that are essential in the effective detection and efficient exploitation of parallelism on parallel computers. Based on this methodology, a symbolic analysis framework is developed for the Parafrase-2 parallelizing compiler. This framework extends the scope of a variety of important program analysis problems and solves them in a unified way. The attained solution space of these problems is much larger than that handled by existing compiler technology. Such a powerful approach is required for the effective compilation of a large class of application programs. programs.