I am using a library for linear algebra and I have compiled it with the -g flag. I also provide the path to the directory sources and also mention the search dir so that the build directories can be searched for debug symbols but I still get the warning in my Vtune output that debugging symbols cant be found for the library
amplxe: Executing actions 25 % Resolving information for `libparalution.so'
amplxe: Warning: Cannot locate debugging symbols for file `/hpc/home/rogupta/paralution-1.1.0_dbg/build/lib/libparalution.so'
My launch script looks like this
#PBS -l select=1:ncpus=20:mpiprocs=1:node_type=parallel:cpu_type=haswell
#PBS -l software=simple_exmpl_test
#PBS -e ./err_exmplv1_1mpi_1openmp_has
#PBS -o ./outpt_exmplv1_1mpi_1openmp_has
#PBS -l walltime=00:40:00
module add hpc
module add research
module add compilers/intel/16.02
module add impi/18.104.22.168
module add tools/vtune
amplxe-cl -data-limit=1500 -result-dir /hpc/home/rogupta/vtune_results/vtune_res_1_1_htsptv5_has -collect advanced-hotspots -knob collection-detail=stack-call-and-tripcount -trace-mpi -search-dir= /hpc/home/rogupta/paralution-1.1.0_dbg/src -source-search-dir=/hpc/home/rogupta/paralution-1.1.0_dbg/src mpirun -n 1 -env I_MPI_PIN_DOMAIN socket ./simple_exmpl_test /pscratch/rogupta/Aidr493k.mtx /pscratch/rogupta/rhs493k.vec 1 8
Could you please suggest how must I mention the path to vtune so that it can locate the debug sysmbols
The build directory for the PARALUTION library is in ~/paralution-1.1.0_dbg/build .
with kind regards
Where symbol file for libparalution.so is located? Full path of the directory where the symbol file is located should be passed to VTune in 'search-dir' option. For example, if symbol file is /hpc/home/rogupta/paralution-1.1.0_dbg/build/lib/libparalution.dbg, the right option is: '-search-dir=/hpc/home/rogupta/paralution-1.1.0_dbg/build/lib'.
In the build/lib directory I only see the .so file and nothing else. Like I suspected and write to Vitaly also probably that even though I have explicitly provided the -g switch (i use icpc as the compiler) the debug information is not there probably.
with kind regards
Please check your compile flags and make sure the library sources are compiled with "-g" (look on icc invocation command line). Check that there is no "objcopy --strip-debug" command executed for the library after it was compiled.
Empty output of the command I suggested means that there is no debug info in the library.
You can also check that with gdb - looking source for the functions inside this library should not be possible.