Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Erez_Zilber
Beginner
48 Views

Application runs very slow in locksandwaits mode

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
48 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

Erez_Zilber
Beginner
48 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
Mark_D_Intel
Employee
48 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
Reply