Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
4Activity
0 of .
Results for:
No results containing your search query
P. 1
A Portable Cache Profiler Based on Source-Level Instrumentation

A Portable Cache Profiler Based on Source-Level Instrumentation

Ratings:

4.5

(2)
|Views: 442 |Likes:
Published by Andrew
This paper describes SMAT (STL Memory Access Tracer), a portable and easy-to-use cache profiling tool in the form of a trace-driven cache simulator, with traces collected by the source-level instrumentation. The trace-generating function is implemented as an iterator adaptor compatible with the C++ Standard Template Library (STL), so it requires little or no modification of the algorithm to be profiled.

http://www.cs.rpi.edu/~musser/gp/PCP.html
This paper describes SMAT (STL Memory Access Tracer), a portable and easy-to-use cache profiling tool in the form of a trace-driven cache simulator, with traces collected by the source-level instrumentation. The trace-generating function is implemented as an iterator adaptor compatible with the C++ Standard Template Library (STL), so it requires little or no modification of the algorithm to be profiled.

http://www.cs.rpi.edu/~musser/gp/PCP.html

More info:

Published by: Andrew on Mar 08, 2007
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/08/2014

pdf

text

original

 
A Portable Cache ProfilerBased on Source-Level Instrumentation
Noboru Obata
<obatan@cs.rpi.edu><noboru@ylug.org>
David R. Musser
<musser@cs.rpi.edu>
April 25, 2003
 
Contents
1 Introduction1
1.1 Caches. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Algorithms Should Be Cache-Conscious. . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Cache Profiling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3.1 Hardware Performance Counter Based. . . . . . . . . . . . . . . . . . . . . . 31.3.2 Software Simulation Based. . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.4 STL Memory Access Tracer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 User’s Guide8
2.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2 Obtaining SMAT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.3 Example 1 — Reverse a String. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.3.1 Modifying Source for SMAT. . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.3.2 Compiling a Program with SMAT. . . . . . . . . . . . . . . . . . . . . . . . 112.3.3 Measuring Cache Performance. . . . . . . . . . . . . . . . . . . . . . . . . . 112.4 Example 2 — Finding the Minimum and Maximum Elements. . . . . . . . . . . . . 122.4.1 Detailed Cache Analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.4.2 Trace File Plotting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.4.3 Operation Counting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.5 Making the Best Use of SMAT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.5.1 Making Algorithms Analyzeable. . . . . . . . . . . . . . . . . . . . . . . . . 182.5.2 More Tips. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.6 Advanced Topics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.6.1 Disabling SMAT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.6.2 Viewing Trace Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.6.3 Changing Cache Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.6.4 More Cache Performance Information. . . . . . . . . . . . . . . . . . . . . . 222.6.5 Detailed Operation Counting. . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3 Reference Manual26
3.1 Iterator Adaptor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.1.1 Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.1.2 Class Declaration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.1.3 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.1.4 Type Definitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.1.5 Constructors, Destructors, and Related Functions. . . . . . . . . . . . . . . . 273.1.6 Public Member Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27i
 
3.1.7 Global Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.1.8 Equality and Ordering Predicates. . . . . . . . . . . . . . . . . . . . . . . . . 293.2 Difference Type Adaptor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.2.1 Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.2.2 Class Declaration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.2.3 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.2.4 Constructors, Destructors, and Related Functions. . . . . . . . . . . . . . . . 303.2.5 Public Member Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.2.6 Global Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.2.7 Equality and Ordering Predicates. . . . . . . . . . . . . . . . . . . . . . . . . 353.3 Value Type Adaptor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.3.1 Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.3.2 Class Declaration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.3.3 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.4 Pointer Type Adaptor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.4.1 Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.4.2 Class Declaration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.4.3 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.4.4 Public Member Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.5 Trace Instruction Code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.5.1 Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.5.2 Class Declaration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.5.3 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.5.4 Enumerator Constants. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.5.5 Trace Instruction Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . 393.5.6 Expression Examples and Corresponding Traces. . . . . . . . . . . . . . . . 413.6 Cache Simulator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.6.1 Synopsis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.6.2 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.6.3 Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.7 Trace File Optimizer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.7.1 Synopsis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.7.2 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.7.3 Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.8 Operation Counter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.8.1 Synopsis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.8.2 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.8.3 Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.9 Trace File Viewer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.9.1 Synopsis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.9.2 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.9.3 Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.10 Trace File Plotter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.10.1 Synopsis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.10.2 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.10.3 Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44ii

Activity (4)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
dscdscds liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->