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

Source/assembly code is not available

krishnabc
Beginner
882 Views

Hi,

I am very new to VTune. 

I am trying to find hotspots of my application as guided by "getting started" tutorial. When I navigate to "Bottom-up" tab, I find only <my application>.exe is listed under Thread/Function/Call Stack and no list of subroutines/procedures taking the most CPU Time. When I double click on <my application>.exe, it says "Source/assembly code is not available". Am I missing something to configure my application for VTune? Appreciate your suggestions.

Thank you in advance.

Krishna

0 Kudos
4 Replies
Peter_W_Intel
Employee
882 Views
The quick answer is that you have to build application with debug info. Add compiler options "/Zi", "/DEBUG" for windows, and add compiler option "-g" for Linux. Function name was .exe - it meant missing debug/symbol info your exe/pdb. Ensure that your symbol file / source files are locate the directory (or sub-directory) of executable, otherwise specify directories of your symbol file/source files in VTune's Project Properties on GUI. In command line, use: (for example) amplxe-cl -collect hotspots --search-dir all:rp=dir1,dir2,dir3 -result /tmp/myhotspots -- application
0 Kudos
krishnabc
Beginner
882 Views
Thank you Peter Wang for your quick and useful suggestions. Actually I had previously added the compiler option as Fortran > General > Debug Information Format as Full(/debug:full), but was missing to change the Generate Debug Info to Yes(/DEBUG) at Linker > Debugging. Now, VTune is running fine for my application. I have one more question. This is for the Fortran VTune sample example (nqueens_fortran). I am getting the longest Wait Time by Utilization (red: poor) for "Manual Reset Event 0xe8dbcd9e". What does this mean? Is there a way to resolve this issue? Thank you. Krishna
0 Kudos
Peter_W_Intel
Employee
882 Views
Thank you, Krishna. I am glad that the issue has been solved. I think that you works on Locksandwait analysis. longest WaitTime (with red:poor) for event - it meant before that event has been reset, there is no work running in threads (cores), your program wait this event reset and nothing to do. Usually you can adjust algorithm to assign some works in other threads - it doesn't depend on this event. Or you can optimize your program in other ways, for example - scope of this event, etc
0 Kudos
krishnabc
Beginner
882 Views
Thank you very much for your explanation. I think this is the part where I need some time to think about optimization.
0 Kudos
Reply