Analyzers
Talk to fellow users of Intel Analyzer tools (Intel VTune™ Profiler, Intel Advisor)
4975 Discussions

Using VTune to count (rather than sample)

demianmnave
Beginner
1,208 Views
Let's say I am interested in counting the overall number of L1 I- and D-cache misses experienced by my application, and let's assume that my platform is a "standard" PIII (733MHz variety).

Can I use VTune to do this accurately? For example, would setting the sampling rate longer than my program's execution do the trick?

Thanks for your help,
Demian M. Nave

Pittsburgh Supercomputing Center
Carnegie Mellon University
Pittsburgh, PA 15213
dnave@psc.edu
0 Kudos
2 Replies
Daniel_B_Intel2
Employee
1,208 Views
Demian,

The way you propose to do it (setting the duration longer then yours program execution) will work.

Just take into account that you'll get so called "calibrations" runs (see more about the callibration in help).
The number of calibration runs depends on events and its number you chose, as well on the processor you use.

So if you program takes a long time to run you might prefer to switch to the mode without calibration.

To run sampling collection on the whole session of your program and eliminate calibration runs set the duration of the activity to zero (use the switch "-d 0") and "-cal no" option to the sampling collector.
See the example of the command line:

vtl activity -c sampling -o "-cal no" -app netscape,/opt/intel/vtune/doc/users_guide/index.htm -d 0 run


That command will run sampling collection with default settings (except the calibration) for the default events on Netscape application, that will open the html file with help for VTune Performance Environment. (Here you can find more info about the calibration and sample after). In this activity run the default values for sample after will be used. Generally speaking you have to provide the sample after values, when you do not use the calibration.

vtl view

will show your the total count of events you used in the last activity run.

To see what are the default setting for sampling collector are dump them to some file (e.g. /tmp/dss):
vtl query -c sampling -dof /tmp/dss

and investigate it.

You can prepare your own setting files (use the example of the dumped one). To use the prepared setting files use the "-of" flag for activity:

vtl activity -c sampling -of /tmp/your_setting_file -app netscape,/opt/intel/vtune/doc/users_guide/index.htm -d 0 run



Daniel
0 Kudos
Aaron_L_Intel
Employee
1,208 Views
I'd like to add just a bit to Daniel's excellent response.

In the "vtl activity", line, Daniel added "-d 0". This indicates that the Activity should have a duration of 0, meaning that it has no duration. It will run until the application exits or the Activity is manually stopped using the Activity Controller (for more information, type ActivityController -help or man ActivityController). Stopping the Activity using the Activity Controller will also cause the application to be terminated.

Turning off calibration (-o "-cal no") is necessary in the case where the duration is set to zero.

If you don't want sampling to stop until the application has exited, then the only sure way to do this is by using a duration of zero.

Aaron Levinson
0 Kudos
Reply