Saman P. Amarasinghe

How to Do a Million Watchpoints: Efficient Debugging Using Dynamic Instrumentation (2007)

Zhao, Qin, Amarasinghe, Saman P., Rabbah, Rodric M., Rudolph, Larry, Wong, Weng Fai

Application debugging is a tedious but inevitable chore in any software development project. An effective debugger can make programmers more productive by allowing them to pause execution and inspect...

How to Do a Million Watchpoints: Efficient Debugging Using Dynamic Instrumentation (2007)

Zhao, Qin, Amarasinghe, Saman P., Rabbah, Rodric M., Rudolph, Larry, Wong, Weng Fai

Application debugging is a tedious but inevitable chore in any software development project. An effective debugger can make programmers more productive by allowing them to pause execution and inspect...

MPEG-2 in a Stream Programming Language (2005)

Drake, Matthew, Hoffmann, Hank, Rabbah, Rodric, Amarasinghe, Saman P.

Image and video codecs are prevalent in multimedia applications, ranging from embedded systems, to desktop computers, to high-end servers such as HDTV editing consoles. It is not uncommon however for...

MPEG-2 in a Stream Programming Language (2005)

Drake, Matthew, Hoffmann, Hank, Rabbah, Rodric, Amarasinghe, Saman P.

Image and video codecs are prevalent in multimedia applications, ranging from embedded systems, to desktop computers, to high-end servers such as HDTV editing consoles. It is not uncommon however for...

Modeling the Scalability of Acyclic Stream (2004)

Saman P. Amarasinghe

Despite the fact that the streaming application domain is becoming increasingly widespread, few studies have focused specifically on the performance characteristics of stream programs. We introduce...

Secure Execution Environment via Program Shepherding (2003)

Saman P. Amarasinghe

We present program shepherding, a method for monitoring control flow transfers during program execution in order to enforce a security policy. Program shepherding provides three basic techniques as...

Convergent Scheduling: A Flexibla and Extensible Scheduling Framework for Clustered VLIW Architectures (2003)

Saman P. Amarasinghe

Convergent scheduling is a general instruction scheduling framework that simpli es and facilitates the application of a multitude of arbitrary constraints and scheduling heuristics required to...

Bit-Packing Optimization for StreamIt (2003)

Agrawal, Kunal, Amarasinghe, Saman P., Wong, Weng Fai

StreamIt is a language specifically designed for modern streaming applications. A certain important class of these applications operates on streams of bits. This paper presents the motivation for a...

StreamIt: A Language and Compiler for Communication-Exposed Architectures (2003)

Thies, William, Gordon, Michael I., Karczmarek, Michal, Maze, David, Amarasinghe, Saman P.

With the increasing miniaturization of transistors, wire delays are becoming a dominant factor in microprocessor performance. To address this issue, a number of emerging architectures contain...

Increasing and Detecting Memory Address Congruence (2003)

Larsen, Samuel, Witchel, Emmett, Amarasinghe, Saman P.

A static memory reference exhibits a unique property when its dynamic memory addresses are congruent with respect to some non-trivial modulus. Extraction of this congruence information at...

Increasing and Detecting Memory Address Congruence (2003)

Larsen, Samuel, Witchel, Emmett, Amarasinghe, Saman P.

A static memory reference exhibits a unique property when its dynamic memory addresses are congruent with respect to some non-trivial modulus. Extraction of this congruence information at...

StreamIt: A Language and Compiler for Communication-Exposed Architectures (2003)

Thies, William, Gordon, Michael I., Karczmarek, Michal, Maze, David, Amarasinghe, Saman P.

With the increasing miniaturization of transistors, wire delays are becoming a dominant factor in microprocessor performance. To address this issue, a number of emerging architectures contain...

Bit-Packing Optimization for StreamIt (2003)

Agrawal, Kunal, Amarasinghe, Saman P., Wong, Weng Fai

StreamIt is a language specifically designed for modern streaming applications. A certain important class of these applications operates on streams of bits. This paper presents the motivation for a...

