[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