Open main menu

CDOT Wiki β

Changes

GPU621 Team 1

2,035 bytes added, 19:36, 30 November 2016
VTune Tutorial 2: Locks and Wait Tutorial
'''2. Find lock'''
a'''2a. ''' Choose and run locks and waits analysis:
With visual studio, click on "new analysis".
[[File:4.PNG]]
b'''2b. ''' Interpret result data: To interpret the data on the sample code performance, do the following: 1. Analyze the basic performance metrics.2. Identify locks.  Analyze the basic performance metrics: The Result summary section provides data on the overall application performance per the following metric: [[File:5.PNG]] 1.) Elapsed Time is the total time the application ran, including data allocation and calculations 2.) Wait Time occurs when software threads are waiting due to APIs that block or cause synchronization. Wait Time is calculated per thread, so the total wait time may exceed the application Elapsed time. Expand the wait time metric to view a distribution per processor utilization level. In the sample application, most of the Wait time is characterized with an ineffective processor usage. 3.) Wait Count is the overall number of times the system wait API was called for the analyzed application. 4.) Spin Time is the time a thread is active in a synchronization construct; the current value exceeds the threshold, so it classified as a performance issue and highlighted in pink. 5.) CPU Time is the sum of CPU time for all threads. 6.) Total Thread Count is the number of threads in the application.  7.) Paused Time is the amount of Elapsed time during which the analysis was paused via GUI, CLI commands, or user API. For the analyze_locks application, the Wait time is high, to identify the cause you need to understand how this Wait time was distributed per synchronization objects. The Top Waiting Objects section provides the list of synchronization objects with the highest Wait Time and Wait Count, sorted by the Wait Time metric. [[File:6.PNG]]  For the analyze_locks application, focus on the first three objects and explore the Bottom-up pane for more details. The Thread Concurrency Histogram represents the Elapsed time and concurrency level for the specified number of running threads. Ideally, the highest bar of your chart should be within the OK or Ideal utilization range.  [[File:7.PNG]]
== VTune Tutorial 3: Disk input Output Analysis ==
47
edits