6.035 Computer Language Engineering (SMA 5502), Fall 2002 (2002)

Amarasinghe, Saman P., Rinard, Martin C.

Analyzes issues associated with the implementation of higher-level programming languages. Fundamental concepts, functions, and structures of compilers. The interaction of theory and practice. Using...

6.035 Computer Language Engineering (SMA 5502), Fall 2002 (2002)

Amarasinghe, Saman P., Rinard, Martin C.

Analyzes issues associated with the implementation of higher-level programming languages. Fundamental concepts, functions, and structures of compilers. The interaction of theory and practice. Using...

Efficient Pipelining of Nested Loops: Unroll-and-Squash (2002)

Darin S. Petkov, Randolph E. Harr, Saman P. Amarasinghe, Arthur C. Smith

The size and complexity of current custom VLSI have forced the use of high-level programming languages to describe hardware, and compiler and synthesis technology to map abstract designs into...

A Flexible Compilation Infrastructure for VLIW and SIMD Architectures (2001)

Saman P. Amarasinghe, David Z. Maze

Most compiler infrastructures target existing physical architectures. This creates difficulty when trying to perform architectural research: trying to simulate the effects of adding registers to a...

Code Compaction and Parallelization for VLIW/DSP Chip Architectures (2000)

Saman P. Amarasinghe, Tsvetomir P. Petrov

The Master of Engineering Thesis presented in this paper implements an assembly code optimizer for Discrete Signal Processing (DSP) or Very Long Instruction Word (VLIW) processors. The work is...

The Multiprocessor as a General-Purpose Processor: A Software Perspective (2000)

Saman P. Amarasinghe, Jennifer M. Anderson, Christopher S. Wilson, Shih-wei Liao, Mary W. Hall, Brian R. Murphy, ...

Multiprocessor systems have become common place, but little software takes advantage of their capabilities. Automatic parallelization is particularly attractive as it enables sequential code to...

Getting Performance out of Multiprocessors with the SUIF Compiler (2000)

Mary W. Hall, Jennifer M. Anderson, Saman P. Amarasinghe, Brian R. Murphy, Shih-wei Liao, Edouard Bugnion, ...

This paper presents an overview of the SUIF compiler, which automatically parallelizes and optimizes sequential programs for shared-memory multiprocessors. We describe new technology in this system...

Detecting Coarse-Grain Parallelism Using an Interprocedural Parallelizing Compiler (2000)

Mary W. Hall, Saman P. Amarasinghe, Brian R. Murphy, Shih-wei Liao, Monica S. Lam

This paper presents an extensive empirical evaluation of an interprocedural parallelizing compiler, developed as part of the Stanford SUIF compiler system. The system incorporates a comprehensive and...

Maximizing (1999)

Mary W. Hall, Jennifer M. Anderson, Saman P. Amarasinghe, Brian R. Murphy, Shih-wei Liao, Edouard Bugnion, ...

This article describes automatic parallelization techniques in the SUIF (Stanford University Intermediate Format) compiler that resuk in good mnltiprocessor performance for array-based mtmerical...

Achieving High Performance on Digital AlphaServers with the SUIF Compiler (1999)

Jennifer M. Anderson, Mary W. Hall, Saman P. Amarasinghe, Brian R. Murphy, Shih-wei Liao, Edouard Bugnion, ...

The SUIF compiler automatically parallelizes and optimizes sequential programs for shared memory multiprocessors. This paper focuses on new techniques in SUIF for locating coarse-grain parallelism...

Maximizing Multiprocessor Performance with the SUIF Compiler (1998)

Mary W. Hall, Jennifer M. Anderson, Saman P. Amarasinghe, Brian R. Murphy, Shih-wei Liao, Edouard Bugnion, ...

This paper presents an overview of the SUIF compiler, which automatically parallelizes and optimizes sequential programs for shared-memory multiprocessors. We describe new technology in this system...

Maximizing Multiprocessor Performance with the SUIF Compiler (1998)

