Difference between revisions of "GPU621 Team 1"

From CDOT Wiki
Jump to: navigation, search
(VTune Tutorial 1: Finding HotSpot)
(VTune Tutorial 2: Identifying False Sharing)
Line 72: Line 72:
 
<br />
 
<br />
  
== VTune Tutorial 2: Identifying False Sharing ==
+
== VTune Tutorial 2: Locks and Wait Tutorial ==
  
 +
'''1. Prepare for Analysis'''
  
 +
Note: configuration step is skipped and using default application configuration.
 +
 +
Determine the baseline (total execution time which you will compare subsequent runs of the application).
 +
 +
Do this by running the application for the first time.
 +
 +
After running the application, the baseline for the first run is 6.063s.
 +
 +
[[File:1.PNG]]
  
 
== VTune Tutorial 3: Disk input Output Analysis ==
 
== VTune Tutorial 3: Disk input Output Analysis ==

Revision as of 18:55, 30 November 2016

What is VTune Amplifier?

Where can you get it?

Getting Started

VTune Tutorial 1: Finding HotSpot

1.png

This example program will be downloaded when you install VTune Amplifier. Following is the directory that contain the sample code from Intel.

[Program Files]\IntelSWTools\VTune Amplifier XE <version>\sample

Open the project using Visual Studio. Then you can run the the VTune Amplifier and click new Analysis. (You need to download Vtune Amplifier to have that tab on Visual Studio)

Tim Hotspt 2.png

This should be the next page you will get. You begin to choose different type of Analysis here. We are going do a Basic Hotpots Analysis.Then click start to start the Analysis.

Tim Hotspt 3.png

The program should run itself after you begin.You will notice that the image is loading from the bottom to the top. After the program finish running, it will take a while for Amplifer to generate report.

Tim Hotspt 4.png

After the program finish running, it will take a while for Amplifer to generate report.

Tim Hotspt 5.png

The first page will shows a summary of the program.The time it took, the top hotspots, CPU usage etc. We will focus looking at the Hotspots table. we notice that the "initialize_2D_buffer" use the most the CPU time. If you look at the code on find_hotspots.cpp you will notice it is actually one function in side that cpp file

Tim Hotspt 7.png

We go to the bootom up tab. it will give you a graph that shows the Hotspots table you got. You can clearly see that "initialize_2D_buffer" use the most time compare to the other function.

Tim Hotspt 8.png

If we double click on this function we it will shows the sources code and shows you which line of the code actually use the most time in the specific function. Now we can tell that most of the time are spend on the while loop.

Tim Hotspt 9.png

To compare a paralleled version of this code I already have a program that use CILK PLUS to parallelize that program. Below is the link to download that code. Simply replace the find_hotspots.cpp with this code, build it and run the Analysis again.

Link:File:Find hotspots.zip



Tim Hotspt 10.png wfawf


Tim Hotspt 11.png wfawf


Tim Hotspt 12.png wfawf

VTune Tutorial 2: Locks and Wait Tutorial

1. Prepare for Analysis

Note: configuration step is skipped and using default application configuration.

Determine the baseline (total execution time which you will compare subsequent runs of the application).

Do this by running the application for the first time.

After running the application, the baseline for the first run is 6.063s.

1.PNG

VTune Tutorial 3: Disk input Output Analysis

Resources