I am getting following warning with hardware-based profiling. According to this article I can safely ignore this warning. Please clarify if my understanding is correct.
[rmitra@INTEL6_Code]$ amplxe-cl -collect-with runsa -knob event-config=CPU_CLK_UNHALTED.CORE,CPU_CLK_UNHALTED.REF,INST_RETIRED.ANY ~/rmitra/th_fft/6_Code/myfft
Using result path `/home/rmitra/th_fft/6_Code/r017runsa'
Executing actions 34 % Resolving information for `libpthread-2.5.so'
Warning: Cannot locate symbols for file `/lib64/libpthread-2.5.so'.
Executing actions 35 % Resolving information for `ld-2.5.so'
Warning: Cannot locate symbols for file `/lib64/ld-2.5.so'.
Executing actions 50 % Generating a report
Elapsed Time: 0.013
Executing actions 100 % done
The total code run time is 0m0.312s from Linux time command.
Yes, unless you are trying to optimize those libraries and have source and symbolic information for them, you should expect to see these warning messages for system libraries.
I am not optimizing these libraries. However, I am writing a Posix thread (parallel) code which uses the functionalities (thread-to-core binding) of one of the libraries (libpthread). I am concerned that these warnings imply that the bindings are not taking place correctly & hence, influencing the measurements.
The results are showing some measurements for the multiple threads. Also, when I am viewing the activities on the "gnome-system-monitor" it looks like the threads are getting created.
Is there any way to confirm that the compiler (I am using gcc) has no problem in linking the correct library file? That the compiler is indeed getting the symbol names from the header file mentioned (pthread.h) ?
And that I can safely ignore the warnings. Please advice.
The warning actually means absence of debugging information for these libraries. The fact that libpthread.so is resolved in your result means your code goes through libpthread.so.
If you can be root or sudo on your system it is usually easy to get debugging information for system libraries - you need to download and install corresponding debuginfo package. For example, on Ubuntu you need to install libc6-dbg package, for RH use "debuginfo-install <your glibc package>". After installing right debug info package warnings should disappear.
Thanks for your reply. We have most of the pthread & C++ library warnings. However, I am still getting warnings for some *.ko libraries as follows.
Warning: Cannot locate file `sep3_8.ko'.
Warning: Cannot locate file `ide_cd.ko'.
Warning: Cannot locate file `dm_mod.ko'.
According to documentation these are the driver blobs Intel included, they do not contain the "debug symbols" internally and we did attempt to recompile one and force it to have debug symbols, but those last three I could not find "source code" to do that operation...
Looks like they are kernel modules that are definitely from Intel Vtune.
How did I get the debug symbols for these components?