Mary W. Hall, Jennifer M. Anderson, Saman P. Amarasinghe, Brian R. Murphy, Shih-wei Liao, Edouard Bugnion, ...

This paper presents an overview of the SUIF compiler, which automatically parallelizes and optimizes sequential programs for shared-memory multiprocessors. We describe new technology in this system...

Achieving High Performance on Digital AlphaServers with the SUIF Compiler (1998)

Jennifer M. Anderson, Mary W. Hall, Saman P. Amarasinghe, Brian R. Murphy, Shih-wei Liao, Edouard Bugnion, ...

The SUIF compiler automatically parallelizes and optimizes sequential programs for shared memory multiprocessors. This paper focuses on new techniques in SUIF for locating coarse-grain parallelism...

Interprocedural Analysis for Parallelization (1998)

Mary W. Hally, Brian R. Murphy, Saman P. Amarasinghe, Shih-wei Liao, Monica S. Lam

. This paper presents an extensive empirical evaluation of an interprocedural parallelizing compiler, developed as part of the Stanford SUIF compiler system. The system incorporates a comprehensive...

Detecting Coarse-Grain Parallelism Using an Interprocedural Parallelizing Compiler (1998)

Mary W. Hall, Saman P. Amarasinghe, Brian R. Murphy, Shih-wei Liao, Monica S. Lam

This paper presents an extensive empirical evaluation of an interprocedural parallelizing compiler, developed as part of the Stanford SUIF compiler system. The system incorporates a comprehensive and...

Overview of an Interprocedural Automatic Parallelization System (1998)

Mary W. Hall, Brian R. Murphy, Saman P. Amarasinghe, Shih-wei Liao, Monica S. Lam

We present an overview of our interprocedural analysis system, which applies the program analysis required for parallelization across procedure boundaries. We discuss the issues we addressed to...

Mary W. Hall (1998)

Mary W. Hall, Brian R. Murphy, Saman P. Amarasinghe

We present an overview of our interprocedural analysis system, which applies the program analysis required for parallelization across procedure boundaries. We discuss the issues we addressed to...

Interprocedural Analysis for Parallelization (1998)

Mary W. Hally, Brian R. Murphy, Saman P. Amarasinghe, Shih-wei Liao, Monica S. Lam

. This paper presents an extensive empirical evaluation of an interprocedural parallelizing compiler, developed as part of the Stanford SUIF compiler system. The system incorporates a comprehensive...

Data and Computation Transformations for Multiprocessors (1998)

Jennifer M. Anderson, Saman P. Amarasinghe, Monica S. Lam

Effective memory hierarchy utilization is critical to the performance of modern multiprocessor architectures. We havedeveloped the first compiler system that fully automatically parallelizes...

SUIF: An Infrastructure for Research on Parallelizing and Optimizing Compilers (1996)

Robert P. Wilson, Robert S. French, Christopher S. Wilson, Saman P. Amarasinghe, Jennifer M. Anderson, ...

Compiler infrastructures that support experimental research are crucial to the advancement of high-performance computing. New compiler technology must be implemented and evaluated in the context of a...

SUIF: An Infrastructure for Research on Parallelizing and Optimizing Compilers (1996)

Robert P. Wilson, Robert S. French, Christopher S. Wilson, Saman P. Amarasinghe, Jennifer M. Anderson, ...

Compiler infrastructures that support experimental research are crucial to the advancement of high-performance computing. New compiler technology must be implemented and evaluated in the context of a...

The Multiprocessor as a General-Purpose Processor: A Software Perspective (1996)

Saman P. Amarasinghe, Jennifer M. Anderson, Christopher S. Wilson, Shih-wei Liao, Mary W. Hall, Brian R. Murphy, ...

Multiprocessor systems have become common place, but little software takes advantage of their capabilities. Automatic parallelization is particularly attractive as it enables sequential code to...

Unified Compilation Techniques for Shared and Distributed Address Space Machines (1995)

Chau-wen Tseng, Jennifer M. Anderson, Saman P. Amarasinghe, Monica S. Lam

