• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

Evaluation Of Programs And Parallelizing Compilers Using Dynamic Analysis Techniques (1993)

by Paul Marx Petersen
Add To MetaCart

Tools

Sorted by:
Results 1 - 10 of 13
Next 10 →

Static and Dynamic Evaluation of Data Dependence Analysis

by Paul M. Petersen, David A. Padua , 1993
"... This paper discusses the effectiveness of several dependence tests in the Perfect Benchmarks. The tests analyzed include the generalized greatest common divisor test, Banerjee's test and the Omega test. Two methods are applied. One uses only compile-time information for the analysis. The other uses ..."
Abstract - Cited by 20 (6 self) - Add to MetaCart
This paper discusses the effectiveness of several dependence tests in the Perfect Benchmarks. The tests analyzed include the generalized greatest common divisor test, Banerjee's test and the Omega test. Two methods are applied. One uses only compile-time information for the analysis. The other uses information gathered during program execution. It is shown that, for the codes considered, the Omega test improved the accuracy of the analysis by only 1% when codes are analyzed statically. Furthermore, the dynamic analysis shows that the Omega test does not improve the detected inherent parallelism.

Hardware And Software For Functional And Fine Grain Parallelism

by Carl Josef Beckmann , 1993
"... This thesis examines nonloop parallelism at both fine and coarse levels of granularity in numerical FORTRAN programs. Measurements of the extent of this functional parallelism in a number of FORTRAN codes are presented, as well as compiler and run-time algorithms designed to exploit it. Hardware and ..."
Abstract - Cited by 17 (1 self) - Add to MetaCart
This thesis examines nonloop parallelism at both fine and coarse levels of granularity in numerical FORTRAN programs. Measurements of the extent of this functional parallelism in a number of FORTRAN codes are presented, as well as compiler and run-time algorithms designed to exploit it. Hardware and software embodiments of the dynamic scheduling algorithms are developed, along with the compiler optimizations necessary to make these practical. The impact of fine grain functional parallelism on instruction-level archictecture is explored, and it is shown that dynamic instruction scheduling hardware based on the functional parallelism scheduling algorithms can yield a significant improvement over static scheduling on conventional RISC processors when the latency of memory accesses is highly variable. Measurements of the characteristics of a set of FORTRAN benchmark programs indicates that such a hardware realization is feasible in practice. iii TABLE OF CONTENTS CHAPTER PAGE 1 INTRODUC...

Parallel Programming and Performance Evaluation with The Ursa Tool Family

by Insung Park, Michael Voss, Brian Armstrong, Rudolf Eigenmann - International Journal of Parallel Programming
"... This paper contributes to the solution of several open problems with parallel programming tools and their integration with performance evaluation environments. First, we propose interactive compilation scenarios instead of the usual black-box-oriented use of compiler tools. In such scenarios, inform ..."
Abstract - Cited by 12 (10 self) - Add to MetaCart
This paper contributes to the solution of several open problems with parallel programming tools and their integration with performance evaluation environments. First, we propose interactive compilation scenarios instead of the usual black-box-oriented use of compiler tools. In such scenarios, information gathered by the compiler and the compiler's reasoning are presented to the user in meaningful ways and on-demand. Second, a tight integration of compilation and performance analysis tools is advocated. Many of the existing, advanced instruments for gathering performance results are being used in the presented environment and their results are combined in integrated views with compiler information and data from other tools. Initial instruments that assist users in "data mining" this information are presented and the need for much stronger facilities is explained. The Ursa Family provides two tools addressing these issues. Ursa Minor supports a group of users at a specific site, such as ...

Practical Tools for Optimizing Parallel Programs

by Rudolf Eigenmann, Patrick McClaughry - Presented at the 1993 SCS Multiconference , 1993
"... This paper describes a set of tools that help a programmer to be more efficient in optimizing scientific programs for a parallel computer. The design of these tools emerged from experience gained during a successful optimization effort on a set of representative supercomputer application codes. We h ..."
Abstract - Cited by 12 (6 self) - Add to MetaCart
This paper describes a set of tools that help a programmer to be more efficient in optimizing scientific programs for a parallel computer. The design of these tools emerged from experience gained during a successful optimization effort on a set of representative supercomputer application codes. We have developed a number of utilities that complement available Unix tools. Additional tools offer a higher degree of interactivity; they are currently built into the Emacs editor. The new tools mainly facilitate two development phases that were identified as time-consuming in the parallel programming project: The process of creating and maintaining a consistent set of experimental program variants and the analysis and interpretation of compilation and performance results. 1 Introduction 1.1 Two related motivations The initiative to invest in a tool design effort came from the need for tools in our project. The goal of the project was to optimize a large set of real applications for the Alli...

Max/P: Detecting the Maximum Parallelism in a Fortran Program

by Seon Wook Kim, Rudolf Eigenmann , 1997
"... Max/P is a tool that handles the instrumented and execution of Fortran programs to calculate inherent parallelism. The tool also calculates the effects of induction variables on the inherent parallelism. In addition to operation-level parallelism, the loop and routine level summaries are available. ..."
Abstract - Cited by 8 (6 self) - Add to MetaCart
Max/P is a tool that handles the instrumented and execution of Fortran programs to calculate inherent parallelism. The tool also calculates the effects of induction variables on the inherent parallelism. In addition to operation-level parallelism, the loop and routine level summaries are available. This report describes how to use Max/P and what information is available from Max/P in a real application like SPECseis96.

Interprocedural Analyses of Fortran Programs

