The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Interprocedural slicing using dependence graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
Seesoft-A Tool for Visualizing Line Oriented Software Statistics
IEEE Transactions on Software Engineering - Special issue on software measurement principles, techniques, and environments
Efficient accommodation of may-alias information in SSA form
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Experiences using the ParaScope Editor: an interactive parallel programming tool
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
SUIF: an infrastructure for research on parallelizing and optimizing compilers
ACM SIGPLAN Notices
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
Demand interprocedural dataflow analysis
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
Detecting coarse-grain parallelism using an interprocedural parallelizing compiler
Supercomputing '95 Proceedings of the 1995 ACM/IEEE conference on Supercomputing
An integrated compilation and performance analysis environment for data parallel programs
Supercomputing '95 Proceedings of the 1995 ACM/IEEE conference on Supercomputing
Points-to analysis in almost linear time
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Exploring Large Graphs in 3D Hyperbolic Space
IEEE Computer Graphics and Applications
Parallel Programming with Polaris
Computer
A Survey of Program Slicing Techniques.
A Survey of Program Slicing Techniques.
Software and Hardware for Exploiting Speculative Parallelism with a Multiprocessor
Software and Hardware for Exploiting Speculative Parallelism with a Multiprocessor
A graphic parallelizing environment for user-compiler interaction
ICS '99 Proceedings of the 13th international conference on Supercomputing
Evaluating Automatic Parallelization in SUIF
IEEE Transactions on Parallel and Distributed Systems
Towards an integrated, web-executable parallel programming tool environment
Proceedings of the 2000 ACM/IEEE conference on Supercomputing
Dynamically Discovering Likely Program Invariants to Support Program Evolution
IEEE Transactions on Software Engineering - Special issue on 1999 international conference on software engineering
Post-pass binary adaptation for software-based speculative precomputation
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
VISTA: a system for interactive code improvement
Proceedings of the joint conference on Languages, compilers and tools for embedded systems: software and compilers for embedded systems
A Performance Advisor Tool for Shared-Memory Parallel Programming
LCPC '00 Proceedings of the 13th International Workshop on Languages and Compilers for Parallel Computing-Revised Papers
A Preliminary Evaluation of FINESSE , a Feedback-Guided Performance Enhancement System
Euro-Par '00 Proceedings from the 6th International Euro-Par Conference on Parallel Processing
TEST: a tracer for extracting speculative threads
Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization
Finding effective optimization phase sequences
Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems
Using thread-level speculation to simplify manual parallelization
Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programming
The Jrpm system for dynamically parallelizing Java programs
Proceedings of the 30th annual international symposium on Computer architecture
Tracking pointers with path and context sensitivity for bug detection in C programs
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Journal of Systems and Software
Syntax-Directed Amorphous Slicing
Automated Software Engineering
Hybrid analysis: static & dynamic memory reference analysis
International Journal of Parallel Programming
Exposing speculative thread parallelism in SPEC2000
Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming
Trust but verify: monitoring remotely executing programs for progress and correctness
Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming
The Journal of Supercomputing
VISTA: VPO interactive system for tuning applications
ACM Transactions on Embedded Computing Systems (TECS)
An empirical study of static program slice size
ACM Transactions on Software Engineering and Methodology (TOSEM)
Parallel programming environment for OpenMP
Scientific Programming
Explaining failures of program analyses
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
A performance tuning methodology with compiler support
Scientific Programming - Large-Scale Programming Tools and Environments
Towards concurrency refactoring for x10
Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Refactoring sequential Java code for concurrency via concurrent libraries
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Extending Automatic Parallelization to Optimize High-Level Abstractions for Multicore
IWOMP '09 Proceedings of the 5th International Workshop on OpenMP: Evolving OpenMP in an Age of Extreme Parallelism
Increasing the Scope and Resolution of Interprocedural Static Single Assignment
SAS '09 Proceedings of the 16th International Symposium on Static Analysis
Optimizing programs with intended semantics
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Interfacing computer aided parallelization and performance analysis
ICCS'03 Proceedings of the 2003 international conference on Computational science
Advanced symbolic analysis for compilers: new techniques and algorithms for symbolic program analysis and optimization
Balancing thread partition for efficiently exploiting speculative thread-level parallelism
APPT'07 Proceedings of the 7th international conference on Advanced parallel processing technologies
Inferring arbitrary distributions for data and computation
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
A refactoring tool to extract GPU kernels
Proceedings of the 4th Workshop on Refactoring Tools
Kremlin: rethinking and rebooting gprof for the multicore age
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Kismet: parallel speedup estimates for serial programs
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
An incremental compilation approach for OpenMP applications
NPC'05 Proceedings of the 2005 IFIP international conference on Network and Parallel Computing
Automatic parallelization using the value evolution graph
LCPC'04 Proceedings of the 17th international conference on Languages and Compilers for High Performance Computing
An expert assistant for computer aided parallelization
PARA'04 Proceedings of the 7th international conference on Applied Parallel Computing: state of the Art in Scientific Computing
Dragon: a static and dynamic tool for OpenMP
WOMPAT'04 Proceedings of the 5th international conference on OpenMP Applications and Tools: shared Memory Parallel Programming with OpenMP
Tulipse: a visualization framework for user-guided parallelization
Euro-Par'12 Proceedings of the 18th international conference on Parallel Processing
Profiling Data-Dependence to Assist Parallelization: Framework, Scope, and Optimization
MICRO-45 Proceedings of the 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture
Integrating profile-driven parallelism detection and machine-learning-based mapping
ACM Transactions on Architecture and Code Optimization (TACO)
Hi-index | 0.01 |
The SUIF Explorer is an interactive parallelization tool that is more effective than previous systems in minimizing the number of lines of code that require programmer assistance. First, the interprocedural analyses in the SUIF system is successful in parallelizing many coarse-grain loops, thus minimizing the number of spurious dependences requiring attention. Second, the system uses dynamic execution analyzers to identify those important loops that are likely to be parallelizable. Third, the SUIF Explorer is the first to apply program slicing to aid programmers in interactive parallelization. The system guides the programmer in the parallelization process using a set of sophisticated visualization techniques.This paper demonstrates the effectiveness of the SUIF Explorer with three case studies. The programmer was able to speed up all three programs by examining only a small fraction of the program and privatizing a few variables.