Parallel machines with shared address spaces are easy to program because they provide hardware support that allows each processor to transparently access non-local data. However, obtaining scalable...

Data and Computation Transformations for Multiprocessors (1995)

Jennifer M. Anderson, Saman P. Amarasinghe, Monica S. Lam

Effective memory hierarchy utilization is critical to the performance of modern multiprocessor architectures. We havedeveloped the first compiler system that fully automatically parallelizes...

Interprocedural Analysis for Parallelization (1995)

Mary W. Hally, Brian R. Murphy, Saman P. Amarasinghe, Shih-wei Liao, Monica S. Lam

. This paper presents an extensive empirical evaluation of an interprocedural parallelizing compiler, developed as part of the Stanford SUIF compiler system. The system incorporates a comprehensive...

Interprocedural Analysis for Parallelization (1995)

Mary W. Hally, Brian R. Murphy, Saman P. Amarasinghe, Shih-wei Liao, Monica S. Lam

. This paper presents an extensive empirical evaluation of an interprocedural parallelizing compiler, developed as part of the Stanford SUIF compiler system. The system incorporates a comprehensive...

Interprocedural Analysis for Parallelization (1995)

Mary W. Hally, Brian R. Murphy, Saman P. Amarasinghe, Shih-wei Liao, Monica S. Lam

. This paper presents an extensive empirical evaluation of an interprocedural parallelizing compiler, developed as part of the Stanford SUIF compiler system. The system incorporates a comprehensive...

Detecting Coarse-Grain Parallelism Using an Interprocedural Parallelizing Compiler (1995)

Mary W. Hall, Saman P. Amarasinghe, Brian R. Murphy, Shih-wei Liao, Monica S. Lam

This paper presents an extensive empirical evaluation of an interprocedural parallelizing compiler, developed as part of the Stanford SUIF compiler system. The system incorporates a comprehensive and...

Detecting Coarse-Grain Parallelism Using an Interprocedural Parallelizing Compiler (1995)

Mary W. Hall, Saman P. Amarasinghe, Brian R. Murphy, Shih-wei Liao, Monica S. Lam

This paper presents an extensive empirical evaluation of an interprocedural parallelizing compiler, developed as part of the Stanford SUIF compiler system. The system incorporates a comprehensive and...

Detecting Coarse-Grain Parallelism Using an Interprocedural Parallelizing Compiler (1995)

Mary W. Hall, Saman P. Amarasinghe, Brian R. Murphy, Shih-wei Liao, Monica S. Lam

This paper presents an extensive empirical evaluation of an interprocedural parallelizing compiler, developed as part of the Stanford SUIF compiler system. The system incorporates a comprehensive and...

Detecting Coarse-Grain Parallelism Using an Interprocedural Parallelizing Compiler (1995)

Mary W. Hall, Saman P. Amarasinghe, Brian R. Murphy, Shih-wei Liao, Monica S. Lam

This paper presents an extensive empirical evaluation of an interprocedural parallelizing compiler, developed as part of the Stanford SUIF compiler system. The system incorporates a comprehensive and...

Unified Compilation Techniques for Shared and Distributed Address Space Machines (1995)

Chau-wen Tseng, Jennifer M. Anderson, Saman P. Amarasinghe, Monica S. Lam

Parallel machines with shared address spaces are easy to program because they provide hardware support that allows each processor to transparently access non-local data. However, obtaining scalable...

Unified Compilation Techniques for Shared and Distributed Address Space Machines (1995)

Chau-wen Tseng, Jennifer M. Anderson, Saman P. Amarasinghe, Monica S. Lam

Parallel machines with shared address spaces are easy to program because they provide hardware support that allows each processor to transparently access non-local data. However, obtaining scalable...

Unified Compilation Techniques for Shared and Distributed Address Space Machines (1995)

Chau-wen Tseng, Jennifer M. Anderson, Saman P. Amarasinghe, Monica S. Lam

