CProf cache profiling system available

david@cs.wisc.edu (David Wood)
Thu, 13 Oct 1994 15:49:34 GMT

          From comp.compilers

Related articles
CProf cache profiling system available david@cs.wisc.edu (1994-10-13)
Data Structure Reorganizing Optimizations [Was: Re: CProf cache profil glew@ichips.intel.com (1994-10-19)
Re: Data Structure Reorganizing Optimizations john@iastate.edu (1994-10-22)
Re: Data Structure Reorganizing Optimizations robertb@HING.LCS.MIT.EDU (1994-10-26)
Re: Data Structure Reorganizing Optimizations johnm@cory.EECS.Berkeley.EDU (1994-10-22)
Re: C struct Ordering Rules (Re: Data Structure Reorganizing Optimizat bart@cs.uoregon.edu (1994-10-27)
Re: Data Structure Reorganizing Optimizations stripes@uunet.uu.net (1994-10-27)
[26 later articles]
| List of all articles for this month |

Newsgroups: comp.arch,comp.compilers
From: david@cs.wisc.edu (David Wood)
Keywords: tools, available
Organization: U of Wisconsin CS Dept
Date: Thu, 13 Oct 1994 15:49:34 GMT

The current issue (October 1994) of IEEE Computer contains a paper
describing the CProf cache profiling system and how it may be applied
to optimize performance of the SPEC benchmarks.


Alvin R. Lebeck and David A. Wood, "Cache Profiling and the
SPEC Benchmarks: A Case Study," IEEE Computer, October 1994.


Unfortunately, the article fails to mention that the CProf software is
available for distribution. If you are interested in obtaining CProf,
see below for details.




Alvy Lebeck
David Wood
Computer Sciences Dept.
University of Wisconsin
1210 W. Dayton Street
Madison, WI 53706
{alvy,david}@cs.wisc.edu






What is CProf?
==============


The CProf system is a cache performance profiler that annotates source
listings to identify the source lines and data structures that cause
frequent cache misses. The CProf system contains a uniprocessor cache
simulator and an X windows user interface. CProf processes program
traces and annotates source lines and data structures with the
appropriate cache miss statistics. CProf provides a generalized X
windows interface for easy viewing of annotated source files.


CProf currently operates on traces produced by the QPT system (distributed
with CProf, see below). However, its modular design makes porting
to other tracing systems relatively simple.




Why is CProf useful?
====================


The performance of current RISC processors is very sensitive to cache
miss ratios. Programmers, compiler writers, and language designers
must explicitly consider cache behavior to fully exploit a program's
performance potential. CProf provides detailed information about a
program's cache behavior through full cache simulation. By anno-
tating lines of source code and data structures with the corresponding
number of cache misses, CProf helps the user focus on problematic data
structures and algorithms. CProf aids the programmer in identifying
types of transformations that can improve program cache behavior by
classifying cache misses as: compulsory, capacity, or conflict. We
have profiled six of the SPEC92 benchmarks and obtained speedups in
execution time ranging from 1.03 to 1.92 on a DECstation 5000/240.


TABLE 2. Execution Time Speedup at Optimization Level -O3


Program DEC 5000/125 DEC 5000/200 DEC 5000/240
------------------------------------------------------------
compress 1.56 1.30 1.92
dnasa7 1.30 1.24 1.51
eqntott 1.11 1.06 1.03
spice 1.26 1.25 1.34
tomcatv 1.47 1.28 1.60
xlisp 1.06 1.03 1.08
------------------------------------------------------------






Where can I read more about CProf?
==================================


Alvin R. Lebeck and David A. Wood, "Cache Profiling and the SPEC
Benchmarks: A Case Study," IEEE Computer, October 1994, pp. 15-26.
An earlier version of this paper appeared as Technical Report No.
1164, University of Wisconsin, revised July 1993. (A postscript
version of the technical report is available via anonymous ftp
on romano.cs.wisc.edu in ~ftp/public/CPROF/cprof.paper.ps.Z)






How can I get CProf?
====================


CProf is distributed under license as part of the WARTS distribution.
WARTS (Wisconsin Architectural Research Tool Set) is a collection of
tools for profiling and tracing programs and analyzing program
traces. WARTS currently contains:


o QPT, a program profiler and tracing system.


o CProf, a cache performance profiler.


o Tycho and dineroIII, cache simulators.


WARTS is distributed with the full source and a small amount of
documentation. The tools in WARTS are copyrighted and distributed under
license. A copy of the license is available on ftp.cs.wisc.edu in
~ftp/pub/warts-license.ps.Z or it can be obtained by writing to the
address below. WARTS is available without charge for university
researchers and is available to others for a modest research donation.
Contact warts@cs.wisc.edu for more details or to be added to the
mailing list to hear of future releases. Also, check out our web page
at http://www.cs.wisc.edu/~larus/warts.html.


Wisconsin Architectural Research Tools Set
Computer Science Dept.
University of Wisconsin
1210 W. Dayton Street
Madison, WI 53706
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.