Improving data locality with loop transformations
In the past decade, processor speed has become significantly faster than memory speed.
Small, fast cache memories are designed to overcome this discrepancy, but they are only …
Small, fast cache memories are designed to overcome this discrepancy, but they are only …
Improvements to graph coloring register allocation
P Briggs, KD Cooper, L Torczon - ACM Transactions on Programming …, 1994 - dl.acm.org
We describe two improvements to Chaitin-style graph coloring register allocators. The first,
optimistic coloring, uses a stronger heuristic to find ak-coloring for the interference graph …
optimistic coloring, uses a stronger heuristic to find ak-coloring for the interference graph …
Maximizing multiprocessor performance with the SUIF compiler
This article describes automatic parallelization techniques in the SUIF (Stanford University
Intermediate Format) compiler that result in good multiprocessor performance for array …
Intermediate Format) compiler that result in good multiprocessor performance for array …
Flashback: A lightweight extension for rollback and deterministic replay for software debugging
SM Srinivasan, S Kandula, CR Andrews… - USENIX annual technical …, 2004 - usenix.org
Software robustness has significant impact on system availability. Unfortunately, finding
software bugs is a very challenging task because many bugs are hard to reproduce. While …
software bugs is a very challenging task because many bugs are hard to reproduce. While …
Compiler optimizations for improving data locality
In the past decade, processor speed has become significantly faster than memory speed.
Small, fast cache memories are designed to overcome this discrepancy, but they are only …
Small, fast cache memories are designed to overcome this discrepancy, but they are only …
Semi-automatic composition of loop transformations for deep parallelism and memory hierarchies
Modern compilers are responsible for translating the idealistic operational semantics of the
source program into a form that makes efficient use of a highly complex heterogeneous …
source program into a form that makes efficient use of a highly complex heterogeneous …
Putting polyhedral loop transformations to work
We seek to extend the scope and efficiency of iterative compilation techniques by searching
not only for program transformation parameters but for the most appropriate transformations …
not only for program transformation parameters but for the most appropriate transformations …
SUIF Explorer: an interactive and interprocedural parallelizer
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 …
systems in minimizing the number of lines of code that require programmer assistance. First …
13 Programming Paradigms and Beyond
Programming is central to computing. It is both the practical tool that actually puts the power
of computing to work and a source of intellectual stimulation and beauty. Therefore …
of computing to work and a source of intellectual stimulation and beauty. Therefore …
ReEnact: Using thread-level speculation mechanisms to debug data races in multithreaded codes
While removing software bugs consumes vast amounts of human time, hardware support for
debugging in modern computers remains rudimentary. Fortunately, we show that …
debugging in modern computers remains rudimentary. Fortunately, we show that …