Changes

Jump to: navigation, search

GPU621 Team Tsubame

1,026 bytes added, 11:04, 22 November 2016
How do you actually use it?
1. Download and unzip Prefix Scan.zip to a preferred location and open it with Visual Studio 2015.
Note: the project/solution does not have to be Prefix Scan; you can still follow the same steps with a different project.
2. Set the Balanced Tree project as StartUp Project.
 
[[File:Gpu-project 1-2.png]]
3. Find the Advisor’s directory by executing the following command in cmd.exe: >set advisor
b. In C/C++ > General > Debug Information Format, confirm it is set to Program Database (/Zi).
[[File:Gpu-project 1-4-b.png]]
c. In Linker > Debugging > Generate Debug Info, set it to Optimize for debugging (/DEBUG).
[[File:Gpu-project 1-4-c.png]]
d. In C/C++ > Optimization > Optimization, confirm it is set to Maximize Speed (/O2) or higher.
e. On the same page, set Inline Function Expansion to Only __inline (/Ob1).
[[File:Gpu-project 1-4-e.png]]
f. In C/C++ > Code Generation > Runtime Library, confirm it has been set to Multi-threaded DLL (/MD); another option is to set this field to Multi-threaded Debug DLL (/MDd).
[[File:Gpu-project 1-4-f.png]]
g. Enable OpenMP under C/C++ > Language > OpenMP Support by setting it to Generate Parallel Code (/Qopenmp).
[[File:Gpu-project 1-4-g.png]]
h. Click OK to save the properties.
5. Comment out the “terminate” section in w3.main.cpp to end the application without waiting for user input.
 
[[File:Gpu-project 1-5.png]]
6. Clean the Solution and Build the Project to generate the binary.
 
[[File:Gpu-project 1-6-l.png]]
[[File:Gpu-project 1-6-r.png]]
7. Launch Advisor through Windows Start > All Programs > Intel Parallel Studio XE 2017 > Analyzers > Advisor 2017
8. Select File > New > Project… to start a new project.
 
[[File:Gpu-project 1-8.png]]
9. Provide a name for the project in the Create a Project window.
[[File:Gpu-project 1-9.png]] 
10. Under the Analysis Target tab, add the location of the Balance Tree.exe to the Application field using the Browse… button beside the field (or type the path in manually).
11. In the Application parameters field, add the parameters to use when executing the application.
 
[[File:Gpu-project 1-11.png]]
12. Ensure the Inherit settings from Survey Hotspots Analysis Type checkbox is checked in Suitability Analysis and Dependencies Analysis.
 
[[File:Gpu-project 1-12-t.png]]
 
[[File:Gpu-project 1-12-b.png]]
13. Check Collect information about FLOPS, L1 memory traffic, and AVX-512 mask usage for a complete Trip Count Analysis; this step is optional.
 
[[File:Gpu-project 1-13.png]]
14. Under the Binary/Symbol Search tab, add the visual studio project’s Release folder as a search directory. There will be warnings saying you are missing some symbols during the Survey Analysis, please ignore them.
 
[[File:Gpu-project 1-14.png]]
15. Under the Source Search tab, provide the location of the application’s source code.
 
[[File:Gpu-project 1-15.png]]
16. Select OK to complete the project creation process.
1. Allow Advisor to survey the application by clicking on the Collect button under the Threading Workflow tab (on the left panel).
 
[[File:Gpu-project 2-1.png]]
2. Continue profiling by running the Trip Counts and FLOPS analysis.
 
[[File:Gpu-project 2-2.png]]
''' Further Analysis: '''
2. To add annotations, include the <advisor-annotate.h> header file.
 
[[File:Gpu-project 3-2.png]]
3. Mark a possible parallel site and task with the following macros:
[[File:Gpu-project 3-3.png]]
 
Here is the syntax for the annotations:
ANNOTATE_SITE_BEGIN(Site 1);
5. Checking the checkboxes beside certain sites will mark them for deeper analyses.
 
[[File:Gpu-project 3-5.png]]
6. With one of the sites checked, run the Dependencies Analysis.
 
[[File:Gpu-project 3-6.png]]
7. For this example, there should be no dependencies. However, this is one warning: One task in parallel site; right click on the warning and select the What Should I Do Next? option.
NOTE: the What Should I Do Next? option is very useful for opening the documentations on the module you are pointing at.
 
[[File:Gpu-project 3-7.png]]
8. Go back to the Survey Report and uncheck the Deeper Analysis checkbox beside the target site.
9. Once you have annotated the sites and their tasks, run the Suitability Analysis.
 
[[File:Gpu-project 3-9.png]]
10. Since OpenMP is the focus of this workshop, change the Threading Model to OpenMP. Next, set the CPU Count to the amount of processors available on the machine.
 
[[File:Gpu-project 3-10.png]]
11. Load Imbalance and Runtime Overhead will change as you modify the Avg. Number of Iterations (Tasks) and the Avg. Iteration (Task) Duration sliders and click Apply.
 
[[File:Gpu-project 3-11.png]]
12. Estimated performance will also increase if you check the Runtime Modeling checkboxes that have benefits attached. The blue links will explain the means to enable the enhancements.
 
[[File:Gpu-project 3-12.png]]
=== Resources ===
240
edits

Navigation menu