Support for Analyzers (Intel VTune™ Profiler, Intel Advisor, Intel Inspector)

locksandwaits on Linux


I'm using Xeon X7560 with Linux (SLES11sp1)
My Vtune Amplifier version is:

> amplxe-cl -version
Intel VTune Amplifier XE 2011 Update 1 (build 128765) Command Line Tool
Copyright (C) 2009-2010 Intel Corporation. All rights reserved.

I've tried nehalem_general-exploration and lightweight-hotspots, and theyworked perfectly by attaching the pid of my application.

But when I try locksandwaitsas the following, my application is not starting up at all:

> amplxe-cl -collect=locksandwaits my_binary

Warning: Old version of OpenMP runtime was detected. Collection results may be incomplete
Warning: Old version of OpenMP runtime was detected. Collection results may be incomplete
Using result path `/my_current_directory/r006lw'
Executing actions 74 % Generating a report
Average Concurrency: 1.000
Elapsed Time: 1.456
CPU Time: 0.090
Wait Time: 0.003
Executing actions 99 % done

My application and the collection just immediately starts to finalize.
-duration option didn't help.

And this also happens in amplxe-gui. Whenever I press the start button, it starts to collect and tries to show me the result without starting my application.

I have tried the same commands with /usr/bin/top. This one worked.

Could thissomething related to fork? my application forks multiple threads when startup.


0 Kudos
1 Reply
When running locksandwiats analysis you're statingmy_binary as "Launch application". This means that Amplifier XE should start it and wait until it finishes. In other collection types you used "attach to process" option - I assume you started your app manually and than attached Amplifier XE for collection. Is this correct?
If you try the collection type that worked in "attach to process" mode, e.g.lightweight-hotspots the same way as you're running locksandwaits, does it work as expected?
Is it possible to provide short sample of code with forks for which locksandwaits doesn't start?