I have compiled the fortran program with different optimization flags. I have one program with default optimization flag -O2 and another compiled program with -fast optimization flag. I was able to open the program compiled with optimization flag -O2. So, when we try to load the program in Vtune, the program also executes ?
However, when I try to load the program compiled with the optimization flag -fast, Vtune throws an error "Failed to finalize the result". The result you are opening is empty. This may be caused by an error during the data collection. What does this actually mean ? I went throught other threads in this forum , but couldn't quite understand what it means.
The collector Messages I got are as follows:
Error: Binary file of the analysis target does not contain symbols required for profiling. See documentation for more details.
Error: Valid dlopen symbol is not found in the static binary of the analysis target.
I am using ubuntu 12.04 system.
Thanks so much. Please reply soon.
My comments are:
1. You have to use "-g" option to generate symbole info in binary.
2. You should not use "static" to link, should use "dynamic" to linke - since VTune(TM) Amplifier XE will instrumnt binary in process memory, it means your binary should be relocated
Thank you so much for your reply. I have another problem here regarding the openmp. I have a program that is compiled with openmp flag. When I tryt to load that openmp compiled program then I get an error "error while loading shared libraries shared object file: No such file or directory". If I run that program alone it runs fine. But when loaded in vtune it throws an error.Could you please let me know how can I link the library while executing from vtune ? I have used -g flag while compiling the code.
[..When I tryt to load that openmp compiled program then I get an error "error while loading shared libraries shared object file: No such file or directory". If I run that program alone it runs fine...] Probably you had compiler enviornment after building your OpenMP app, and ran it without VTune smoothly, but VTune ran in another console which had no compiler environment settings to find OpenMP libraries.
1. Run app in Compiler's environment console, without VTune
2. In this console, run amplxe-gui or amplxe-cl
In another console, set compiler with OpenMP environment (for example, if you use Intel C++ composer XE)
# source /opt/intel/composer_xe_2013.1.117/bin/compilervars.sh intel64