Parallel machines with shared address spaces are easy to program because they provide hardware support that allows each processor to transparently access non-local data. However, obtaining scalable...

Data and Computation Transformations for Multiprocessors (1995)

Jennifer M. Anderson, Saman P. Amarasinghe, Monica S. Lam

Effective memory hierarchy utilization is critical to the performance of modern multiprocessor architectures. We havedeveloped the first compiler system that fully automatically parallelizes...

Data and Computation Transformations for Multiprocessors (1995)

Jennifer M. Anderson, Saman P. Amarasinghe, Monica S. Lam

Effective memory hierarchy utilization is critical to the performance of modern multiprocessor architectures. We havedeveloped the first compiler system that fully automatically parallelizes...

Data and Computation Transformations for Multiprocessors (1995)

Jennifer M. Anderson, Saman P. Amarasinghe, Monica S. Lam

Effective memory hierarchy utilization is critical to the performance of modern multiprocessor architectures. We havedeveloped the first compiler system that fully automatically parallelizes...

Data and Computation Transformations for Multiprocessors (1995)

Jennifer M. Anderson, Saman P. Amarasinghe, Monica S. Lam

Effective memory hierarchy utilization is critical to the performance of modern multiprocessor architectures. We havedeveloped the first compiler system that fully automatically parallelizes...

SUIF: An Infrastructure for Research on Parallelizing and Optimizing Compilers (1995)

Robert P. Wilson, Robert S. French, Christopher S. Wilson, Saman P. Amarasinghe, Jennifer M. Anderson, ...

Compiler infrastructures that support experimental research are crucial to the advancement of high-performance computing. New compiler technology must be implemented and evaluated in the context of a...

An Overview of the SUIF Compiler for Scalable Parallel Machines (1994)

Saman P. Amarasinghe, Jennifer M. Anderson, Monica S. Lam, Chau-wen Tseng

We are building a compiler that automatically translates sequential scientific programs into parallel code for scalable parallel machines. Many of the compiler techniques needed to generate correct...

Interprocedural Parallelization Analysis: A Case Study (1994)

Mary W. Hall, Brian R. Murphy, Saman P. Amarasinghe

We present an overview of our interprocedural analysis system, which applies the program analysis required for parallelization across procedure boundaries. We discuss the issues we addressed to...

Mary W. Hall (1994)

Mary W. Hall, Brian R. Murphy, Saman P. Amarasinghe

We present an overview of our interprocedural analysis system, which applies the program analysis required for parallelization across procedure boundaries. We discuss the issues we addressed to...

Chapter 1 An Overview of the SUIF Compiler for Scalable Parallel Machines (1994)

Saman P. Amarasinghe, Jennifer M. Anderson, Monica S. Lam, Chau-wen Tseng

We are building a compiler that automatically translates sequential scientific programs into parallel code for scalable parallel machines. Many of the compiler techniques needed to generate correct...

Chapter 1: Interprocedural Parallelization Analysis: A Case Study (1994)

Mary W. Hall, Brian R. Murphy, Saman P. Amarasinghe

We present an overview of our interprocedural analysis system, which applies the program analysis required for parallelization across procedure boundaries. We discuss the issues we addressed to...

Chapter 1 An Overview of the SUIF Compiler for Scalable Parallel Machines (1994)

Saman P. Amarasinghe, Jennifer M. Anderson, Monica S. Lam, Chau-wen Tseng

We are building a compiler that automatically translates sequential scientific programs into parallel code for scalable parallel machines. Many of the compiler techniques needed to generate correct...

An Overview of a Compiler for Scalable Parallel Machines (1994)

Saman P. Amarasinghe, Jennifer M. Anderson, Monica S. Lam, Amy W. Lim

This paper presents an overview of a parallelizing compiler to automatically generate efficient code for large-scale parallel architectures from sequential input programs. This research focuses on...

Data Dependence and Data-Flow Analysis of Arrays (1994)

Dror E. Maydan, Saman P. Amarasinghe, Monica S. Lam

This paper proposes several analysis techniques that are useful for higher level optimizations