by Béatrice Creusillet, François Irigoin - Parallel Computing , 1997
"... Interprocedural analyses (IPA) are becoming more and more common in commercial compilers. But research on the analysis of Fortran programs is still going on, as a number of problems are not yet satisfactorily solved and others are emerging with new language dialects. This paper presents a survey ..."
Abstract - Cited by 6 (0 self) - Add to MetaCart
Interprocedural analyses (IPA) are becoming more and more common in commercial compilers. But research on the analysis of Fortran programs is still going on, as a number of problems are not yet satisfactorily solved and others are emerging with new language dialects. This paper presents a survey of the main interprocedural analysis techniques, with an emphasis on the suitability of the analysis framework for the characteristics of the original semantic problem. Our experience with the pips interprocedural compiler workbench is then described. pips includes a make-like mechanism, PipsMake, which takes care of the interleavings between top-down and bottom-up analyses and allows a quick prototyping of new interprocedural analyses. Intensive summarization is used to reduce storage requirements and achieve reasonable analysis times when dealing with real-life applications. The speed/accuracy tradeoffs made for pips are discussed in the light of other interprocedural tools. Key ...

A Methodology for Scientific Benchmarking with Large-Scale Applications

by Brian Armstrong, Rudolf Eigenmann , 2001
"... The long-term goal of the project described in this paper is to facilitate the use of realistic, large-scale applications in performance evaluation projects. In prior work we have contributed to the creation of a new benchmark suite, called SPEChpc. Here, we introduce a methodology that will (1) ..."
Abstract - Cited by 4 (2 self) - Add to MetaCart
The long-term goal of the project described in this paper is to facilitate the use of realistic, large-scale applications in performance evaluation projects. In prior work we have contributed to the creation of a new benchmark suite, called SPEChpc. Here, we introduce a methodology that will (1) help researchers understand the behavior with these large-scale applications, and (2) will guide the benchmark developers in characterizing a new application from a comprehensive and consistent set of perspectives. We will illustrate the proposed methodology by characterizing the Seismic benchmark of the SPEChpc suite.

Interactive Compilation and Performance Analysis with Ursa Minor

by Ursa Minor, Insung Park, Michael Voss, Brian Armstrong, Rudolf Eigenmann - In Workshop of Languages and Compilers for Parallel Computing
"... . This paper proposes solutions to two important problems with parallel programming environments that were not previously addressed. The first issue is that current compilers are typically black-box tools with which the user has little interaction. Information gathered by the compiler, although pote ..."
Abstract - Cited by 4 (4 self) - Add to MetaCart
. This paper proposes solutions to two important problems with parallel programming environments that were not previously addressed. The first issue is that current compilers are typically black-box tools with which the user has little interaction. Information gathered by the compiler, although potentially very meaningful for the user, is often inaccessible or hard to decipher. Second, compilation and performance analysis tools are not well integrated. While there are many advanced instruments for gathering and browsing performance results of a program, it is difficult to relate this information to the source program, to the applied program transformations, and to the compiler's reasoning. The Ursa Minor tool addresses these issues. The tool is designed to help understand the structure of a program and the information gathered by a compiler in an interactive way. It facilitates the comparison of performance results under different environments and the identification of potential parall...

Ursa Major: Exploring Web Technology for Design and Evaluation of High-Performance Systems

by Insung Park, Rudolf Eigenmann , 1998
"... . Ursa Major is a Web-based tool that facilitates the gathering of information about program characteristics and their execution behavior on high-performance machines. It supports users who want to learn about programs and programming methodologies as well as users who want to study in detail comput ..."
Abstract - Cited by 4 (4 self) - Add to MetaCart
. Ursa Major is a Web-based tool that facilitates the gathering of information about program characteristics and their execution behavior on high-performance machines. It supports users who want to learn about programs and programming methodologies as well as users who want to study in detail computational applications and their performance aspects. We present early experiences with Ursa Major and our vision of how the new internet technology and its combination with high-performance computing systems can be put to maximal use. 1 Introduction Motivation: Parallel high-performance machines are becoming mainstream technology. This is especially true for Shared-Memory Parallel machines (SMPs), which range from dual-Pentium home computers to large enterprise servers. Adequate user interfaces are very important for such systems and their everincreasing user community. One way to provide the necessary support is to equip SMPs with parallelizing compilers [BEH + 94, HAA + 96], which hand...

Autoscheduling in a Shared Memory Multiprocessor

by Jose E. Moreira, Constantine D. Polychronopoulos
"... This paper describes the implementation of autoscheduling on shared memory multiprocessors. Autoscheduling is a model of computation that provides efficient support for multiprocessing and multiprogramming in a general purpose multiprocessor by exploiting parallelism at different levels of granulari ..."
Abstract - Cited by 3 (0 self) - Add to MetaCart
This paper describes the implementation of autoscheduling on shared memory multiprocessors. Autoscheduling is a model of computation that provides efficient support for multiprocessing and multiprogramming in a general purpose multiprocessor by exploiting parallelism at different levels of granularity. The vehicle for implementing autoscheduling is the hierarchical task graph (HTG), an intermediate program representation that encapsulates the information on control and data dependencesat all levels. In this paper we discuss the fundamentals of autoscheduling and describe how the HTG can be used by an autoscheduling compiler to generate object code that exploits the parallelism present in the program. We also discuss several implementations issues for autoscheduling in shared memory processors. Validation and performance measurements of the autoscheduled code are accomplished by means of an instruction-level multiprocessor simulator. Our results show that autoscheduling can effectively ...
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2010 The Pennsylvania State University