Community support for Analyzers (Intel VTune™ Profiler, Intel Advisor, Intel Inspector)
4894 Discussions

Data collection on Linux not working

I am attempting to get VTune Amplifier working to the point where I can collect data on a Linux system and view the results on my windows system. I have VTune installed on my windows box and am able to use it to attach to processes and perform Hotspot analysis. However I am having trouble doing the same on Linux. I have downloaded the trial version of VTune Amplifier XE for linux in order to use the CLI for collecting data. I believe that it is not necessary to have a full Linux license in order to do this, is this correct?
So this is what I have done so far:
1. Written a short program called helloworld in VS2010 that simply runs in a loop for a period of time (a couple of minutes).
2. Compiled this on VS2010 and gcc 4.1.2.
3. Started helloworld from the command line on windows.
4. In the VTune GUI, created a project called HelloWorld and pointed it at the helloworld.exe process. It recognises the process name and attaches no problem.
5. 10 seconds later data collection stops, the results are finalised and displayed on the screen.
6. Started helloworld on my linux system.
7. Run the command line collector program:
phil@lonschdev04 /opt/intel/vtune_amplifier_xe/bin32
$ amplxe-cl -collect hotspots -knob accurate-cpu-time-detection=true -follow-child -target-duration-type=short -no-allow-multiple-runs -no-analyze-system -data-limit=100 -slow-frames-threshold=40 -fast-frames-threshold=100 --duration 10 --target-process helloworld -result-dir /tmp/vtune
Warning: Old version of OpenMP* runtime was detected. Collection results may be incomplete.
Using result path `/tmp/vtune'
Executing actions 16 % Loading data files
Warning: Cannot load data file `/tmp/vtune/data.0/8849-4998.0.log' ().
Executing actions 50 % Saving the result
Warning: Skipped generation of report `summary': no valid license can be found (Your license file is unavailable for undetermined reasons. The error code is `-76'.).
Executing actions 50 % done
8. This produces a set of files and directories within/tmp/vtune which I then copy to my windows system under a subdirectory within the VTune HelloWorld project directory.
9. Within the VTune GUI I then click File->Open->Project and browse tovtune.amplxe which is the file produced by the collector on linux.
10. The VTune GUI says 'Opening Result...' and stays there indefinitely.
Any suggestions on what I am doing incorrectly? Are the warnings given above significant?
If you need any more information or files then I can provide it.
0 Kudos
3 Replies
Black Belt
Amplifier has no support for gcc on Windows. You would be able to analyze a gcc project only on linux.
libgomp from gcc 4.1 may be unsatisfactory. If you are analyzing a "hello world" which requires OpenMP, a more recent gcc should be better. The oldest gcc with any current support is 4.4. You must take care that only one OpenMP library is linked into your application.
0 Kudos
Your workflow should be correct (run on Linux w/o license, copy result directory to Windows, open on Windows). (What Tim referred to as not supported is analyzing results where the executable is compiled with gcc on Windows).

What version of Amplifier XE are you using (is the same on Linux and Windows? If the version on Linux is newer the version on Windows, there could possibly be trouble opening the results on Windows)
Also, what version of Linux?

You could also try an example w/o OpenMP and see if that works, and/or try launching the executable directly (without attaching): amplxe-cl -collect hotspots -result-dir /tmp/vtune helloworld
0 Kudos
So I managed to get it working by getting the latest windows version. Previously I had update 3 of the GUI. I installed update 9 and it worked.
I then moved on to trying to get hardware EBS working.
So I then ran:
amplxe-cl -collect nehalem-general-exploration -follow-child -target-duration-type=short -no-allow-multiple-runs -no-analyze-system -data-limit=100 -slow-frames-threshold=40 -fast-frames-threshold=100 --target-process shmdemo
and it said something along the lines of:
"VTune Sampling driver kit not accessible". So I then did (as root):
rmmod pax
insmod-sep3 -g users
boot-script --install
I had to do the rmmod pax because simply removing and installing sep3 did not work. It complained that pax had a different group (vtune).
So then I ran the above command again and the machine became unresponsive and needed a reboot.
If it helps, the CPU model name is:
model name : Intel Xeon CPU X5650 @ 2.67GHz
0 Kudos