Next:
List of Figures
Up:
Thesis: Selecting better performing
Previous:
Acknowledgments
Contents
Acknowledgments
List of Figures
List of Tables
Introduction
Quasistatic Computing
Smart Compilers & Clever Compilers
Quasistatic Constructs
Quasistatic Variables and qif-qelse Statements
Sorting
Hardware Assist
Quasistatic Parameters and qinfluence Statements
Matrix Multiplication
Load Balancing
Justification
C language.
Sufficiency.
Simplicity.
Implementation
Compiler Selection
Parsing Constructs
Construct Interactions
Profiling
Overhead for Existing Mechanisms
Real-Time Stopwatches
Actual Instrumentation
Selecting Alternatives
Experimentation Frequency
Space Searching
Decision Implementation
System Integration
Examples
eqntott (SPECint92)
Attacking qsort()
Attacking cmppt()
Other approaches.
Matrix Manipulations
Special Forms
Blocking
Conclusions
Related Work
Practicality Issues
Program distribution.
Compiler availability.
Debugging and testing.
Future Work
Bug Fixes
Multiple source code files support.
Default scope for qint parameters.
Enhancements
Smarter searching.
Program context.
Cross-platform implementation, extending support to other profiling mechanisms.
Additional Research
Real-time profiling.
Constructs.
Integration
Compiler Selection Details
SUIF Output
SUIF Criteria Conformance
Source code available
Widespread use.
Competitive performance.
Cross-platform.
Ease of modification.
Profiling Mechanisms
prof --- PC Sampling
gprof --- Call Graph
pixie --- Basic Block Counting
Real Time Stopwatches
Further eqntott Transformations
Copy the table.
More mileage from each compare.
Source Code
integrate.cc
add_profiling.cc
select_alternatives.cc
Profiling Implementation
qprofiling.h
qprofiling.c
Auxillary routines
Diffs to snoot Pass
References
About this document ...
Reinventing Computing, MIT AI Lab. Author: pshuang@ai.mit.edu (Ping Huang)