No symbols in VTune for offloaded application

No symbols in VTune for offloaded application

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.

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

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.

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.

image showing the exposed symbols from an offload run

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.


Leave a Comment

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