Software Archive
Read-only legacy content
17060 Discussions

No symbols in VTune for offloaded application

David_O_1
Beginner
365 Views

I am collecting a VTune profile for an offloaded program in the following manner:

amplxe-cl -collect knc-hotspots -source-search-dir /home/dozog/myapp/src -search-dir /home/dozog/myapp/src -result-dir ./test-offload -- ../../src/a.out

The results are generated, but no function names are included, so the profile is mostly useless.  I've tested the same program in native mode, and symbols are linked in correctly.  I've also tested host-only, and all symbols are included.  Any idea what is wrong with the offload case?  How do I fix the problem?  Thanks.

0 Kudos
2 Replies
robert-reed
Valued Contributor II
365 Views

Hmmmmm.  That's odd.  I know I have been able to resolve symbols in VTune Amplifier on offloaded applications in the past, and your amplxe-cl invocation line looks reasonable at first glance.  I suppose some bug might have crept into the tools since the last time I tried it.  Can you share what compiler and VTune Amplifier versions you were using when you observed this?  I have a little offload app I use for basic function testing that I'll give a try with the latest and greatest releases, to see whether I can spot a regression.  And I'll close this note with a standard sanity check: you report success with the native version so I will assume that you didn't forget the -g when compiling the offload version.

0 Kudos
robert-reed
Valued Contributor II
365 Views

Double Hmmmm.  I dug up an old test I wrote, that exercises ALL the supported parallelism libraries on the coprocessor via offload.  I collected knc-hotspots on this running app (using amplxe-gui but amplxe-cl should give the same results) and I enhanced the collection of binary file searches to include the compiler runtimes plus the MPSS symbols, and generated a display that I captured below.  All those other libraries seemed to resolve their symbols, but since you didn't include them in your test, I filtered down to just my mainline for the screen shot below (selecting the MICtest module in the filters section).  You'll note in that list that both internal symbols (e.g., serial_ave and cilk_ave) and major parallel loops (fomp_ave$omp$parallel_for@186) are showing up in the Bottom-Up listing seen below.  These results were from compiling with Intel Composer XE 2013 SP1 Update 3 and VTune Amplifier XE 2013 Update 17.  I'm also running on a system using MPSS 3.3, which is the latest MPSS release.

offload-symbols.PNG

If you are using different versions than these, share those versions and I can try that combination, but I suspect more strongly now that there is yet some unidentified error in your configuration that is leading to the result that you see.

 

0 Kudos
Reply