[patch] Nested profile event names

Jules Bergmann jules at codesourcery.com
Thu Nov 2 18:12:21 UTC 2006


This patch adds support for nested profile event names in the accumulate 
mode.

Nested events occur when a high-level operations (such as vmmul) is 
implemented in terms of low-level operations (such as vmul).  In 
accumulate mode, this nesting is lost, so the profile output will have 
double booking of time shared between the two events.  In trace mode, 
this isn't a problem since the nesting is shown in the output.

This patch changes how events are recorded in accumulate so that the 
event name includes any events which it is nested in.  Double booking of 
time still occurs, but now the profile output shows which events 
occurred inside of others.  I.e. instead of vmmul and vmul events, there 
will be vmmul and vmmul:vmul events, indicating that the vmul was nested 
inside of vmmul.

This feature is controlled by a new configure option 
(--disable-profile-accum-nest-events).  It is enabled by default.  It 
has to be set at configure time (as opposed to on the command line) 
because it affects how profile.cpp is compiled.  When disabled, there is 
no overhead over the current implementation.

The patch also modifies the fmt-profile.pl script to parse the nested 
events and produce a nested pretty-printed file.

Attached is example output for the SSAR app including raw profile 
output: (3-raw.txt) and pretty-printed output: (3.txt).  Note: this is 
with the IPP backend, compiled with fast options.  However, cugel was 
loaded around ~1 - 1.5.  This is also before Don's recent patch 
optimizing fftshift.  It is interesting that of the 11 seconds in kernel 
1, most of it is being spent outside of operations that show up in the 
profile.  Perhaps this time is being spent in some of the get/put loops?

The configure option name is a bear.  Any suggestions? 
--disable-nested-event-names?

Don, OK to commit?

				-- Jules


-- 
Jules Bergmann
CodeSourcery
jules at codesourcery.com
(650) 331-3385 x705
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 4-raw.txt
URL: <http://sourcerytools.com/pipermail/vsipl++/attachments/20061102/c23177ed/attachment.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 4.txt
URL: <http://sourcerytools.com/pipermail/vsipl++/attachments/20061102/c23177ed/attachment-0001.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: nested-events.diff
URL: <http://sourcerytools.com/pipermail/vsipl++/attachments/20061102/c23177ed/attachment.ksh>


More information about the vsipl++ mailing list