no call stack information #2

no call stack information #2


I am running i7 Haswell architecture and I don't see "call stack information" in analysis as I had for Core2 in VTune.

Am I doing something wrong, or this architecture simply doesn't support this in hardware counters?

My config: Win 8.1 x64, project c++0x x64, ICC 14 SP1 update 2, VTune the latest to date.

16 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.


Maybe your code has inlined functions?


iliyapolak escribió:

Maybe your code has inlined functions?

Yes, indeed, and IPO is AFAIK inline-ing functions where it is possible.

Though ICC will NOT inline functions if there are inline specifications, when the inlineing will be counter-productive.

I mean the case when I use VTuune inside of MSVC 2013 integration. I get for my Haswell few analysis, but in GUI there are no "collect stacks",

I mean before running the program.


Try to disable optimization and rerun the VTune.

I do not think if resolving function calls could be dependend on specifc CPU counters.

My comments are:

1. If you are using general-exploration analysis and want to see call stack info, you have to add option "-knob enable-stack-collect=true". This is not a default enabled option.

2. You can use optimization, but read this article.

@Peter Wang (Intel)

re 1. ICC is complaining about "/Qknob enable-stack-collect=true" being obsolete and will be removed in future

re 2. I need IPO optimization

The problem is, when I was on Core2 platform, in IDE's VTune GUI I could hit check box "collect stacks". Now I am on i7 Haswell, and I cannot do such thing. I worked around the problem by copying "advanced hostspots" to "custom analysis", and then I have option to collect stack. Inline'd functions are okay for me (when collecting stack informations).

But this is a bit tricky, I wish I could do it in IDE easily, without creating new custom analysis.

Maybe a feature request...?

There are check boxes for "collect stack" on GUI, my box is Haswell processor. Are you using latest VTune Amplifier XE 2013 Update 16?



Downloadimage/png call-stack.png61.86 KB

nevermind, I have just noticed it collects stack by default.

Another problem is, "advanced hotspots" analysis stops collecting hardware events after exactly 70 seconds. In the GUI the time counter stops increasing and button to mark timeline is inactive. When the process exits, there is only first 70 seconds to examine.

Collecting stack is not default option, when you start a new analysis, for example, advanced-hotspots.

Collector will stop if you set Duration. Otherwise Collector will stop only the process exits.

But I do think the option is "sticky."  Once you select stacks in Advanced Hotspots and run a collection, the next time you open up the Advanced Hotspots analysis type, stacks will be selected.  FWIW ;)


MrAnderson (Intel) escribió:

But I do think the option is "sticky."  Once you select stacks in Advanced Hotspots and run a collection, the next time you open up the Advanced Hotspots analysis type, stacks will be selected.  FWIW ;)

But where I can enable such option? I always do "Advanced Hotspots", whether I  do or not optimization/ilining, I get an error without stack information.

PS:: I am attaching VTune conf.Descargartext/plain My Amplifier XE Results - Recorder7_Processor.amplxeproj.txtDescargartext/plain My Amplifier XE Results - Recorder7_Processor.amplxeproj.txt


Using option "-knob collection-detail=stack-sampling" for advanced-hotspots analysis.

Using option "-g -O0" to disable inline function, or using "-O2 -g -inline-debug-info" enables inline function and keep symbol info (function name in report).

Leave a Comment

Please sign in to add a comment. Not a member? Join today