Analyzers
Talk to fellow users of Intel Analyzer tools (Intel VTune™ Profiler, Intel Advisor)
4995 Discussions

Application runs very slow in locksandwaits mode

Erez_Zilber
Beginner
246 Views
Hi,

I'm running vtune on my application in 2 modes: hotspots & locksandwaits. When I run in locksandwaits mode, the application is very slow. Because of that (I think), I don't see any lock contention. I know that when I run without vtune, the app runs much faster, and I have at least one mutex that many threads try to grab.

Any ideas how to make the app run faster under vtune? Am I doing something wrong?

Thanks,
Erez
0 Kudos
3 Replies
Peter_W_Intel
Employee
246 Views

Hi Erez,

Locks and Waits analysis will monitor all system APIs (or your own) for synchronization objects or I/O operations, how they impact on performance.

In project properties, you can unselect "Collect Spin time data" item, unselect "Collect signals" item to reduce overheads from the tool. However excluding none interest of modulesis not supported.This means that all modules (used in your program) will be monitored.

Another thing is that you may reduce your test data, sometime it may helps to reduce overheads. For example, using application to test image process size 320x180 is much better than size 1024x768.

Regards, Peter

0 Kudos
Erez_Zilber
Beginner
246 Views
Hi Peter,

I'm using the CLI. I couldn't find how can I disable these 2 ("Collect Spin time data" & "Collect signals") from the CLI. Is it supported?

Thanks,
Erez
0 Kudos
Mark_D_Intel
Employee
246 Views
Some of these options specific to an analysis type are called 'knobs', and can be listed with '-knob-list '.

For example, 'amplxe-cl -knob-list locksandwaits' will output:

collect-spin-data

Collect synchronization Spin time to identify how long logical CPUs are
executing while their software threads are waiting.

Default value: true
Possible values: true false


collect-signals

Select to view synchronization transitions in the timeline and identify
signalling call stacks for associated waits. The collector instruments
signalling APIs, which causes higher runtime overhead and increases result
size.

Default value: true
Possible values: true false



Use these with the '-knob' option. For example,

amplxe-cl -collect locksandwaits -knob collect-spin-data=false -knob collect-signals=false

Hope this explains it,
Mark
0 Kudos
Reply